Compartilhar via


Connect-DataGatewayServiceAccount

Conecte-se ao serviço do Gateway de Dados.

Sintaxe

User (Padrão)

Connect-DataGatewayServiceAccount
    [-Environment <PowerBIEnvironmentType>]
    [<CommonParameters>]

ServicePrincipal

Connect-DataGatewayServiceAccount
    -ApplicationId <String>
    -ClientSecret <SecureString>
    [-Tenant <String>]
    [-Environment <PowerBIEnvironmentType>]
    [<CommonParameters>]

ServicePrincipalCertificate

Connect-DataGatewayServiceAccount
    -ApplicationId <String>
    -CertificateThumbprint <String>
    [-Tenant <String>]
    [-Environment <PowerBIEnvironmentType>]
    [<CommonParameters>]

Description

Conecte-se ao serviço do Gateway de Dados com uma conta de usuário ou entidade de serviço (segredo do aplicativo ou certificado).

Para contas de usuário, um aplicativo First-Party do Azure Active Directory (AAD) é aproveitado para autenticação.

Siga "Criando um aplicativo do Azure AD" para criar uma conta de entidade de serviço.

Para fazer logon, chame Disconnect-DataGatewayServiceAccount.

Exemplos

Criando um aplicativo do Azure AD

Para criar um aplicativo do Azure AD compatível com os cmdlets DataGateway*, execute o script a seguir que usa o módulo Microsoft.Graph

# In the Azure portal these will show as the Permission names "Tenant.Read.All" and "Tenant.ReadWrite.All" with the "Application" type under the Power BI Service API
$resourceAccessItems = @(
                        @{Id="654b31ae-d941-4e22-8798-7add8fdf049f";Type="Role"},
                        @{Id="28379fa9-8596-4fd9-869e-cb60a93b5d84";Type="Role"}
                        );
# In the Azure portal the ResourceAppId below is the Power BI Service
$resourceAccess = @{ResourceAppId="00000009-0000-0000-c000-000000000000"; ResourceAccess=$resourceAccessItems};

# Create the application, if you do not want the application to have full permissions remove the -RequiredResourceAccess argument
$newApp = New-MgApplication -DisplayName "DataGatewayApplication" -RequiredResourceAccess $resourceAccess

# Optionally, create a secret for the new application
$applicationPasswordRequestOptions = @{PasswordCredential=@{DisplayName="ClientSecret"}}
$applicationPasswordResponse = Add-MgApplicationPassword -ApplicationId $newApp.Id -BodyParameter $applicationPasswordRequestOptions
$clientSecret = $pwd.SecretText | ConvertTo-SecureString -AsPlainText -Force

Depois de executar o script acima, há mais algumas etapas a serem concluídas:

  1. Crie um novo segredo (se você não criou um com o script acima) ou use um certificado. Para obter mais informações, consulte certificados e segredos.

  2. Conceda consentimento do administrador para o aplicativo com as permissões configuradas se você especificou o argumento RequiredResourceAccess. Para obter mais informações, consulte Conceder consentimento do administrador em registros de aplicativo.

Exemplo 1

PS C:\> Connect-DataGatewayServiceAccount

Faz login usando a autenticação do usuário na nuvem pública, um prompt será exibido para coletar credenciais.

Exemplo 2

PS C:\> Connect-DataGatewayServiceAccount -Environment China

Faz login usando a autenticação do usuário na nuvem da China, um prompt será exibido para coletar credenciais.

Exemplo 3

PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -ClientSecret (Read-Host "Enter client secret" -AsSecureString) -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0

Faz logon usando um serviço no locatário especificado na nuvem pública, um prompt será exibido de Read-Host para ler o segredo do aplicativo cliente.

Exemplo 4

PS C:\> ConvertFrom-SecureString -SecureString (Read-Host "Enter client secret" -AsSecureString) | Out-File -FilePath .\encryptedClientSecret.txt
PS C:\> $secureClientSecret = (cat .\encryptedClientSecret.txt | ConvertTo-SecureString)
PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -ClientSecret $secureClientSecret -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0

Faz logon usando um serviço no locatário especificado na nuvem pública usando um segredo do cliente armazenado com segurança em um arquivo para tornar o cmdlet não interativo.

Exemplo 5

PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -CertificateThumbprint 38DA4BED389A014E69A6E6D8AE56761E85F0DFA4 -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0

Faz logon usando uma entidade de serviço no locatário especificado com um certificado instalado na nuvem pública. O certificado deve ser instalado no repositório de certificados CurrentUser ou LocalMachine (LocalMachine requer acesso de administrador) com uma chave privada instalada.

Parâmetros

-ApplicationId

ID do aplicativo AAD (Azure Active Directory) (também conhecida como ID do cliente) a ser usada com uma conta de entidade de serviço.

Para obter mais informações sobre aplicativos e entidades de serviço, consulte objetos de aplicativo e entidade de serviço no Azure Active Directory.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ServicePrincipal
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
ServicePrincipalCertificate
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CertificateThumbprint

Impressão digital de um certificado instalado associado a um aplicativo do Azure Active Directory (AAD). O certificado deve ser instalado nos repositórios de certificados pessoais CurrentUser ou LocalMachine (LocalMachine requer um prompt de administrador para acessar) com uma chave privada instalada.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ServicePrincipalCertificate
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ClientSecret

Segredo do cliente do aplicativo para a entidade de serviço.

Propriedades do parâmetro

Tipo:SecureString
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ServicePrincipal
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Environment

Ambiente de nuvem para se conectar. O padrão é Público.

Propriedades do parâmetro

Tipo:PowerBIEnvironmentType
Valor padrão:None
Valores aceitos:Public, Germany, USGov, China, USGovHigh, USGovMil
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Tenant

Nome do locatário ou ID do locatário que contém a conta da entidade de serviço. Se não for especificado, o locatário COMMON será usado.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:ID do Inquilino (TenantId)

Conjuntos de parâmetros

ServicePrincipal
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
ServicePrincipalCertificate
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

Saídas

Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile