Delen via


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:

  1. Maak een nieuw geheim (als u er geen hebt gemaakt met het bovenstaande script) of gebruik een certificaat. Zie Certificaten en geheimenvoor meer informatie.

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