Can i use Power BI Embedded with my own user authentication database - powerbi

I developed my own user database that I integrated with my Customer-Facing Web Portal. Each customer has a login/password that is stored in my own user db.
I Would like to know if can i use the Power BI embedded to embed a dashboard in my Web Portal and use Row Level Security to restrict access to some data based on User or another attribute (like "COMPANYNAME")?
Thanks!

Related

PowerBI Embedded without AD using data from AAS

We have the below architecture to be built. The web application is not integrated with AD and has a its own user auth (User and Tenant mapping table). We need embed the PowerBI reports and use the app user table for RLS.
The architecture is as below. Please advise
https://ibb.co/DDWG6Rg
Note: Azure Analysis Services uses Azure Active Directory (Azure AD) for identity management and user authentication. Any user creating, managing, or connecting to an Azure Analysis Services server must have a valid user identity in an Azure AD tenant in the same subscription.
For more details, refer "Azure Analysis Services Authentication".
Power BI Embedded does support using RLS against AAS using the CUSTOMDATA() function.
For more details, refer similar ask in PowerBI forum: https://community.powerbi.com/t5/Service/Azure-Analysis-Services-RLS-and-Embedding/td-p/239127
Hope this helps.

How to remove the signin page from the report when Power BI report is embedded into Web Application using Secure Embed Option

I have a web application in which Azure Active Directory authentication is implemented.
Now I am embedded my Power BI reports in this Web Application using Secure Embed Option.
Whenever a user logs into the web application, he sees a separate sign in button on the Power BI reports after successful login into Web Application.
Is there a way to automatically signin into Power BI reports using the currently logged in user.
Currently logged in user has access to both Azure AD as well as Power BI.
Secure embed option is used to embed a report in a given iframe where every user would need to sign-in within the iframe.
In order to provide a single sign-on experience, you would need to use the user login authentication to generate an access token.
Generating access tokens -
C# - https://learn.microsoft.com/en-us/power-bi/developer/get-azuread-access-token
JS - (Using ADAL) https://github.com/AzureAD/azure-activedirectory-library-for-js
This access token can then be used to embed reports within an HTML container (for example, a div element) using the Power BI embedded JS library.
When the token is created as per the different users logging in, then such implementation is called as 'User Owns Data'.
Sample code and summary - https://learn.microsoft.com/en-us/power-bi/developer/embed-sample-for-your-organization
Embed setup tool for user owns data: https://app.powerbi.com/embedsetup/UserOwnsData

How to implement user specific dashboards in Microsoft PowerBI

We have a multi tenant webapp which is used by around 300/400 users and growing. We want to use PowerBI to visualize the data and embed it inside our web app. Our ultimate goal is that each user can have their own dashboard based on their role and if PowerBI allows we also want users to edit dashboards from within the Web App. Is it possible? What should be the best practice to implement it and what type of Power BI license would it require?
App: MVC 5 Azure Web App
Database: Azure SQL database with Row Level Security
It is not possible to edit dashboards in Power BI Embedded, only reports. So lets assume each user will have his own report. When a new user is registered, you can use Clone Report In Group API to provide a standard template report to start with.
When embedding, there are two models - user owns data and app owns data. In the first mode each user needs Power BI Pro license, while in the second you need a single "master" account with Pro license. It is highly recommended to buy a dedicated capacity by purchasing Power BI Premium or Power BI Embedded.
For best practices and details about the implementation, you can read Tutorial: Embed Power BI content into an application for your organization article.

Azure portal's active directory app integration with power bi content

I have created an native app enabling powerbi service permissions in azure portal going through azure active directory -> app registration. Now I want to create power bi reports, workspace on that created app but if I go to https://app.powerbi.com I can't see that created app on my power bi app.
I am confused here actually how to add power bi reports under that app because I want to access power bi rest api using adal.js lib where I need app id and want to access reports under that app.
Anybody can clear my confusion here?
Your confusion is with the terms "Apps" in Power BI. The app you registered has nothing in common with these. It is a guid, used from Power BI to identify your native app.
When you create a native app, you register it (what you did) and Power BI REST API uses this appID (also called ClientID) to identify your app and the permissions it has. When you call the API, you need an access token. It will be acquired in the context of some user. This user must have rights for the reports you want to access. So simply make a workspace, grant rights to users and publish your reports there. Then you will be able to embed them in your app.

How to get power bi dashboard in our own application?

I am new to power bi. I have power bi account there I created some dashboards with some reports, now I want to consume those dashboard and report using power bi rest API (https://learn.microsoft.com/en-us/rest/api/power-bi/)in our own application. Our application we used the .net core for back-end and angular 6 for the front end. We need to call power bi API from the .net core. If I change report in power it should also reflect in our application. I am new so I am not understanding from where to start?
Start by reading these:
Embedding with Power BI
Tutorial: Embed a Power BI report, dashboard, or tile into an application for your customers
Microsoft Power BI Embedded Playground
In essence, you need to authenticate using Azure Active Directory Authentication Libraries (ADAL), obtain the embedUrl of the dashboard, it's id and the id of the group in which it is. It will be loaded in a div section of a html file using the embedded client. For more details look at the official samples. App Owns Data means that for authenticating you are using one account, which your application knows (e.g. user name and password stored in the configuration), while User Owns Data means that each user uses his own Power BI credentials to access the embedded elements.