Connect-DataGatewayServiceAccount
Conecte-se ao serviço do 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 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 AAD (Azure Active Directory) First-Party é 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:
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 argumento
RequiredResourceAccess
. Para obter mais informações, consulte Conceder consentimento do administrador em 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 de 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.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ClientSecret
Segredo do cliente do aplicativo para a entidade de serviço.
Tipo: | SecureString |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Environment
Ambiente de nuvem com o qual se conectar. O padrão é Público.
Tipo: | PowerBIEnvironmentType |
Valores aceitos: | Public, Germany, USGov, China, USGovHigh, USGovMil |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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.
Tipo: | String |
Aliases: | TenantId |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
None
Saídas
Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile