Compartilhar via


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:

  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 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