Connect-DataGatewayServiceAccount
Stellen Sie eine Verbindung mit dem Datengatewaydienst her.
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>]
Beschreibung
Stellen Sie eine Verbindung mit dem Datengatewaydienst mit einem Benutzer- oder Dienstprinzipalkonto (Anwendungsschlüssel oder Zertifikat) her.
Bei Benutzerkonten wird eine Azure Active Directory (AAD) First-Party Anwendung für die Authentifizierung genutzt.
Folgen Sie der "Erstellung einer Azure AD-Anwendung", um ein Dienstprinzipalkonto zu erstellen.
Zum Abmelden des Anrufs "Disconnect-DataGatewayServiceAccount"
Beispiele
Erstellen einer Azure AD-Anwendung
Um eine Azure AD-Anwendung zu erstellen, die mit den DataGateway*
Cmdlets kompatibel ist, führen Sie das folgende Skript aus, das das Microsoft.Graph
Modul verwendet.
# 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
Nach dem Ausführen des obigen Skripts gibt es einige weitere Schritte zum Ausführen:
Erstellen Sie einen neuen geheimen Schlüssel (wenn Sie ein Geheimnis mit dem obigen Skript nicht erstellt haben) oder verwenden Sie ein Zertifikat. Weitere Informationen finden Sie unter Zertifikaten und geheimen Schlüsseln.
Erteilen Sie der Administratorzustimmung für die Anwendung mit den konfigurierten Berechtigungen, wenn Sie das
RequiredResourceAccess
Argument angegeben haben. Für weitere Informationen, siehe Erteilen der Administratoreinwilligung in App-Registrierungen.
Beispiel 1
PS C:\> Connect-DataGatewayServiceAccount
Meldet sich mit der Benutzerauthentifizierung für die öffentliche Cloud an, wird eine Aufforderung zum Sammeln von Anmeldeinformationen angezeigt.
Beispiel 2
PS C:\> Connect-DataGatewayServiceAccount -Environment China
Meldet sich bei der Verwendung der Benutzerauthentifizierung für die China-Cloud an, wird eine Aufforderung zum Sammeln von Anmeldeinformationen angezeigt.
Beispiel 3
PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -ClientSecret (Read-Host "Enter client secret" -AsSecureString) -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0
Meldet sich mit einem Dienst im angegebenen Mandanten in der öffentlichen Cloud an, wird eine Eingabeaufforderung angezeigt Read-Host
, um Ihren geheimen Clientanwendungsschlüssel zu lesen.
Beispiel 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
Meldet sich mit einem Dienst im angegebenen Mandanten in der öffentlichen Cloud an, wobei ein geheimer Clientschlüssel sicher in einer Datei gespeichert ist, um das Cmdlet nicht interaktiv zu machen.
Beispiel 5
PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -CertificateThumbprint 38DA4BED389A014E69A6E6D8AE56761E85F0DFA4 -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0
Meldet sich mit einem Dienstprinzipal im angegebenen Mandanten mit einem installierten Zertifikat in der öffentlichen Cloud an. Das Zertifikat muss entweder im CurrentUser- oder LocalMachine-Zertifikatspeicher installiert sein (LocalMachine erfordert Administratorzugriff), wobei ein privater Schlüssel installiert ist.
Parameter
-ApplicationId
Azure Active Directory (AAD)-Anwendungs-ID (auch als Client-ID bezeichnet), die mit einem Dienstprinzipalkonto verwendet werden soll.
Weitere Informationen zu Anwendungen und Dienstprinzipalen finden Sie unter Anwendungs- und Dienstprinzipalobjekte in Azure Active Directory.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CertificateThumbprint
Zertifikat-Fingerabdruck eines installierten Zertifikats, das einer Azure Active Directory -Anwendung (AAD) zugeordnet ist. Das Zertifikat muss entweder in den Persönlichen Zertifikatspeichern "CurrentUser" oder "LocalMachine" (LocalMachine erfordert eine Administratoraufforderung für den Zugriff) mit einem installierten privaten Schlüssel installiert sein.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClientSecret
Clientschlüssel der Anwendung für den Dienstprinzipal.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Environment
Cloudumgebung, mit der eine Verbindung hergestellt werden soll. Der Standardwert ist "Öffentlich".
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
Mandantenname oder Mandanten-ID, die das Dienstprinzipalkonto enthält. Falls nicht angegeben, wird der COMMON
Mandant verwendet.
Type: | String |
Aliases: | TenantId |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
None
Ausgaben
Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile