Freigeben über


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 (Anwendungsgeheimnis oder Zertifikat) her.

Bei Benutzerkonten wird eine Azure Active Directory (AAD)-First-Party Anwendung für die Authentifizierung genutzt.

Folgen Sie dem "Erstellen einer Azure AD-Anwendung", um ein Dienstprinzipalkonto zu erstellen.

Zum Abmelden des Anrufs Disconnect-DataGatewayServiceAccount.

Beispiele

Erstellen einer Azure AD-Anwendung

Um eine mit den DataGateway* Cmdlets kompatible Azure AD-Anwendung zu erstellen, führen Sie das folgende Skript aus, das das modul Microsoft.Graph 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 sind einige weitere Schritte erforderlich:

  1. Erstellen Sie einen neuen geheimen Schlüssel (wenn Sie keins mit dem obigen Skript erstellt haben), oder verwenden Sie ein Zertifikat. Weitere Informationen finden Sie unter Zertifikate und geheime Schlüssel.

  2. Erteilen Sie der Administratorzustimmung für die Anwendung mit den konfigurierten Berechtigungen, wenn Sie das Argument RequiredResourceAccess angegeben haben. Weitere Informationen finden Sie unter Erteilen der Administratorzustimmung in App-Registrierungen.

Beispiel 1

PS C:\> Connect-DataGatewayServiceAccount

Meldet sich mit der Benutzerauthentifizierung für die öffentliche Cloud an, wird eine Eingabeaufforderung 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 Eingabeaufforderung angezeigt, um Anmeldeinformationen zu sammeln.

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 bei der öffentlichen Cloud an, wird eine Eingabeaufforderung von Read-Host angezeigt, 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 bei der öffentlichen Cloud mit einem geheimen Clientschlüssel an, der 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.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-CertificateThumbprint

Zertifikatfingerabdruck eines installierten Zertifikats, das einer Azure Active Directory (AAD)-Anwendung zugeordnet ist. Das Zertifikat muss entweder in den Persönlichen Zertifikatspeichern "CurrentUser" oder "LocalMachine" installiert sein (LocalMachine erfordert eine Administratoraufforderung für den Zugriff) mit einem installierten privaten Schlüssel.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ClientSecret

Anwendungsclientschlüssel für den Dienstprinzipal.

Typ:SecureString
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Environment

Cloudumgebung, mit der eine Verbindung hergestellt werden soll. Der Standardwert ist "Öffentlich".

Typ:PowerBIEnvironmentType
Zulässige Werte:Public, Germany, USGov, China, USGovHigh, USGovMil
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Tenant

Mandantenname oder Mandanten-ID, die das Dienstprinzipalkonto enthält. Wenn nicht angegeben, wird der COMMON Mandant verwendet.

Typ:String
Aliase:TenantId
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Ausgaben

Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile