Integrer Power BI-indhold med tjenesteprincipal og en programhemmelighed
Tjeneste principalen er en godkendelsesmetode, der kan bruges til at lade et Microsoft Azure AD-program få adgang indhold og API'er i Power BI-tjenesten.
Når du opretter en Azure Active Directory-app, oprettes der et tjenesteprincipalobjekt. Tjenesteprincipalobjektet, der også blot kaldes tjenesteprincipal, gør det muligt for Microsoft Azure AD at godkende din app. Når appen er godkendt, kan den få adgang til Microsoft Azure AD-lejerressourcer.
For at kunne godkende skal tjenesteprincipalen bruge Microsoft Azure AD-appens program-id og et af følgende:
- Certifikat
- Programhemmelighed
I denne artikel beskrives godkendelse af tjenesteprincipalen ved hjælp af et program-id og en programhemmelighed.
Bemærk
Azure AD anbefaler, at du beskytter dine back end-tjenester ved hjælp af certifikater i stedet for hemmelige nøgler.
- Få mere at vide om at hente adgangstoken fra Azure AD ved hjælp af hemmelige nøgler eller certifikater.
- Du beskytter din løsning ved hjælp af et certifikat ved at fuldføre instruktionerne i denne artikel og derefter følge de trin, der er beskrevet i Integrer Power BI-indhold med tjenesteprincipal og et certifikat.
Metode
Hvis du vil bruge en tjenesteprincipal og et program-id med integreret analyse, skal du følge disse trin:
Opret en Microsoft Azure AD-app.
Opret Microsoft Azure AD-appens hemmelighed.
Hent appens program-id og programhemmelighed.
Bemærk
Disse trin er beskrevet i trin 1. Du kan finde flere oplysninger om, hvordan du opretter en Microsoft Azure AD-app, i artiklen Opret en Microsoft Azure ADD-app.
Opret en Microsoft Azure AD-sikkerhedsgruppe.
Aktivér indstillingerne for Power BI-tjenesteadministration.
Føj tjenesteprincipalen til dit arbejdsområde.
Integrer dit indhold.
Vigtigt
Når du aktiverer en tjenesteprincipal, der skal bruges med Power BI, er AD-tilladelserne for programmet ikke længere gældende. Tilladelserne for programmet administreres derefter via Power BI-administrationsportalen.
Trin 1 – Opret en Microsoft Azure AD-app
Opret en Microsoft Azure AD-app ved hjælp af en af disse metoder:
Oprettelse af en Microsoft Azure AD-app i Microsoft Azure-portalen
Log på Microsoft Azure.
Søg efter appregistreringer, og klik på linket Appregistreringer.

Klik på Ny registrering.

Udfyld de påkrævede oplysninger:
- Navn – Angiv et navn til programmet
- Understøttede kontotyper – Vælg understøttede kontotyper
- (Valgfrit) URI til omdirigering – Angiv en URI, hvis det er nødvendigt
Klik på Registrer.
Efter registrering er program-id'et tilgængeligt via fanen Oversigt. Kopiér og gem program-id'et til senere brug.

Klik på fanen Certifikater og hemmeligheder.

Klik på Ny klienthemmelighed

Angiv en beskrivelse i vinduet Tilføj klienthemmelighed, angiv, hvornår klientens hemmelighed skal udløbe, og klik på Tilføj.
Kopiér og gem værdien for Klienthemmelighed.

