Connect-DataGatewayServiceAccount
Connettersi al servizio Data Gateway.
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 entità servizio (segreto applicazione o certificato).
Per gli account utente, per l'autenticazione viene sfruttata un'applicazione First-Party Azure Active Directory (AAD).
Seguire la sezione "Creazione di un'applicazione Azure AD" per creare un account dell'entità servizio.
Per disconnettersi, chiamare Disconnect-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, ci sono alcuni altri passaggi da completare:
Creare un nuovo segreto (se non ne è stato creato uno con lo script precedente) o utilizzare un certificato. Per altre informazioni, consultare Certificati e segreti.
Concedere il consenso dell'amministratore per l'applicazione con le autorizzazioni configurate, se l'argomento
RequiredResourceAccess
è stato specificato. Per altre informazioni, vedere Concedere il consenso amministratore in Registrazioni app.
Esempio 1
PS C:\> Connect-DataGatewayServiceAccount
Se si accede utilizzando l'autenticazione utente nel cloud pubblico, verrà visualizzato un messaggio per raccogliere le credenziali.
Esempio 2
PS C:\> Connect-DataGatewayServiceAccount -Environment China
Se si accede utilizzando l'autenticazione utente nel cloud cinese, verrà visualizzato un messaggio per la raccolta delle 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
Accede utilizzando un servizio nel tenant specificato nel cloud pubblico, verrà visualizzato un messaggio 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
Accede usando 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
Accede usando 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 come 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.
Per altre informazioni sulle applicazioni e sulle entità servizio, vedere Oggetti applicazione ed entità servizio in Azure Active Directory.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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 una richiesta di amministratore per l'accesso) con una chiave privata installata.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ClientSecret
Segreto client dell'applicazione per l'entità servizio.
Tipo: | SecureString |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Environment
Ambiente cloud a cui connettersi. Il valore predefinito è Pubblico.
Tipo: | PowerBIEnvironmentType |
Valori accettati: | Public, Germany, USGov, China, USGovHigh, USGovMil |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Tenant
Nome del tenant o ID tenant contenente l'account dell'entità servizio. Se non specificato, viene utilizzato il COMMON
tenant.
Tipo: | String |
Alias: | TenantId |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Output
Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile