Connect-DataGatewayServiceAccount
Połącz się z usługą Data Gateway.
Składnia
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>]
Opis
Połącz się z usługą Data Gateway przy użyciu konta użytkownika lub jednostki usługi (wpisu tajnego aplikacji lub certyfikatu).
W przypadku kont użytkowników aplikacja usługi Azure Active Directory (AAD) First-Party jest uwierzytelnianiem.
Postępuj zgodnie z instrukcjami "Tworzenie aplikacji usługi Azure AD", aby utworzyć konto jednostki usługi.
Aby wylogować się z wywołania Disconnect-DataGatewayServiceAccount.
Przykłady
Tworzenie aplikacji usługi Azure AD
Aby utworzyć aplikację usługi Azure AD zgodną z poleceniami cmdlet DataGateway*
, uruchom następujący skrypt, który używa modułu Microsoft.Graph
# 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
Po uruchomieniu powyższego skryptu należy wykonać jeszcze kilka kroków:
Utwórz nowy wpis tajny (jeśli nie utworzono go z powyższym skryptem) lub użyj certyfikatu. Aby uzyskać więcej informacji, zobacz Certificates and secrets.
Udziel zgody administratora dla aplikacji ze skonfigurowanymi uprawnieniami, jeśli określono argument
RequiredResourceAccess
. Aby uzyskać więcej informacji, zobacz Udzielanie zgody administratora w obszarze Rejestracje aplikacji.
Przykład 1
PS C:\> Connect-DataGatewayServiceAccount
Po zalogowaniu się przy użyciu uwierzytelniania użytkownika w chmurze publicznej zostanie wyświetlony monit o zebranie poświadczeń.
Przykład 2
PS C:\> Connect-DataGatewayServiceAccount -Environment China
Po zalogowaniu się przy użyciu uwierzytelniania użytkowników w chmurze w Chinach zostanie wyświetlony monit o zebranie poświadczeń.
Przykład 3
PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -ClientSecret (Read-Host "Enter client secret" -AsSecureString) -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0
W dzienniku przy użyciu usługi w określonej dzierżawie w chmurze publicznej zostanie wyświetlony monit z Read-Host
w celu odczytania wpisu tajnego aplikacji klienckiej.
Przykład 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
Rejestruje się przy użyciu usługi w określonej dzierżawie w chmurze publicznej przy użyciu klucza tajnego klienta bezpiecznie przechowywanego w pliku, aby polecenie cmdlet nieinterakcyjne.
Przykład 5
PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -CertificateThumbprint 38DA4BED389A014E69A6E6D8AE56761E85F0DFA4 -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0
Rejestruje się przy użyciu jednostki usługi w określonej dzierżawie z zainstalowanym certyfikatem w chmurze publicznej. Certyfikat musi być zainstalowany w magazynie certyfikatów CurrentUser lub LocalMachine (LocalMachine wymaga dostępu administratora) z zainstalowanym kluczem prywatnym.
Parametry
-ApplicationId
Identyfikator aplikacji usługi Azure Active Directory (AAD) (znany również jako identyfikator klienta) do użycia z kontem jednostki usługi.
Aby uzyskać więcej informacji na temat aplikacji i jednostek usługi, zobacz application and service principal objects in Azure Active Directory.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-CertificateThumbprint
Odcisk palca certyfikatu zainstalowanego certyfikatu skojarzonego z aplikacją usługi Azure Active Directory (AAD). Certyfikat musi być zainstalowany w magazynach certyfikatów osobistych CurrentUser lub LocalMachine (LocalMachine wymaga monitu administratora o dostęp) z zainstalowanym kluczem prywatnym.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ClientSecret
Wpis tajny klienta aplikacji dla jednostki usługi.
Typ: | SecureString |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Environment
Środowisko chmury do nawiązywania połączenia z. Wartość domyślna to Publiczna.
Typ: | PowerBIEnvironmentType |
Dopuszczalne wartości: | Public, Germany, USGov, China, USGovHigh, USGovMil |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Tenant
Nazwa dzierżawy lub identyfikator dzierżawy zawierający konto jednostki usługi. Jeśli nie zostanie określony, zostanie użyta dzierżawa COMMON
.
Typ: | String |
Aliasy: | TenantId |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Dane wyjściowe
Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile