Compartilhar via


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:

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