Bygg inn Power BI-innhold med tjenestekontohaver og en programhemmelighet
Tjenestekontohaver er en godkjenningsmetode som kan brukes til å gi et Microsoft Entra-program tilgang Power Bi-tjeneste innhold og API-er.
Når du oppretter en Microsoft Entra-app, opprettes et tjenestekontohaverobjekt . Tjenestekontohaverobjektet, også kjent som tjenestekontohaver, gjør det mulig for Microsoft Entra ID å godkjenne appen. Når den er godkjent, kan appen få tilgang til leierressurser for Microsoft Entra.
For å godkjenne bruker tjenestekontohaveren Microsoft Entra-appens program-ID og ett av følgende:
- Et sertifikat
- En programhemmelighet
Denne artikkelen beskriver tjenestekontohavergodkjenning ved hjelp av en program-ID og en programhemmelighet.
Merk
Vi anbefaler at du sikrer baktjenestene ved hjelp av sertifikater i stedet for hemmelige nøkler.
- Mer informasjon om å få tilgangstokener fra Microsoft Entra ID ved hjelp av hemmelige nøkler eller sertifikater.
- Hvis du vil sikre løsningen ved hjelp av et sertifikat, kan du fullføre instruksjonene i denne artikkelen og deretter følge trinnene som er beskrevet i Bygg inn Power BI-innhold med tjenestekontohaver og et sertifikat.
Metode
Hvis du vil bruke tjenestekontohaver og en program-ID for innebygd analyse, gjør du følgende. Etterfølgende inndelinger beskriver disse trinnene i detalj.
Opprett en Microsoft Entra-app.
- Opprett en hemmelighet for Microsoft Entra-appen.
- Få appens program-ID og programhemmelighet.
Merk
Disse trinnene er beskrevet i trinn 1. Hvis du vil ha mer informasjon om hvordan du oppretter en Microsoft Entra-app, kan du se opprette en Microsoft Entra-app.
Opprett en Microsoft Entra-sikkerhetsgruppe.
Aktiver administratorinnstillingene for Power Bi-tjeneste.
Legg til tjenestekontohaveren i arbeidsområdet.
Bygg inn innholdet.
Viktig
Et Microsoft Entra-program krever ikke at du konfigurerer delegerte tillatelser eller programtillatelser i Azure-portalen når det er opprettet for en tjenestekontohaver. Når du oppretter et Microsoft Entra-program for en tjenestekontohaver for å få tilgang til REST-API-en for Power BI, anbefaler vi at du unngår å legge til tillatelser. De brukes aldri og kan forårsake feil som er vanskelige å feilsøke.
Trinn 1 – Opprett en Microsoft Entra-app
Du kan opprette en Microsoft Entra-app fra Azure-portalen eller ved hjelp av Powershell:
Logg deg på Azure-portalen.
Søk etter og velg Appregistreringer.
Velg Ny registrering.
Fyll ut den nødvendige informasjonen:
- Navn – Skriv inn et navn for programmet.
- Støttede kontotyper – Velg støttede kontotyper.
- (Valgfritt) Omadresserings-URI - Angi en URI om nødvendig.
Velg Registrer.
Når du har registrert appen, er program-ID-en tilgjengelig fra oversiktsfanen. Kopier og lagre program-ID-en for senere bruk.
Velg Sertifikater og hemmeligheter.
Velg Ny klienthemmelighet.
Skriv inn en beskrivelse i vinduet Legg til en klienthemmelighet, angi når du vil at klienthemmeligheten skal utløpe, og velg Legg til.
Kopier og lagre verdien for klienthemmelighet.
Merk
Når du forlater dette vinduet, skjules den hemmelige klientverdien, og du kan ikke vise eller kopiere den på nytt.
Trinn 2 – Opprett en Microsoft Entra-sikkerhetsgruppe
Tjenestekontohaveren har ikke tilgang til noe av Power BI-innholdet og API-ene dine. Hvis du vil gi tjenestekontohavertilgang, oppretter du en sikkerhetsgruppe i Microsoft Entra ID. Legg deretter til tjenestekontohaveren du opprettet i denne sikkerhetsgruppen.
Merk
Hvis du vil aktivere tjenestekontohavertilgang for hele organisasjonen, kan du hoppe over dette trinnet.
Det finnes to måter å opprette en Microsoft Entra-sikkerhetsgruppe på:
Opprette en sikkerhetsgruppe manuelt
Hvis du vil opprette en Azure-sikkerhetsgruppe manuelt, følger du instruksjonene i Opprett en grunnleggende gruppe. Ikke legg til medlemmer i gruppen nå.
Opprette en sikkerhetsgruppe ved hjelp av PowerShell
Følgende eksempelskript oppretter en ny sikkerhetsgruppe. Den legger også til tjenestekontohaveren du opprettet tidligere i den nye sikkerhetsgruppen.
- Før du kjører skriptet, må du erstatte
<app-client-ID>
med klient-ID-en du spilte inn tidligere for den nye appen. - Når du har kjørt skriptet, noterer du objekt-ID-en til den nye sikkerhetsgruppen, som du finner i skriptutdataene.
# Sign in as an admin.
Connect-MgGraph -Scopes "Application.ReadWrite.All"
# Get the service principal that you created earlier.
$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '<app-client-ID>'"
# Create an Azure AD security group.
$group = New-MgGroup -DisplayName "securitygroup1" -SecurityEnabled -MailEnabled:$False -MailNickName "notSet"
Write-Host "Object ID of new security group: " $($group.Id)
# Add the service principal to the group.
New-MgGroupMember -GroupId $($group.Id) -DirectoryObjectId $($servicePrincipal.Id)
Trinn 3 – Aktiver administratorinnstillingene for Power Bi-tjeneste
For at en Microsoft Entra-app skal få tilgang til Power BI-innhold og API-er, må en Power BI-administrator aktivere følgende innstillinger:
- Bygge inn innhold i apper
- Tillate tjenestekontohavere å bruke Power BI-API
Gå til leierinnstillinger i administrasjonsportalen for Power BI, og rull ned til Utviklerinnstillinger.
Aktiver bygg inn innhold i apper enten for hele organisasjonen eller for den bestemte sikkerhetsgruppen du opprettet i Microsoft Entra ID.
Aktiver Tillat tjenestekontohavere å bruke Power BI-API enten for hele organisasjonen eller for den bestemte sikkerhetsgruppen du opprettet i Microsoft Entra ID.
Viktig
Tjenestekontohavere har tilgang til eventuelle leierinnstillinger de er aktivert for. Dette omfatter bestemte sikkerhetsgrupper eller hele organisasjonen, avhengig av administratorinnstillingene.
Hvis du vil begrense tjenestekontohavertilgang til bestemte leierinnstillinger, kan du bare tillate tilgang til bestemte sikkerhetsgrupper. Alternativt kan du opprette en dedikert sikkerhetsgruppe for tjenestekontohavere og utelate den fra de ønskede leierinnstillingene.
Trinn 4 – Legg til tjenestekontohaver i arbeidsområdet
Microsoft Entra-appen har bare tilgang til Power BI-rapporter, instrumentbord og semantiske modeller når den har tilgang til Power BI-arbeidsområdet som medlem eller administrator. Du gir denne tilgangen ved å legge til appens tjenestekontohaver eller sikkerhetsgruppen i arbeidsområdet.
Det finnes tre måter å legge til en tjenestekontohaver eller sikkerhetsgruppe i arbeidsområdet på:
Legge til en tjenestekontohaver eller sikkerhetsgruppe manuelt
Rull til arbeidsområdet du vil aktivere tilgang for, i Power Bi-tjeneste. Velg Arbeidsområdetilgang fra Mer-menyen.
Legg til ett av følgende under Legg til administratorer, medlemmer eller bidragsytere i Access-ruten:
- Tjenestekontohaver. Navnet på tjenestekontohaveren er visningsnavnet for Microsoft Entra-appen, slik den vises i oversiktsfanen for Microsoft Entra-appen.
- Sikkerhetsgruppen som inkluderer tjenestekontohaveren.
Velg Medlem eller administrator på rullegardinmenyen.
Velg Legg til.
Legge til en tjenestekontohaver eller sikkerhetsgruppe ved hjelp av PowerShell
De følgende avsnittene inneholder eksempel på PowerShell-skript for å legge til en tjenestekontohaver og en sikkerhetsgruppe i et Power BI-arbeidsområde som medlem.
Legg til en tjenestekontohaver som medlem av arbeidsområdet ved hjelp av PowerShell
Følgende skript legger til en tjenestekontohaver som medlem av arbeidsområdet. Før du kjører skriptet:
- Erstatt
<service-principal-object-ID>
med objekt-ID-en du registrerte tidligere for den nye tjenestekontohaveren. - Erstatt
<workspace-name>
med navnet på arbeidsområdet du vil gi tjenestekontohavertilgang til.
# Sign in to Power BI.
Login-PowerBI
# Set up the service principal ID.
$SPObjectID = "<service-principal-object-ID>"
# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"
# Add the service principal to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType App -Identifier $($SPObjectID)
Legge til en sikkerhetsgruppe som medlem av arbeidsområdet ved hjelp av PowerShell
Følgende skript legger til en sikkerhetsgruppe som medlem av arbeidsområdet. Før du kjører skriptet:
- Erstatt
<security-group-object-ID>
med objekt-ID-en du registrerte tidligere for den nye sikkerhetsgruppen. - Erstatt
<workspace-name>
med navnet på arbeidsområdet du vil gi sikkerhetsgruppen tilgang til.
# Sign in to Power BI.
Login-PowerBI
# Set up the security group object ID.
$SGObjectID = "<security-group-object-ID>"
# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"
# Add the security group to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType Group -Identifier $($SGObjectID)
Trinn 5 – Bygg inn innholdet
Du kan bygge inn innholdet i et eksempelprogram eller i ditt eget program.
Når innholdet er innebygd, er du klar til å flytte til produksjon.
Merk
Hvis du vil sikre innholdet ved hjelp av et sertifikat, følger du trinnene som er beskrevet i Bygg inn Power BI-innhold med tjenestekontohaver og et sertifikat.
Hensyn og begrensninger
- Mitt arbeidsområde støttes ikke når du bruker tjenestekontohaver.
- En kapasitet kreves når du flytter til produksjon.
- Du kan ikke logge på Power BI-portalen ved hjelp av tjenestekontohaver.
- Power BI-administratorrettigheter kreves for å aktivere tjenestekontohaver i utviklerinnstillinger i administrasjonsportalen for Power BI.
- Innebygging for organisasjonsprogrammene kan ikke bruke tjenestekontohaver.
- Behandling av dataflyter støttes ikke.
- Ikke alle skrivebeskyttede API-er støttes av tjenestekontohaver. Hvis du vil aktivere støtte for tjenestekontohaver for skrivebeskyttede administrator-API-er, aktiverer du administratorinnstillingene for Power Bi-tjeneste i leieren. Hvis du vil ha mer informasjon, kan du se Aktivere godkjenning av tjenestekontohaver for skrivebeskyttede administrator-API-er.
- Når du bruker tjenestekontohaver med en Datakilde for Azure Analysis Services , må tjenestekontohaveren selv ha forekomsttillatelser for Azure Analysis Services. Bruk av en sikkerhetsgruppe som inneholder tjenestekontohaveren for dette formålet, fungerer ikke.