Hi,
I’m a total newbie with Power Apps, but my client is asking me to embed a Power BI report into an existing Power App.
The Power BI report has dataverse as datasource.
The problem is that I can’t figure out how to pass the user who is logged into the Power App to Power BI in order to display only what their role permits.
Does anyone have any ideas on how to achieve this goal?
At this moment, the report shows all items to all users.
Thanks in advance.
Until now, they retrieved a table from Dataverse containing UPN, roles, and business units, and applied classic Row-Level Security (RLS). However, it appears that users change frequently, and they want to avoid relying on IT for user management. As a solution, they developed an app.
My point is this: while they manage users in Power Apps (rather than in Active Directory), I still need to access those users from Dataverse in Power BI and then apply RLS. Unfortunately, they disagree with my initial proposal to ‘capture’ the logged-in user from Power Apps and pass it to Power BI as a parameter.
@villora, how they are implementing row level security in Power BI now? Dataverse security roles can't be used in Power BI at this time.
Thanks, @AhmedSalih!
It sounds great to me, but unfortunately, my client doesn’t want to use RLS on the Power BI side. They have a table with roles and another one with business units in Dataverse, and they want to propagate them directly from Power BI.
It seems that my client’s Power App has a module for managing application users, which is why they don’t want to use Row-Level Security (RLS). This is something I find a bit puzzling (since this is the first time I’ve worked with Power Apps), because in other Power BI embedded scenarios, I’ve needed to maintain a user table in the dataset to propagate filters. However, they are adamant about avoiding this. Is it feasible?
Thanks!
Hello, @villora, if you are using the users UPN for your Power BI Dataset RLS, then you will need to use the Standard connector office 365 users. Then you will pass the UPN to your Power BI reports as the follow:
in the TileURL property of the Power BI control in the Canvas Apps: "<your report url>/&filter=TableName/ColumnName eq ' Office365Users.MyProfile().UserPrincipalName '
TableName: the table in your Dataset where you have the column that is being used for the RLS.
ColumnName: the column in your Dataset that is being used for the RLS.
If my reply helped you, please give a 👍 If it solved your issue, please give a 👍 & accept it as the Solution to help other community members find it more.
Visit my Blog: ahmedsalih.blog
Visit my YouTube Channel: https://www.youtube.com/@powerplatformplace/videos