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