Bädda in Power BI-innehåll med tjänstens huvudnamn och en programhemlighet
Tjänstens huvudnamn är en autentiseringsmetod som kan användas för att ge ett Microsoft Entra-program åtkomst Power BI-tjänst innehåll och API:er.
När du skapar en Microsoft Entra-app skapas ett objekt för tjänstens huvudnamn . Objektet för tjänstens huvudnamn, även kallat tjänstens huvudnamn, gör att Microsoft Entra-ID kan autentisera din app. När den har autentiserats kan appen komma åt Microsoft Entra-klientresurser.
För att autentisera använder tjänstens huvudnamn Microsoft Entra-appens program-ID och något av följande:
- Ett certifikat
- En programhemlighet
I den här artikeln beskrivs autentisering med tjänstens huvudnamn med hjälp av ett program-ID och en programhemlighet.
Kommentar
Vi rekommenderar att du skyddar dina serverdelstjänster med hjälp av certifikat i stället för hemliga nycklar.
- Läs mer om att hämta åtkomsttoken från Microsoft Entra-ID med hjälp av hemliga nycklar eller certifikat.
- Om du vill skydda din lösning med hjälp av ett certifikat fyller du i anvisningarna i den här artikeln och följer sedan stegen som beskrivs i Bädda in Power BI-innehåll med tjänstens huvudnamn och ett certifikat.
Metod
Om du vill använda tjänstens huvudnamn och ett program-ID för inbäddad analys utför du följande steg. Följande avsnitt beskriver dessa steg i detalj.
Skapa en Microsoft Entra-app.
- Skapa en hemlighet för din Microsoft Entra-app.
- Hämta appens program-ID och programhemlighet.
Kommentar
De här stegen beskrivs i steg 1. Mer information om hur du skapar en Microsoft Entra-app finns i skapa en Microsoft Entra-app.
Skapa en Microsoft Entra-säkerhetsgrupp.
Aktivera administratörsinställningarna för Power BI-tjänst.
Lägg till tjänstens huvudnamn på din arbetsyta.
Bädda in ditt innehåll.
Viktigt!
Ett Microsoft Entra-program kräver inte att du konfigurerar delegerade behörigheter eller programbehörigheter i Azure Portal när det har skapats för tjänstens huvudnamn. När du skapar ett Microsoft Entra-program för ett huvudnamn för tjänsten för åtkomst till Power BI REST API rekommenderar vi att du undviker att lägga till behörigheter. De används aldrig och kan orsaka fel som är svåra att felsöka.
Steg 1 – Skapa en Microsoft Entra-app
Du kan skapa en Microsoft Entra-app från Azure Portal eller med powershell:
Logga in på Azure-portalen.
Sök efter och välj Appregistreringar.
Välj Ny registrering.
Fyll i nödvändig information:
- Namn – Ange ett namn för ditt program.
- Kontotyper som stöds – Välj kontotyper som stöds.
- (Valfritt) Omdirigerings-URI – Ange en URI om det behövs.
Välj Registrera.
När du har registrerat appen är program-ID :t tillgängligt på fliken Översikt . Kopiera och spara program-ID:t för senare användning.
Välj Certifikat och hemligheter.
Välj Ny klienthemlighet.
I fönstret Lägg till en klienthemlighet anger du en beskrivning, anger när du vill att klienthemligheten ska upphöra att gälla och väljer Lägg till.
Kopiera och spara värdet för klienthemlighet.
Kommentar
När du har lämnat det här fönstret är klienthemlighetsvärdet dolt och du kan inte visa eller kopiera det igen.
Steg 2 – Skapa en Microsoft Entra-säkerhetsgrupp
Tjänstens huvudnamn har inte åtkomst till något av dina Power BI-innehåll och API:er. Skapa en säkerhetsgrupp i Microsoft Entra-ID för att ge tjänstens huvudnamn åtkomst. Lägg sedan till tjänstens huvudnamn som du skapade i säkerhetsgruppen.
Kommentar
Om du vill aktivera åtkomst till tjänstens huvudnamn för hela organisationen hoppar du över det här steget.
Det finns två sätt att skapa en Microsoft Entra-säkerhetsgrupp:
Skapa en säkerhetsgrupp manuellt
Om du vill skapa en Azure-säkerhetsgrupp manuellt följer du anvisningarna i Skapa en grundläggande grupp. Lägg inte till medlemmar i gruppen just nu.
Skapa en säkerhetsgrupp med hjälp av PowerShell
Följande exempelskript skapar en ny säkerhetsgrupp. Det lägger också till tjänstens huvudnamn som du skapade tidigare i den nya säkerhetsgruppen.
- Innan du kör skriptet ersätter
<app-client-ID>
du med det klient-ID som du registrerade tidigare för din nya app. - När du har kört skriptet antecknar du objekt-ID:t för den nya säkerhetsgruppen, som du hittar i skriptutdata.
# 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)
Steg 3 – Aktivera administratörsinställningarna för Power BI-tjänst
För att en Microsoft Entra-app ska få åtkomst till Power BI-innehåll och API:er måste en Power BI-administratör aktivera följande inställningar:
- Bädda in innehåll i appar
- Tillåt tjänsthuvudnamn att använda Power BI API:er
I Power BI-administratörsportalen går du till Klientinställningar och rullar ned till Inställningar för utvecklare.
Aktivera Bädda in innehåll i appar för hela organisationen eller för den specifika säkerhetsgrupp som du skapade i Microsoft Entra-ID.
Aktivera Tillåt att tjänstens huvudnamn använder Power BI-API för hela organisationen eller för den specifika säkerhetsgrupp som du skapade i Microsoft Entra-ID.
Viktigt!
Tjänstens huvudnamn har åtkomst till alla klientinställningar som de är aktiverade för. Beroende på administratörsinställningarna omfattar detta specifika säkerhetsgrupper eller hela organisationen.
Om du vill begränsa tjänstens huvudnamnsåtkomst till specifika klientinställningar tillåter du endast åtkomst till specifika säkerhetsgrupper. Du kan också skapa en dedikerad säkerhetsgrupp för tjänstens huvudnamn och exkludera den från önskade klientinställningar.
Steg 4 – Lägga till tjänstens huvudnamn på din arbetsyta
Din Microsoft Entra-app kan endast komma åt dina Power BI-rapporter, instrumentpaneler och semantiska modeller när den har åtkomst till din Power BI-arbetsyta som medlem eller administratör. Du ger den åtkomsten genom att lägga till appens tjänsthuvudnamn eller dess säkerhetsgrupp på din arbetsyta.
Det finns tre sätt att lägga till ett huvudnamn för tjänsten eller dess säkerhetsgrupp på din arbetsyta:
Lägga till tjänstens huvudnamn eller säkerhetsgrupp manuellt
I Power BI-tjänst bläddrar du till den arbetsyta som du vill aktivera åtkomst för. På menyn Mer väljer du Åtkomst till arbetsyta.
I fönstret Åtkomst under Lägg till administratörer, medlemmar eller deltagare lägger du till något av följande:
- Tjänstens huvudnamn. Namnet på tjänstens huvudnamn är visningsnamnet för din Microsoft Entra-app, som det visas på översiktsfliken för din Microsoft Entra-app.
- Säkerhetsgruppen som innehåller tjänstens huvudnamn.
På den nedrullningsbara menyn väljer du Medlem eller Administratör.
Markera Lägga till.
Lägga till tjänstens huvudnamn eller säkerhetsgrupp med hjälp av PowerShell
Följande avsnitt innehåller PowerShell-exempelskript för att lägga till ett huvudnamn för tjänsten och en säkerhetsgrupp till en Power BI-arbetsyta som medlem.
Lägga till ett tjänsthuvudnamn som medlem i arbetsytan med hjälp av PowerShell
Följande skript lägger till ett huvudnamn för tjänsten som medlem i arbetsytan. Innan du kör skriptet:
- Ersätt
<service-principal-object-ID>
med objekt-ID:t som du registrerade tidigare för det nya tjänstens huvudnamn. - Ersätt
<workspace-name>
med namnet på arbetsytan som du vill ge tjänstens huvudnamn åtkomst till.
# 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)
Lägga till en säkerhetsgrupp som medlem i arbetsytan med hjälp av PowerShell
Följande skript lägger till en säkerhetsgrupp som medlem i arbetsytan. Innan du kör skriptet:
- Ersätt
<security-group-object-ID>
med objekt-ID:t som du registrerade tidigare för din nya säkerhetsgrupp. - Ersätt
<workspace-name>
med namnet på arbetsytan som du vill ge säkerhetsgruppen åtkomst till.
# 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)
Steg 5 – Bädda in ditt innehåll
Du kan bädda in ditt innehåll i ett exempelprogram eller i ditt eget program.
När innehållet har bäddas in är du redo att gå över till produktion.
Kommentar
Om du vill skydda ditt innehåll med hjälp av ett certifikat följer du stegen som beskrivs i Bädda in Power BI-innehåll med tjänstens huvudnamn och ett certifikat.
Beaktanden och begränsningar
- Min arbetsyta stöds inte när du använder tjänstens huvudnamn.
- En kapacitet krävs när du flyttar till produktion.
- Du kan inte logga in på Power BI-portalen med hjälp av tjänstens huvudnamn.
- Power BI-administratörsrättigheter krävs för att aktivera tjänstens huvudnamn i utvecklarinställningarna i Power BI-administratörsportalen.
- Bädda in för organisationens program kan inte använda tjänstens huvudnamn.
- Dataflödeshantering stöds inte.
- Alla skrivskyddade API:er stöds inte av tjänstens huvudnamn. Om du vill aktivera stöd för tjänstens huvudnamn för skrivskyddade administratörs-API:er aktiverar du inställningarna för Power BI-tjänst administratör i din klientorganisation. Mer information finns i Aktivera autentisering med tjänstens huvudnamn för skrivskyddade administratörs-API:er.
- När du använder tjänstens huvudnamn med en Azure Analysis Services-datakälla måste själva tjänstens huvudnamn ha Azure Analysis Services-instansbehörigheter. Att använda en säkerhetsgrupp som innehåller tjänstens huvudnamn för det här ändamålet fungerar inte.