Condividi tramite


Connect-DataGatewayServiceAccount

Connettersi al servizio Gateway dati.

Sintassi

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

Descrizione

Connettersi al servizio Gateway dati con un account utente o un'entità servizio (segreto dell'applicazione o certificato).

Per gli account utente, un'applicazione azure Active Directory (AAD) First-Party viene sfruttata per l'autenticazione.

Seguire la sezione "Creazione di un'applicazione Azure AD" per creare un account dell'entità servizio.

Per disconnettersi chiama Disconnessione-DataGatewayServiceAccount.

Esempio

Creazione di un'applicazione Azure AD

Per creare un'applicazione Azure AD compatibile con i DataGateway* cmdlet, eseguire lo script seguente che usa il Microsoft.Graph modulo

# 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

Dopo aver eseguito lo script precedente, sono necessari alcuni passaggi per completare:

  1. Creare un nuovo segreto (se non è stato creato uno con lo script precedente) o usare un certificato. Per altre informazioni, vedere la sezione "Certificati e segreti" da https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal#certificates-and-secrets

  2. Concedere il consenso amministratore per l'applicazione con le autorizzazioni configurate se è stato specificato l'argomento RequiredResourceAccess . Per altre informazioni, vedere la sezione "Concedere il consenso amministratore in Registrazioni app" dahttps://docs.microsoft.com/en-us/azure/active-directory/manage-apps/grant-admin-consent#grant-admin-consent-in-app-registrations

Esempio 1

PS C:\> Connect-DataGatewayServiceAccount

Accedere con l'autenticazione utente nel cloud pubblico, verrà visualizzato un prompt per raccogliere le credenziali.

Esempio 2

PS C:\> Connect-DataGatewayServiceAccount -Environment China

Accedere usando l'autenticazione utente nel cloud cinese, verrà visualizzato un prompt per raccogliere le credenziali.

Esempio 3

PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -ClientSecret (Read-Host "Enter client secret" -AsSecureString) -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0

Accedere all'uso di un servizio nel tenant specificato nel cloud pubblico, verrà visualizzato un prompt da Read-Host per leggere il segreto dell'applicazione client.

Esempio 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

Accedere all'uso di un servizio nel tenant specificato nel cloud pubblico usando un segreto client archiviato in modo sicuro in un file per rendere il cmdlet non interattivo.

Esempio 5

PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -CertificateThumbprint 38DA4BED389A014E69A6E6D8AE56761E85F0DFA4 -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0

Accedere con un'entità servizio nel tenant specificato con un certificato installato nel cloud pubblico. Il certificato deve essere installato nell'archivio certificati CurrentUser o LocalMachine (LocalMachine richiede l'accesso amministratore) con una chiave privata installata.

Parametri

-ApplicationId

ID applicazione azure Active Directory (AAD) (noto anche come ID client) da usare con un account dell'entità servizio.

Altre informazioni sulle applicazioni e sulle entità servizio: https://docs.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

Identificazione personale del certificato di un certificato installato associato a un'applicazione Azure Active Directory (AAD). Il certificato deve essere installato negli archivi certificati personali CurrentUser o LocalMachine (LocalMachine richiede un prompt di amministratore per accedere) con una chiave privata installata.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ClientSecret

Segreto client dell'applicazione per l'entità servizio.

Type:SecureString
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Environment

Ambiente cloud da connettere. Il valore predefinito è Public.

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 tenant o ID tenant contenente l'account dell'entità servizio. Se non specificato, viene usato il COMMON tenant.

Type:String
Aliases:TenantId
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

None

Output

Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile