Connect-DataGatewayServiceAccount
Conecte-se ao serviço Gateway de Dados.
Sintaxe
Connect-DataGatewayServiceAccount
[-Environment <PowerBIEnvironmentType>]
[<CommonParameters>]
Connect-DataGatewayServiceAccount
-ApplicationId <String>
-ClientSecret <SecureString>
[-Tenant <String>]
[-Environment <PowerBIEnvironmentType>]
[<CommonParameters>]
Connect-DataGatewayServiceAccount
-ApplicationId <String>
-CertificateThumbprint <String>
[-Tenant <String>]
[-Environment <PowerBIEnvironmentType>]
[<CommonParameters>]
Description
Conecte-se ao serviço Gateway de Dados com uma conta de usuário ou entidade de serviço (segredo ou certificado do aplicativo).
Para contas de usuário, um aplicativo First-Party do Azure Ative Directory (AAD) é aproveitado para autenticação.
Siga a seção "Criando um aplicativo do Azure AD" para criar uma conta principal de serviço.
Para fazer logout, 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 seguinte script 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 para concluir:
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.
Conceda consentimento de administrador para o aplicativo com as permissões configuradas se você especificou o argumento
RequiredResourceAccess
. Para obter mais informações, consulte Conceder consentimento de administrador em Registros de aplicativos.
Exemplo 1
PS C:\> Connect-DataGatewayServiceAccount
Efetua 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
Efetua 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
Efetua login usando um serviço no locatário especificado na nuvem pública, um prompt será exibido a partir 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
Efetua login 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
Efetua login usando uma entidade de serviço no locatário especificado com um certificado instalado na nuvem pública. O certificado deve ser instalado no armazenamento de certificados CurrentUser ou LocalMachine (LocalMachine requer acesso de administrador) com uma chave privada instalada.
Parâmetros
-ApplicationId
ID do aplicativo do Azure Ative Directory (AAD) (também conhecida como ID do cliente) a ser usada com uma conta principal de serviço.
Para obter mais informações sobre aplicativos e entidades de serviço, consulte objetos de entidade de aplicativo e serviço no Azure Ative Directory.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-CertificateThumbprint
Impressão digital do certificado de um certificado instalado associado a um aplicativo do Azure Ative Directory (AAD). O certificado deve ser instalado nos armazenamentos de certificados pessoais CurrentUser ou LocalMachine (LocalMachine requer um prompt de administrador para acessar) com uma chave privada instalada.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ClientSecret
Segredo do cliente do aplicativo para a entidade de serviço.
Tipo: | SecureString |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Environment
Ambiente de nuvem para se conectar. O padrão é Público.
Tipo: | PowerBIEnvironmentType |
Valores aceites: | Public, Germany, USGov, China, USGovHigh, USGovMil |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Tenant
Nome do locatário ou ID do locatário que contém a conta principal do serviço. Se não for especificado, o locatário COMMON
será usado.
Tipo: | String |
Aliases: | TenantId |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
None
Saídas
Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile