Power BI-inhoud insluiten met service-principal en een toepassingsgeheim

Service-principal is een verificatiemethode die kan worden gebruikt om een Azure AD-toepassing toegang te geven tot inhoud en API's van de Power BI-service.

Wanneer u een Azure Active Directory-app (Azure AD) maakt, wordt er een service-principal-object gemaakt. Met het service-principal-object, ook wel een service-principal genoemd, kan Azure AD uw app verifiëren. Nadat de app is geverifieerd, heeft deze toegang tot Azure AD-tenantbronnen.

Voor de verificatie gebruikt de service-principal de toepassings-id van de Azure AD-app en een van de volgende elementen:

  • Certificaat
  • Toepassingsgeheim

In dit artikel wordt de service-principal-verificatie met een toepassings-id en toepassingsgeheim beschreven.

Notitie

Azure AD raadt aan uw back-endservices te beveiligen met behulp van certificaten, in plaats van geheime sleutels.

Methode

Voer de volgende stappen uit om een service-principal en een toepassings-id met ingesloten analyses te gebruiken:

  1. Maak een Azure AD-app.

    1. Maak het geheim van de Azure AD-app.

    2. Haal de toepassings-id en het toepassingsgeheim van de app op.

    Notitie

    Deze stappen worden beschreven in stap 1. Zie het artikel Een Azure AD-app maken voor meer informatie over het maken van een Azure AD-app.

  2. Maak een Azure AD-beveiligingsgroep.

  3. Schakel de beheerdersinstellingen voor de Power BI-service in.

  4. Voeg de service-principal toe aan uw werkruimte.

  5. Sluit uw inhoud in.

Belangrijk

Nadat u de service-principal voor gebruik met Power BI hebt ingeschakeld, zijn de AD-machtigingen van de toepassing niet meer geldig. De machtigingen van de toepassing worden dan beheerd via de Power BI-beheerportal.

Stap 1: een Azure AD-app maken

Maak een Azure AD-app met behulp van een van deze methoden:

Een Azure AD-app maken in de Microsoft Azure-portal

  1. Meld u aan bij Microsoft Azure.

  2. Zoek naar App-registraties en klik op de koppeling App-registraties.

    Azure-app-registratie

  3. Klik op Nieuwe registratie.

    nieuwe registratie

  4. Vul de vereiste gegevens in:

    • Naam: voer een naam in voor de toepassing
    • Ondersteunde accounttypen: selecteer ondersteunde accounttypen
    • (Optioneel) Omleidings-URI: voer een URI in, indien nodig
  5. Klik op Registreren.

  6. Na de app-registratie is de toepassings-id beschikbaar op het tabblad Overzicht. Kopieer de toepassings-id en sla deze op voor later gebruik.

    Schermopname die laat zien waar u een toepassings-i d kunt verkrijgen op het tabblad Overzicht.

  7. Klik op de tab Certificaten en geheimen.

    Een schermopname van het deelvenster Certificaten en geheimen voor een app in de Azure-portal.

  8. Klik op Nieuw clientgeheim

    Een schermopname van de knop Nieuw clientgeheim in het deelvenster Certificaten en geheimen.

  9. Voer in het venster Een clientgeheim toevoegen een beschrijving in, geef op wanneer u wilt dat het clientgeheim verloopt, en klik op Toevoegen.

  10. Kopieer de waarde van Clientgeheim en sla deze op.

    Een schermopname met een onleesbaar gemaakte geheime waarde in het deelvenster Certificaten en geheimen.

    Notitie

    Wanneer u dit venster verlaat, wordt de waarde van het clientgeheim verborgen en kunt u deze niet meer weergeven of kopiëren.

Een Azure AD-app maken met PowerShell

Deze sectie bevat een voorbeeldscript voor het maken van een nieuwe Azure AD-app met PowerShell.

# The app ID - $app.appid
# The service principal object ID - $sp.objectId
# The app key - $key.value

# Sign in as a user that's allowed to create an app
Connect-AzureAD

# Create a new Azure AD web application
$app = New-AzureADApplication -DisplayName "testApp1" -Homepage "https://localhost:44322" -ReplyUrls "https://localhost:44322"

# Creates a service principal
$sp = New-AzureADServicePrincipal -AppId $app.AppId

# Get the service principal key
$key = New-AzureADServicePrincipalPasswordCredential -ObjectId $sp.ObjectId

Stap 2: een Azure AD-beveiligingsgroep maken

De service-principal heeft geen toegang tot uw Power BI-inhoud en -API's. Om de service-principal toegang te geven, maakt u een beveiligingsgroep in Azure AD en voegt u de gemaakte service-principal toe aan die beveiligingsgroep.

U kunt op twee manieren een Azure AD-beveiligingsgroep maken:

Handmatig een beveiligingsgroep maken

Als u handmatig een Azure-beveiligingsgroep wilt maken, volgt u de instructies in het artikel Een basisgroep maken en leden toevoegen met Azure Active Directory.

Een beveiligingsgroep maken met PowerShell

Hieronder volgt een voorbeeldscript voor het maken van een nieuwe beveiligingsgroep en het toevoegen van een app aan die beveiligingsgroep.

Notitie

Als u toegang tot service-principals wilt inschakelen voor de hele organisatie, slaat u deze stap over.

# Required to sign in as admin
Connect-AzureAD

# Create an Azure AD security group
$group = New-AzureADGroup -DisplayName <Group display name> -SecurityEnabled $true -MailEnabled $false -MailNickName notSet

# Add the service principal to the group
Add-AzureADGroupMember -ObjectId $($group.ObjectId) -RefObjectId $($sp.ObjectId)

Stap 3: de beheerdersinstellingen voor de Power BI-service inschakelen

Voordat een Azure AD-app toegang kan krijgen tot de Power BI-inhoud en -API's, moet een Power BI-beheerder toegang tot de service-principal inschakelen in de Power BI-beheerportal.

Voeg de beveiligingsgroep die u in Azure AD hebt gemaakt, toe aan de sectie Specifieke beveiligingsgroep in de instellingen voor ontwikkelaars.

Belangrijk

Service-principals hebben toegang tot alle tenantinstellingen waarvoor ze zijn ingeschakeld. Afhankelijk van uw beheerdersinstellingen bevat dit specifieke beveiligingsgroepen of de hele organisatie.

Als u de toegang van de service-principal wilt beperken tot specifieke tenantinstellingen, staat u alleen toegang tot specifieke beveiligingsgroepen toe. U kunt ook een toegewezen beveiligingsgroep voor service-principals maken en deze uitsluiten van de gewenste tenantinstellingen.

Schermopname met de instellingen voor ontwikkelaars in de beheeropties in de Power BI-service.

Stap 4: voeg de service-principal toe aan uw werkruimte

Als u uw Azure AD-app toegang wilt verlenen tot artefacten zoals rapporten, dashboards en gegevenssets in de Power BI-service, voegt u de entiteit van de service-principal of beveiligingsgroep met uw service-principal toe als lid of beheerder aan uw werkruimte.

Notitie

Deze sectie bevat instructies voor de gebruikersinterface. U kunt ook een service-principal of een beveiligingsgroep aan een werkruimte toevoegen met behulp van de API Groups - Add Group User (Groepen - Groepsgebruiker toevoegen).

  1. Ga naar de werkruimte waarvoor u toegang wilt inschakelen, en selecteer in het menu More de optie Workspace access.

    Schermopname met de knop voor toegang tot een werkruimte in het menu More van een Power BI-werkruimte.

  2. Voeg in het tekstvak van het deelvenster Toegang een van de volgende opties toe:

    • Uw service-principal. De naam van de service-principal is de Weergavenaam van uw Azure AD-app, zoals deze wordt weer gegeven op het overzichtstabblad van de Azure AD-app.

    • De beveiligingsgroep die uw service-principal bevat.

  3. Selecteer in de vervolgkeuzelijst de optie Lid of Beheerder.

  4. Selecteer Toevoegen.

Een service-principal toevoegen als een werkruimtelid met behulp van PowerShell

Deze sectie bevat een voorbeeldscript voor het toevoegen van een service-principal als een werkruimtelid met behulp van PowerShell.

Login-PowerBI

# Service Principal Object ID for the created Service Principal
$SPObjectId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'

$pbiWorkspace = Get-PowerBIWorkspace -Name "YourWorkspaceName"

Add-PowerBIWorkspaceUser -Id $pbiWorkspace.Id -AccessRight Member -PrincipalType App -Identifier $SPObjectId 

Een beveiligingsgroep toevoegen als een werkruimtelid met behulp van PowerShell

Deze sectie bevat een voorbeeldscript voor het toevoegen van een beveiligingsgroep als een werkruimtelid met behulp van PowerShell.

Login-PowerBI

# Security Group Object ID for the created Security Group
$SGObjectId = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'

$pbiWorkspace = Get-PowerBIWorkspace -Name "YourWorkspaceName"

Add-PowerBIWorkspaceUser -Id $pbiWorkspace.Id -AccessRight Member -PrincipalType Group -Identifier $SGObjectId 

Stap 5: uw inhoud insluiten

U kunt uw inhoud insluiten in een voorbeeld-app of in uw eigen app.

Als de inhoud is ingesloten, bent u klaar voor de overgang naar de productieomgeving.

Notitie

Als u uw inhoud wilt beveiligen met een certificaat volgt u de stappen die worden beschreven in Power BI-inhoud insluiten met service-principal en een certificaat.

Overwegingen en beperkingen

  • De service-principal werkt alleen met nieuwe werkruimten.
  • Mijn werkruimte wordt niet ondersteund bij het gebruik van een service-principal.
  • Een capaciteit is vereist voor het verplaatsen naar productie.
  • U kunt zich niet aanmelden bij de Power BI-portal met behulp van een service-principal.
  • Power BI-beheerdersrechten zijn vereist voor het inschakelen van de service-principal in instellingen voor ontwikkelaars in de Power BI-beheerportal.
  • Voor Insluiten voor uw organisatie-toepassingen kan geen service-principal worden gebruikt.
  • Beheer van gegevensstromen wordt niet ondersteund.
  • De service-principal biedt alleen ondersteuning voor sommige alleen-lezen beheerders-API's. Als u ondersteuning voor service-principals voor alleen-lezen beheerders-API's wilt inschakelen, moet u de instellingen Power BI servicebeheerder in uw tenant inschakelen. Zie Enable service principal authentication for read-only admin APIIs (Verificatie van service-principal inschakelen voor alleen-lezen beheerders-API's) voor meer informatie.
  • Wanneer u de service-principal gebruikt met een Azure Analysis Services-gegevensbron, moet de service-principal zelf machtigingen hebben voor Azure Analysis Services. Het gebruik van een beveiligingsgroep die de service-principal voor dit doel bevat, werkt niet.

Volgende stappen