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.

Metode

Hvis du vil bruge en tjenesteprincipal og et program-id med integreret analyse, skal du følge disse trin:

  1. Opret en Microsoft Azure AD-app.

    1. Opret Microsoft Azure AD-appens hemmelighed.

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

  2. Opret en Microsoft Azure AD-sikkerhedsgruppe.

  3. Aktivér indstillingerne for Power BI-tjenesteadministration.

  4. Føj tjenesteprincipalen til dit arbejdsområde.

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

  1. Log på Microsoft Azure.

  2. Søg efter appregistreringer, og klik på linket Appregistreringer.

    azure-appregistrering

  3. Klik på Ny registrering.

    ny registrering

  4. 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
  5. Klik på Registrer.

  6. Efter registrering er program-id'et tilgængeligt via fanen Oversigt. Kopiér og gem program-id'et til senere brug.

    Skærmbillede, der viser, hvor du kan få vist et program-id under fanen Oversigt.

  7. Klik på fanen Certifikater og hemmeligheder.

    Et skærmbillede, der viser ruden Certifikater og hemmeligheder for en app på Azure Portal.

  8. Klik på Ny klienthemmelighed

    Et skærmbillede, der viser knappen Ny klienthemmelighed i ruden Certifikater og hemmeligheder.

  9. Angiv en beskrivelse i vinduet Tilføj klienthemmelighed, angiv, hvornår klientens hemmelighed skal udløbe, og klik på Tilføj.

  10. Kopiér og gem værdien for Klienthemmelighed.

    Et skærmbilleder, der viser en sløret hemmelighedsværdi i ruden Certifikater og hemmeligheder.

    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.

Skærmbillede, der viser indstillinger for udviklere i administratorindstillingerne i Power BI-tjenesten.

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.

  1. Rul til det arbejdsområde, du vil aktivere adgang til, og vælg Adgang til arbejdsområde i menuen Mere.

    Skærmbillede, der viser arbejdsområdets adgangsknap i menuen Mere i et Power BI-arbejdsområde.

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

  3. Vælg Medlem eller Administrator i rullemenuen.

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

Næste trin