Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
stevo
Helper I
Helper I

Power BI embedded for internal applications

Hi,

 

So Power BI Embedded is not permitted for internal applications. We have a internal sales system which we would like to embed Power BI into. Can someone advise if there are any options to do this without using Power BI embedded?

 

Thanks 

9 REPLIES 9
Anonymous
Not applicable

I wish someone was actually answering this question. It is so difficult to find anything about this particular case.

For internal usage in an app I think the recommended setup is to use the REST API with each user having a PowerBI account, can be free but if the dataaset uses Pro features then each user needs to be Pro.

 

Not 100% sure but seems to fit from reading through the docs (multiple times..)

Anonymous
Not applicable

I have been reading through their documentation as well. As far as I can gather, the app needs to be authenticated through Azure AD first, then requested report/dashboard (through REST API) is pulled into an iFrame. 

 

What I would like to know is if I wanted one particular dashboard available in our internal app, how does it work? Would it be enough to have one active Power BI Pro (for the analyst)?


@Anonymous wrote:

I have been reading through their documentation as well. As far as I can gather, the app needs to be authenticated through Azure AD first, then requested report/dashboard (through REST API) is pulled into an iFrame. 

 

What I would like to know is if I wanted one particular dashboard available in our internal app, how does it work? Would it be enough to have one active Power BI Pro (for the analyst)?


 

Yes I agree in that it needs to validated through Azure AD first, which is the "user' - PowerBI user.

 

I don't think you can use one account, the analyst, unless that is the only person viewing the report.

 

Each user, in this case, needs to be a PowerBI user (Azure AD). 

 

I've got as far as doing it for one user, was prior to Embed being GA so now focusing on embed as it's an external application.

 

Embed paid for by renders, Internal REST API's (AzureAD) paid for by powerBi accounts if using Pro features.

 

You might be able to do it using the master secret key but some risk with users being able to extract it and having full access to the Workspace.

Anonymous
Not applicable

Alright! After so many hours I think I somehow reached a conclusion. In the end, if a coworker wants to access a particular report/dashboard that is integrated into a web app using REST APIs (not Power BI Embedded), they need to have a Power BI account (free/pro) AND be part of the company's Azure AD (we already knew this). Free accounts can be assigned by Global Admin role in Azure AD through Office 365 Admin console. You can read the details here. This will eliminate the need of users creating Power BI accounts themselves. Users can view the dashboard through the web app if the particular dashboard is shared with them through Power BI Cloud -> Dashboard -> Share.

 

Here is a brief walkthrough under the assumption that you already have the web app built and only thing you need is Client ID and Client Secret from the REST API. Here is a C# sample from the Power BI tutorial (This tutorial talks about integrating a report into a web app. I was successful to integrate the whole dashboard. Hence, I am talking about dashboard rather than a report.)

  1. Create content in Power BI Desktop.
  2. Publish it to your Power BI Cloud.
  3. Share the dashboard with people from Power BI Cloud. These users need to be users in Azure AD. Otherwise authentication will fail.
  4. Register your web app through dev.powerbi.com/apps. Details here. This will give you a Client API and Client Secret.
  5. Modify web.config of your web app with the Client API and Client Secret you got in the previous step.
  6. Any user trying to use the web app to view the shared dashboard will need to login with their registered Power BI accounts. For first time users, a password reset will be asked.

This is really the short version. The trick is to add users to Azure AD and make sure you share the relevant dahsboard with them.

 

The only difference between a user with free account and a pro account is a banner when viewing the report. See screencaps below.

 

Free account viewing the dashboard.Free account viewing the dashboard.

Pro account viewing the dashboard.Pro account viewing the dashboard.

 

I hope this helps a bit.

Let me know how it goes for you.

Yes! agree with your process. Took me days to get to that conclusion as well.

 

No visible different really in Free or Pro reports but if the report uses any Pro features; frequency of refresh, using wordspaces etc then all users viewing it must be Pro so depending on numbers can add up quickly...

 

Hello there,
Thank you for sharing your thoughts and conclusions around here.
Let's be honest, i'm struggling...

  • What are the administrative rights needed to achieve this? Global Azure Administrator? I'm "just" the PowerBi admin... 
  • What are the licenses needed in Azure and PowerBi? We have a Azure and Azure AD (then i'm not the admin and it's quite opaque...) and we "just" use PowerBi Pro for each users (more than 400)

 

If you could help us, it would be much appreciated, hate to think that public funds are wasted if it's the case...

pritesho
Helper I
Helper I

Try looking towards Power BI Desktop canned inside your desktop app install.

" No, Power BI Embedded is only intended for use by external users and should not be used within internal business applications. In order to embed Power BI content for use in internal business applications, you should use the Power BI service, and all users consuming that content must have a valid Power BI Free or Power BI Pro user subscription license. More information on how to integrate internal applications with the Power BI service is available athttps://dev.powerbi.com."

There seems to be no information on how to use Power BI legally with an internal web application.  Any ideas on where an official solution can be found?

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.