Innan du kan använda Power BI Embedded-analys måste du registrera ett Azure Active Directory-program (Azure AD) i Azure. Azure AD-appen upprättar behörigheter för Power BI REST-resurser och ger åtkomst till Power BI REST-API:erna.
Välja inbäddningslösning
Innan du registrerar din app måste du bestämma vilken lösning du ska använda:
Bädda in för dina kunder
Bädda in för din organisation
Bädda in för dina kunder
Använd lösningen Embed for your customers (Bädda in för dina kunder), även kallad appen äger data, om du ska skapa ett program som är utformat för dina kunder. Användarna behöver inte logga in i Power BI eller ha en Power BI-licens för att använda programmet. Programmet autentiserar mot Power BI med hjälp av någon av följande metoder:
Huvudanvändarkonto (en Power BI Pro-licens som används för att logga in i Power BI)
Lösningen Embed for your customers (Bädda in för dina kunder) används vanligtvis av oberoende programvaruleverantörer (ISV) och utvecklare som skapar program för en tredje part.
Bädda in för din organisation
Använd lösningen Embed for your organization (Bädda in för din organisation), även kallad användare äger data, om du ska skapa ett program som kräver att användarna autentiserar mot Power BI med sina autentiseringsuppgifter.
Lösningen Embed for your organization (Bädda in för din organisation) används vanligtvis av företag och stora organisationer och är avsedd för interna användare.
Registrera en Azure AD-app
Det enklaste sättet att registrera en Azure AD-app är att använda konfigurationsverktyget för inbäddning med Power BI. Med det här verktyget kan du snabbt registrera båda inbäddningslösningarna via ett enkelt grafiskt gränssnitt.
Om du skapar ett program med lösningen Embed for your organization (Bädda in för din organisation) och vill ha bättre kontroll över din Azure AD-app, kan du registrera den manuellt på Azure-portalen.
Välj Embed for your customers (Bädda in för dina kunder) i avsnittet Välj en inbäddningslösning.
I Steg 1 – Logga in i Power BI loggar du in med en användare som tillhör din Power BI-klientorganisation. Azure AD-appen registreras under den här användaren.
Om du redan är inloggad kontrollerar du att du är inloggad med den användare som du vill använda för att skapa Azure AD-appen. Om du vill byta användare väljer du länken Logga ut och loggar in igen när verktyget har startats om.
I Steg 2 – Registrera ditt program fyller du i följande fält:
Program-ID:t för din Azure AD-app visas i rutan Sammanfattning. Kopiera det här värdet. Du ska använda det senare.
(Valfritt) I Steg 3 – Skapa en arbetsyta kan du skapa en arbetsyta i Power BI-tjänsten.
Om du redan har en Power BI-arbetsyta väljer du Hoppa över.
Du skapar en arbetsyta genom att först ange ett namn på arbetsytan och sedan välja Skapa arbetsyta. Arbetsytans namn och ID visas i rutan Sammanfattning. Kopiera dessa värden. Du ska använda dem senare.
Anteckning
För att exempelappen med Embedded-analys ska fungera som förväntat måste du skapa en arbetsyta med hjälp av verktyget.
(Valfritt) I Steg 4 – Importera innehåll väljer du ett av följande alternativ:
Om du har en egen Power BI-app kan du välja Hoppa över.
Om du vill skapa en Power BI-exempelapp med hjälp av en exempelrapport väljer du alternativet för Power BI-exempelrapporter och sedan Importera.
Om du vill skapa en Power BI-exempelapp med hjälp av en egen rapport väljer du alternativet för att ladda upp en PBIX-fil, letar upp din fil och väljer sedan Importera.
I Steg 5 – Bevilja behörigheter väljer du Bevilja behörigheter och väljer Godkänn i popup-fönstret. Nu får din Azure AD-app åtkomst till de API:er som du har valt (även kallade omfång) med din inloggade användare. Den här användaren kallas även huvudanvändare.
(Valfritt) Om du har skapat en Power BI-arbetsyta och överfört innehåll till den med hjälp av verktyget, kan du ladda ned exempelprogrammet. Kopiera all information i rutan Sammanfattning.
Anteckning
Om du hoppade över de valfria stegen kan du fortfarande ladda ned en Power BI-exempelapp. Koden i den nedladdade appen kommer inte att innehålla de egenskaper som du inte fyllde i under registreringen. Om du till exempel inte skapade en arbetsyta kommer exempelappen inte att ha något arbetsyte-ID.
I de här stegen beskriver vi hur du registrerar ett Azure AD-program för Power BI-lösningen Embed for your organization (Bädda in för din organisation).
Välj Embed for your organization (Bädda in för din organisation) i avsnittet Välj en inbäddningslösning.
I Steg 1 – Logga in i Power BI loggar du in med en användare som tillhör din Power BI-klientorganisation. Azure AD-appen registreras under den här användaren.
Om du redan är inloggad kontrollerar du att du är inloggad med den användare som du vill använda för att skapa Azure AD-appen. Om du vill byta användare väljer du länken Logga ut och loggar in igen när verktyget har startats om.
I Steg 2 – Registrera ditt program fyller du i följande fält:
Programnamn – Ge programmet ett namn.
URL till startsidan – Ange en URL för startsidan.
Omdirigerings-URL – När du loggar in omdirigeras dina programanvändare till den här adressen medan programmet tar emot en autentiseringskod från Azure. Välj något av följande alternativ:
Använd en standard-URL – Med det här alternativet skapas och hämtas automatiskt ett exempel på ett inbäddat analysprogram. Standard-URL:en är http://localhost:13526/.
Använd en anpassad URL – Välj det här alternativet om du redan har ett inbäddat analysprogram och du vet vad du vill använda som omdirigerings-URL.
Värdena för Program-ID och Programhemlighet för din Azure AD-app visas i rutan Sammanfattning. Kopiera dessa värden. Du ska använda dem senare.
(Valfritt) I Steg 3 – Skapa en arbetsyta kan du skapa en arbetsyta i Power BI-tjänsten.
Om du redan har en Power BI-arbetsyta väljer du Hoppa över.
Du skapar en arbetsyta genom att först ange ett namn på arbetsytan och sedan välja Skapa arbetsyta. Arbetsytans namn och ID visas i rutan Sammanfattning. Kopiera dessa värden. Du ska använda dem senare.
Anteckning
För att exempelappen med Embedded-analys ska fungera som förväntat måste du skapa en arbetsyta med hjälp av verktyget.
(Valfritt) I Steg 4 – Importera innehåll väljer du ett av följande alternativ:
Om du har en egen Power BI-app kan du välja Hoppa över.
Om du vill skapa en Power BI-exempelapp med hjälp av en exempelrapport väljer du alternativet för Power BI-exempelrapporter och sedan Importera.
Om du vill skapa en Power BI-exempelapp med hjälp av en egen rapport väljer du alternativet för att ladda upp en PBIX-fil, letar upp din fil och väljer sedan Importera.
(Valfritt) Om du har skapat en Power BI-arbetsyta och överfört innehåll till den med hjälp av verktyget, kan du ladda ned exempelprogrammet. Kopiera all information i rutan Sammanfattning.
Anteckning
Om du hoppade över de valfria stegen kan du fortfarande ladda ned en Power BI-exempelapp. Koden i den nedladdade appen kommer inte att innehålla de egenskaper som du inte fyllde i under registreringen. Om du till exempel inte skapade en arbetsyta kommer exempelappen inte att ha något arbetsyte-ID.
Använd endast den manuella Azure AD-appregistreringen om du skapar någon av följande lösningar:
En inbäddning för organisationens app.
En inbäddning för kundernas app med tjänstens huvudnamn.
Välj din Azure AD-klientorganisation genom att välja ditt konto i hörnet längst upp till höger på sidan.
Välj Appregistreringar. Om du inte ser det här alternativet söker du efter det.
Välj din app på fliken Ägda program. Programmet öppnas på fliken Översikt där du kan granska program-ID:t.
Välj fliken API-behörigheter.
Du lägger till behörigheter genom att följa dessa steg:
Välj Lägg till en behörighet och välj sedan Power BI-tjänst.
Välj Delegerade behörigheter och lägg till eller ta bort de specifika behörigheter som du behöver.
När du är klar väljer du Lägg till behörigheter för att spara ändringarna.
Följ dessa steg om du vill ta bort en behörighet:
Välj ellipsen (...) till höger om behörigheten.
Välj Ta bort behörighet.
Välj Ja, ta bort i popup-fönstret Ta bort behörighet.
Om du vill ändra dina behörigheter för Azure AD-appen via programmering måste du hämta tjänstens befintliga huvudkonton (användare) i din klientorganisation. Mer information om hur du gör det finns i servicePrincipal.
Om du vill hämta alla tjänstens huvudkonton i din klientorganisation anropar du Get servicePrincipalAPI:et utan {ID}.
Du kan söka efter ett huvudnamn för tjänsten med appens program-ID som appId-egenskap.
Ge Power BI behörigheter till din app genom att tilldela något av följande värden till consentType:
AllPrincipals – Kan endast användas av en Power BI-administratör för att bevilja behörigheter till alla användare i klientorganisationen.
Principal – Använd det här alternativet om du vill bevilja behörigheter åt en specifik användare. Om du använder det här alternativet lägger du till egenskapen principalId={User_ObjectId} i begärandetexten.
Om du använder en huvudanvändare och inte vill att Azure AD ska be om ditt godkännande, måste du bevilja behörigheter till huvudkontot.
resourceIdc78a3685-1ce7-52cd-95f7-dc5aea8ec98e är klientoberoende och inte universell. Det här värdet är Power BI Service-programmets objectId i Azure AD. Du kan hämta värdet från Azure-portalen genom att gå till Företagsprogram > Alla program och söka efter Power BI-tjänst.
Ge appen behörighet till Azure AD genom att tilldela ett värde till consentType.
Du kan också ändra dina behörigheter för Azure AD-appen med hjälp av C#. Mer information finns i API:et oAuth2PermissionGrant. Den här metoden är bra om du funderar på att automatisera en del av dina processer.
Mer information om HTTP-begärandena finns på fliken HTTP.
var graphClient = GetGraphClient();
currentState.createdApp = await graphClient.Applications
.Request()
.AddAsync(application);
System.Threading.Thread.Sleep(2000);
var passwordCredential = new PasswordCredential
{
DisplayName = "Client Secret Created in C#"
};
currentState.createdSecret = await graphClient.Applications[currentState.createdApp.Id]
.AddPassword(passwordCredential)
.Request()
.PostAsync();
var servicePrincipal = new ServicePrincipal
{
AppId = currentState.createdApp.AppId
};
currentState.createdServicePrincipal = await graphClient.ServicePrincipals
.Request()
.AddAsync(servicePrincipal);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
// Use oAuth2PermissionGrant to change permissions
var oAuth2PermissionGrant = await graphClient.Oauth2PermissionGrants["{id}"]
.Request()
.GetAsync();