Delen via


Connect-DataGatewayServiceAccount

Verbinding maken met de Data Gateway-service.

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>]

Description

Maak verbinding met de Data Gateway-service met een gebruikers- of service-principalaccount (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. Raadpleeg voor meer informatie de sectie Certificaten en geheimen van https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal#certificates-and-secrets

  2. Geef beheerderstoestemming voor de toepassing met de geconfigureerde machtigingen als u het RequiredResourceAccess argument hebt opgegeven. Raadpleeg voor meer informatie de sectie 'Beheerderstoestemming verlenen in App-registraties' vanhttps://docs.microsoft.com/en-us/azure/active-directory/manage-apps/grant-admin-consent#grant-admin-consent-in-app-registrations

Voorbeeld 1

PS C:\> Connect-DataGatewayServiceAccount

Logboeken bij het gebruik van gebruikersverificatie in de openbare cloud. Er wordt een prompt weergegeven om referenties te verzamelen.

Voorbeeld 2

PS C:\> Connect-DataGatewayServiceAccount -Environment China

Inloggen met behulp van gebruikersverificatie in de China-cloud, wordt 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

Inloggen met behulp van een service in de opgegeven tenant in de openbare cloud, wordt een prompt weergegeven van Read-Host waaruit uw clienttoepassingsgeheim wordt gelezen.

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 CurrentUser- of LocalMachine-certificaatarchief (LocalMachine vereist beheerderstoegang) waarop een persoonlijke sleutel is geïnstalleerd.

Parameters

-ApplicationId

Toepassings-id van Azure Active Directory (AAD) (ook wel client-id genoemd) die moet worden gebruikt met een service-principal-account.

Meer informatie over toepassingen en service-principals: https://docs.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

Certificaatvingerafdruk 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
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ClientSecret

Toepassingsclientgeheim voor de service-principal.

Type:SecureString
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Environment

Cloudomgeving waarmee verbinding moet worden gemaakt. De standaardwaarde is openbaar.

Type:PowerBIEnvironmentType
Accepted values:Public, Germany, USGov, China, USGovHigh, USGovMil
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tenant

Tenantnaam of tenant-id met het service-principal-account. Als dit niet is opgegeven, wordt de COMMON tenant gebruikt.

Type:String
Aliases:TenantId
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

None

Uitvoerwaarden

Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile