Connect-DataGatewayServiceAccount
Maak verbinding met de Data Gateway-service.
Syntaxis
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>]
Description
Maak verbinding met de Data Gateway-service met een gebruikers- of service-principal-account (toepassingsgeheim of certificaat).
Voor gebruikersaccounts wordt een AAD-First-Party toepassing (Azure Active Directory) gebruikt voor verificatie.
Volg 'Een Azure AD-toepassing maken' om een service-principal-account te maken.
Meld u af bij Disconnect-DataGatewayServiceAccount.
Voorbeelden
Een Azure AD-toepassing maken
Als u een Azure AD-toepassing wilt maken die compatibel is met de DataGateway*
cmdlets, voert u het volgende script uit dat gebruikmaakt van de Microsoft.Graph
-module
# 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
Nadat u het bovenstaande script hebt uitgevoerd, zijn er nog enkele stappen om te voltooien:
Maak een nieuw geheim (als u er geen hebt gemaakt met het bovenstaande script) of gebruik een certificaat. Zie Certificaten en geheimenvoor meer informatie.
Ververleent beheerderstoestemming voor de toepassing met de geconfigureerde machtigingen als u het argument
RequiredResourceAccess
hebt opgegeven. Zie Beheerderstoestemming verlenen in app-registratiesvoor meer informatie.
Voorbeeld 1
PS C:\> Connect-DataGatewayServiceAccount
Als u zich aanmeldt met behulp van gebruikersverificatie voor de openbare cloud, wordt er een prompt weergegeven om referenties te verzamelen.
Voorbeeld 2
PS C:\> Connect-DataGatewayServiceAccount -Environment China
Als u zich aanmeldt met behulp van gebruikersverificatie voor de China-cloud, wordt er een prompt weergegeven om referenties te verzamelen.
Voorbeeld 3
PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -ClientSecret (Read-Host "Enter client secret" -AsSecureString) -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0
Als u zich aanmeldt met behulp van een service in de opgegeven tenant in de openbare cloud, wordt er een prompt weergegeven van Read-Host
om uw clienttoepassingsgeheim te lezen.
Voorbeeld 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
Meldt zich aan met behulp van een service in de opgegeven tenant voor de openbare cloud met behulp van een clientgeheim dat veilig is opgeslagen in een bestand om de cmdlet niet-interactief te maken.
Voorbeeld 5
PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -CertificateThumbprint 38DA4BED389A014E69A6E6D8AE56761E85F0DFA4 -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0
Meldt zich aan met behulp van een service-principal in de opgegeven tenant met een geïnstalleerd certificaat naar de openbare cloud. Het certificaat moet worden geïnstalleerd in het certificaatarchief CurrentUser of LocalMachine (LocalMachine vereist beheerderstoegang) waarop een persoonlijke sleutel is geïnstalleerd.
Parameters
-ApplicationId
AAD-toepassings-id (Azure Active Directory) (ook wel client-id genoemd) die moet worden gebruikt met een service-principal-account.
Zie Toepassings- en service-principalobjecten in Azure Active Directoryvoor meer informatie over toepassingen en service-principals.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-CertificateThumbprint
Vingerafdruk van certificaat van een geïnstalleerd certificaat dat is gekoppeld aan een AAD-toepassing (Azure Active Directory). Het certificaat moet zijn geïnstalleerd in de persoonlijke certificaatarchieven CurrentUser of LocalMachine (LocalMachine vereist een beheerdersprompt om toegang te krijgen) met een persoonlijke sleutel geïnstalleerd.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ClientSecret
Toepassingsclientgeheim voor de service-principal.
Type: | SecureString |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Environment
Cloudomgeving om verbinding mee te maken. De standaardwaarde is openbaar.
Type: | PowerBIEnvironmentType |
Geaccepteerde waarden: | Public, Germany, USGov, China, USGovHigh, USGovMil |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Tenant
Tenantnaam of tenant-id die het service-principal-account bevat. Als dit niet is opgegeven, wordt de COMMON
tenant gebruikt.
Type: | String |
Aliassen: | TenantId |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
None
Uitvoerwaarden
Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile