Share via


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:

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

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