EnableYourData.nl

Kennisbank · Power BI

Wat is Power BI Embedded?

Power BI Embedded is de manier om Power BI-rapporten en -dashboards in je eigen applicatie, website of portaal te tonen, in plaats van in de Power BI-service van Microsoft. Er zijn twee varianten: insluiten voor je organisatie, waarbij gebruikers inloggen met hun eigen Microsoft-account, en insluiten voor je klanten, waarbij de applicatie de toegang regelt via een service principal en eindgebruikers geen Power BI-licentie nodig hebben. Voor die tweede variant heb je in productie een capaciteit nodig.

Kernpunten

  • Power BI Embedded toont Power BI-rapporten in je eigen applicatie of portaal, met de interactiviteit van Power BI.
  • Bij insluiten voor je organisatie loggen gebruikers in met hun eigen Microsoft Entra-account en hebben ze zelf rechten en een passende licentie nodig.
  • Bij insluiten voor je klanten regelt de applicatie de toegang via een service principal; eindgebruikers hebben geen Power BI-account nodig.
  • Voor insluiten voor klanten in productie heb je een Power BI Embedded- of Microsoft Fabric-capaciteit nodig.
  • Publiceren op internet maakt een rapport openbaar en is nooit geschikt voor bedrijfsgegevens.

Power BI Embedded in het kort

Power BI Embedded is de verzamelnaam voor de mogelijkheden van Microsoft om Power BI-rapporten, -dashboards en losse visuals in een eigen applicatie te tonen. De gebruiker werkt dan niet in de Power BI-service, maar in jouw portaal, intranet of softwareproduct. Filteren, doorklikken en bladeren tussen pagina's werken zoals in Power BI zelf.

Technisch gaat het zo: de server van jouw applicatie meldt zich aan bij Microsoft Entra ID en vraagt via de Power BI REST API een embedtoken aan. Dat token is kortlevend en geldt alleen voor de rapporten en semantische modellen die je opgeeft. De browser laadt het rapport daarna met de JavaScript-bibliotheek van Power BI. Geheimen, zoals het wachtwoord van de applicatie, blijven op de server.

Let op: Microsoft gebruikt "Power BI Embedded" ook als naam voor de capaciteit die je via Azure afneemt. In dit artikel gaat het vooral over de techniek en de keuzes die je maakt.

Insluiten voor je organisatie of voor je klanten

Microsoft onderscheidt twee scenario's. Bij insluiten voor je organisatie ("user owns data") meldt elke gebruiker zich aan met een eigen Microsoft Entra-account, en Power BI controleert zelf of die persoon het rapport mag zien. Bij insluiten voor je klanten ("app owns data") meldt alleen de applicatie zich aan bij Microsoft. Jouw applicatie bepaalt dan wie welk rapport en welke data te zien krijgt.

Het belangrijkste verschil zit in de verantwoordelijkheid. In het eerste scenario regelt Microsoft de toegang; in het tweede is jouw applicatie de poortwachter, en moeten login, rechten en filtering daar kloppen.

Insluiten voor je organisatieInsluiten voor je klanten
Ook bekend alsUser owns dataApp owns data
Wie meldt zich aan bij MicrosoftElke gebruiker, met een eigen Microsoft Entra-accountAlleen de applicatie, via een service principal
Licentie eindgebruikerPassende Power BI-licentie, afhankelijk van je licentiemodelGeen Power BI-licentie nodig
Wie bepaalt de toegangDe rechten in de Power BI-serviceJouw applicatie, met rollen en RLS in het embedtoken
Typisch gebruikIntranet, SharePoint, interne toolsKlantportaal, SaaS-product, portaal voor leveranciers of franchisenemers
Capaciteit nodigNiet per seJa, voor productie

De rol van de service principal

Een service principal is de identiteit van een applicatie in Microsoft Entra ID. Je maakt een app-registratie aan en krijgt een client-ID en een geheim of certificaat. Daarmee meldt je applicatie zich aan, zonder dat er een persoonlijk account aan te pas komt.

Om een service principal met Power BI te laten werken, moet een beheerder in de tenantinstellingen toestaan dat service principals de API's van Power BI en Fabric gebruiken, bij voorkeur beperkt tot een beveiligingsgroep. Daarna voeg je de service principal toe aan de werkruimtes met de rapporten die je wilt insluiten. Microsoft adviseert een service principal boven een hoofdaccount (master user) met gebruikersnaam en wachtwoord. Let bij de inrichting op deze punten:

  • Bewaar het geheim alleen op de server en versleuteld, nooit in de browser of in de broncode.
  • Geef de service principal alleen toegang tot de werkruimtes die echt nodig zijn.
  • Laat geheimen verlopen en vernieuw ze tijdig, zodat een gelekt geheim niet onbeperkt bruikbaar blijft.
  • Gebruik per klant of omgeving een aparte service principal als je klanten strikt wilt scheiden.

Capaciteit en licenties in grote lijnen

Voor insluiten voor je klanten in productie moet de content in een werkruimte staan die aan een capaciteit is gekoppeld: gereserveerde rekenkracht in de cloud van Microsoft. Dat kan een Power BI Embedded-capaciteit via Azure zijn of een Microsoft Fabric-capaciteit.

Zonder capaciteit kun je met een Power BI Pro-licentie wel ontwikkelen en testen, maar het aantal embedtokens is dan beperkt en niet bedoeld voor productie. Wie rapporten maakt en publiceert, heeft daarnaast nog steeds een eigen licentie nodig, zoals Power BI Pro.

