Udostępnij za pośrednictwem


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:

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

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