Bemærk
Når du forlader dette vindue, skjules værdien for klienthemmeligheden, og du kan ikke se eller kopiere den igen.
Oprettelse af en Microsoft Azure AD-app ved hjælp af PowerShell
Dette afsnit indeholder et eksempelscript til oprettelse af en ny Microsoft Azure AD-app ved hjælp af 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
Trin 2 – Opret en Microsoft Azure AD-sikkerhedsgruppe
Din tjenesteprincipal har ikke adgang til Power BI-indholdet og API'erne. Hvis du vil give tjenesteprincipalen adgang, skal du oprette en sikkerhedsgruppe i Microsoft Azure AD og tilføje den tjenesteprincipal, du har oprettet til den pågældende sikkerhedsgruppe.
Du kan oprette en Microsoft Azure AD-sikkerhedsgruppe på to måder:
Opret en sikkerhedsgruppe manuelt
Hvis du vil oprette en Azure-sikkerhedsgruppe manuelt, skal du følge vejledningen i artiklen Opret en basisgruppe, og tilføj medlemmer ved hjælp af Azure Active Directory (Create a basic group and add members using Azure Active Directory).
Opret en sikkerhedsgruppe ved hjælp af PowerShell
Nedenfor er et eksempelscript, der kan bruges til at oprette en ny sikkerhedsgruppe og føje et program til den pågældende sikkerhedsgruppe.
Bemærk
Hvis du vil give tjenesteprincipaler adgang til hele organisationen, skal du springe dette trin 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)
Trin 3 – Aktivér indstillingerne for Power BI-tjenesteadministration
Hvis en Microsoft Azure AD-app skal kunne få adgang til Power BI-indholdet og API'erne, skal en Power BI-administrator have mulighed for at aktivere adgangen til tjenesteprincipalen i Power BI-administrationsportalen.
Føj den sikkerhedsgruppe, du oprettede i Microsoft Azure AD, til det specifikke afsnit for sikkerhedsgruppen under Indstillinger for udvikler.
Vigtigt
Tjenesteprincipalerne har adgang til alle de lejerindstillinger, de er aktiveret for. Afhængigt af administratorindstillingerne omfatter dette specifikke sikkerhedsgrupper eller hele organisationen.
Hvis du vil begrænse tjenesteprincipalers adgang til specifikke lejerindstillinger, skal du kun give adgang til specifikke sikkerhedsgrupper. Du kan også oprette en dedikeret sikkerhedsgruppe til tjenesteprincipaler og udelukke den fra de ønskede lejerindstillinger.
Trin 4 – Føj tjenesteprincipalen til dit arbejdsområde
Hvis du vil aktivere adgangsartefakter til din Azure AD-app, f.eks. rapporter, dashboards og datasæt i Power BI-tjenesten, skal du føje enheden for tjenesteprincipalen eller den sikkerhedsgruppe, som indeholder dine tjenesteprincipal, til dit arbejdsområde som medlem eller administrator.
Bemærk
Dette afsnit indeholder instruktioner til brugergrænsefladen. Du kan også føje en tjenesteprincipal eller en sikkerhedsgruppe til et arbejdsområde ved hjælp af API'en Grupper – tilføj gruppebruger.
Rul til det arbejdsområde, du vil aktivere adgang til, og vælg Adgang til arbejdsområde i menuen Mere.
Tilføj en af følgende i tekstfeltet i ruden Adgang:
Din tjenesteprincipal. Navnet på din tjenesteprincipal er det viste navn for din Azure AD-app, som det vises under oversigtsfanen i din Azure AD-app.
Den sikkerhedsgruppe, der indeholder din tjenesteprincipal.
Vælg Medlem eller Administrator i rullemenuen.
Vælg Tilføj
Tilføj en tjenesteprincipal som medlem af arbejdsområdet ved hjælp af PowerShell
Dette afsnit indeholder et eksempelscript til tilføjelse af en tjenesteprincipal som medlem af et arbejdsområde ved hjælp af 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
Tilføj en sikkerhedsgruppe som medlem af et arbejdsområde ved hjælp af PowerShell
Dette afsnit indeholder et eksempelscript til tilføjelse af en sikkerhedsgruppe som medlem af et arbejdsområde ved hjælp af 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
Trin 5 – Integrer dit indhold
Du kan integrere dit indhold i et eksempelprogram eller i dit eget program.
Når dit indhold er integreret, er du klar til at gå videre til produktionen.
Bemærk
Du beskytter dit indhold ved hjælp af et certifikat ved at fuldføre de trin, der er beskrevet i Integrer Power BI-indhold med tjenesteprincipal og et certifikat.
Overvejelser og begrænsninger
- Tjenesteprincipalen fungerer kun med nye arbejdsområder.
- Mit arbejdsområde understøttes ikke til brug sammen med tjenesteprincipalen.
- Der kræves en kapacitet for at kunne flytte til produktion.
- Du kan ikke logge på Power BI-portalen ved hjælp af en tjenesteprincipal.
- Der kræves rettigheder som Power BI-administrator for at kunne aktivere tjenesteprincipalen under Indstillinger for udvikler på Power BI-administrationsportalen.
- Programmer til integration i din organisation kan ikke bruge en tjenesteprincipal.
- Administration af dataflow understøttes ikke.
- Service principalen understøtter kun nogle skrivebeskyttede administrator API'er. hvis du vil aktivere tjeneste principal support til skrivebeskyttede administrator api'er, skal du aktivere indstillingerne for Power BI tjeneste administration i din lejer. Du kan finde flere oplysninger under Aktivér tjeneste Principal Authentication til skrivebeskyttede administrator API'er.
- Når du bruger en tjenesteprincipal med en Azure Analysis Services-datakilde, skal selve tjenesteprincipalen have tilladelser til en forekomst af Azure Analysis Services. Brug af en sikkerhedsgruppe, der indeholder tjenesteprincipalen til dette formål, fungerer ikke.