Hoe groot de capaciteit moet zijn, hangt af van het aantal gelijktijdige gebruikers, de grootte van je semantische modellen en hoe vaak je ververst. Microsoft past licenties en productnamen regelmatig aan. Kijk daarom altijd naar de actuele documentatie voordat je een keuze maakt.

Wanneer heb je Power BI Embedded nodig?

Werk je alleen met een intern team dat al Power BI-licenties heeft, dan is delen via de Power BI-service of een Power BI-app meestal eenvoudiger. Insluiten voegt dan vooral bouw- en beheerwerk toe.

Power BI Embedded wordt zinvol zodra je rapporten buiten de Power BI-service wilt tonen, of aan mensen buiten je organisatie. Typische situaties:

  • Je wilt dashboards delen met klanten, leveranciers, franchisenemers of andere externen die geen account in jouw Microsoft-omgeving hebben.
  • Je wilt rapporten tonen in je eigen portaal of product, in je eigen huisstijl en naast andere functies.
  • Je hebt veel lezers die alleen kijken, waarvoor een licentie per persoon onpraktisch wordt.
  • Elke externe partij mag alleen de eigen cijfers zien, wat je regelt met row-level security in het embedtoken.

Alternatieven: publiceren op internet en delen in de Power BI-service

Publiceren op internet (Publish to web) maakt een openbare link of insluitcode. Iedereen met die link ziet het rapport, zonder in te loggen. Links kunnen worden doorgestuurd of gevonden, en Microsoft waarschuwt zelf dat deze optie niet bedoeld is voor vertrouwelijke informatie. Gebruik het dus nooit voor bedrijfsdata. Een beheerder kan de functie in de tenantinstellingen uitzetten.

Delen in de Power BI-service, via een deellink, een werkruimte of een Power BI-app, is de standaard voor interne rapportage. Iedereen heeft dan een account nodig in je Microsoft Entra ID, als medewerker of als gastgebruiker, en een passende licentie.

Voor een intranet- of SharePoint-pagina kun je ook beveiligd insluiten gebruiken: de kijker moet dan inloggen en rechten hebben op het rapport. Handig voor interne pagina's, maar geen oplossing voor externe klanten.

Zelf bouwen of een bestaand portaal gebruiken

Wie insluiten voor klanten zelf bouwt, heeft meer nodig dan alleen een embedtoken: een eigen login, bij voorkeur met tweestapsverificatie, gebruikersbeheer, een koppeling tussen gebruikers en Power BI-rollen, het vernieuwen van tokens, logging en bewaking van verversingen.

ENABLE van Data Analytics B.V. is zo'n bestaand portaal. Power BI-rapporten worden er via Power BI Embedded in getoond, met een Microsoft Entra service principal die je per klant instelt; het geheim wordt versleuteld opgeslagen. Toegangsprofielen bepalen wie welke dashboards ziet, row-level security filtert de data per gebruiker en het activiteitenlog registreert ook embed-sessies.

FAQ

Veelgestelde vragen

Wat is Power BI Embedded?

Power BI Embedded is de manier om Power BI-rapporten en -dashboards in een eigen applicatie, website of portaal te tonen. Je applicatie vraagt via de Power BI REST API een kortlevend embedtoken aan en laadt het rapport daarmee in de browser.

Hebben gebruikers een Power BI-licentie nodig bij Power BI Embedded?

Dat hangt af van het scenario. Bij insluiten voor je klanten (app owns data) hebben eindgebruikers geen Power BI-licentie nodig, omdat de applicatie zich aanmeldt en de organisatie een capaciteit afneemt. Bij insluiten voor je organisatie loggen gebruikers zelf in en hebben ze een passende licentie nodig.

Wat is het verschil tussen Power BI Embedded en publiceren op internet?

Publiceren op internet maakt een rapport openbaar: iedereen met de link kan kijken, zonder in te loggen. Bij Power BI Embedded bepaalt je applicatie wie toegang krijgt en werkt alles met kortlevende tokens, eventueel met row-level security per gebruiker. Voor bedrijfsdata is alleen dat tweede geschikt.

Wat is een service principal in Power BI?

Een service principal is de identiteit van een applicatie in Microsoft Entra ID. Een applicatie gebruikt die om zich zonder persoonlijk account aan te melden bij Power BI, bijvoorbeeld om embedtokens aan te vragen. Een beheerder moet het gebruik van de Power BI-API's door service principals toestaan, en de service principal moet toegang hebben tot de werkruimte.

Werkt row-level security met Power BI Embedded?

Ja. Bij insluiten voor je klanten geeft de applicatie in het embedtoken een effectieve identiteit mee: een gebruikersnaam, een of meer rollen en optioneel een extra waarde voor CUSTOMDATA(). Power BI past de RLS-regels van het semantische model toe voor die identiteit.

Heb ik een capaciteit nodig voor Power BI Embedded?

Voor insluiten voor je klanten in productie wel: de content moet in een werkruimte op een Power BI Embedded- of Fabric-capaciteit staan. Om te ontwikkelen en te testen kun je met een Pro-licentie een beperkt aantal embedtokens gebruiken.

Veilig delen, snel live, zonder hoofdpijn

In een online demo laten we het portaal zien: dashboards per rol, row-level security, vragen in gewone taal en hoe wij het voor je inrichten en beheren.