Connect-DataGatewayServiceAccount
Conecte-se ao serviço do Gateway de Dados.
Syntax
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 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 do Azure Active Directory (AAD) First-Party é utilizado para autenticação.
Siga o "Criando um aplicativo Azure AD" para criar uma conta de entidade de serviço.
Para fazer logon, chame Disconnect-DataGatewayServiceAccount.
Exemplos
Criando um aplicativo Azure AD
Para criar um aplicativo Azure AD compatível com os DataGateway*
cmdlets, execute o script a seguir que usa o Microsoft.Graph
módulo
# 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:
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 do administrador para o aplicativo com as permissões configuradas se você especificou o
RequiredResourceAccess
argumento. Para obter mais informações, confira Fornecer consentimento do administrador nos registros de aplicativo.
Exemplo 1
PS C:\> Connect-DataGatewayServiceAccount
Faz logon 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 logon 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 para ler o segredo do Read-Host
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 de aplicativo do Azure Active Directory (AAD) (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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CertificateThumbprint
Impressão digital do certificado de um certificado instalado associado a um aplicativo do AAD (Azure Active Directory). 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClientSecret
Segredo do cliente do aplicativo para a entidade de serviço.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Environment
Ambiente de nuvem com o qual se conectar. O padrão é Público.
Type: | PowerBIEnvironmentType |
Accepted values: | Public, Germany, USGov, China, USGovHigh, USGovMil |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tenant
Nome do locatário ou ID de locatário que contém a conta da entidade de serviço. Se não for especificado, o COMMON
locatário será usado.
Type: | String |
Aliases: | TenantId |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
Saídas
Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile