In this article an overview of the Row Level Security options in Webdashboard are shown. This article expects you know you to configure Row Level Security in your Power BI Report. If you don't know, the quickest way to learn is to read this Microsoft Learn page https://learn.microsoft.com/en-us/fabric/security/service-admin-row-level-security . This explains how to configure the roles in the reports and how to test them in Power BI services. The second part can’t be done in Power BI Services in combination with Webdashboard. So please do this in Webdashboard.
Webdashboard RLS basic concepts
When opening the Row Level Security settings in Webdashboard, you’ll see all the reports that have roles connected to them.
First two columns show the name and location of the report. Then the roles connector to the report, it is possible to connect multiple. An action button to connect roles, and a way for specific reports to Force roles.
Webdashboard will not load a report, when roles are configured in the report and no roles are connected to the report in Webdashboard. To fix this, just click the configure roles button. You can select the roles you want to configure.
After closing this screen, you’ll return to the Row Level Security overview screen and see your report roles are configured.
Different roles on same report
This can be useful when you have insights that can be useful for multiple companies. For example you made a Marketing Deepdive that you can easily personalize with marketing data from a specific company.
Of course, in this case you can make a copy of your main report for every customer and load personalized data into it. Maintenance on that would be a lot of work.
One option to have only one report to manage is to create a role per company in your report. This way you can have 1 semantic model for all you customers. Just place the same report in different Webdashboard workspaces and connect a corresponding role.
Dynamic roles
These are the most maintenance friendly, but hardest to get right. Dynamic roles only work when you have all the users you have available in Webdashboard, in your datamodel. When configuring a role in Power BI Desktop, in the filter code, just type username(). So instead of filtering by company or department, filter by username. If your datamodel knows which company belongs to a user, the row level filtering will only show the correct data for that user. This way when you connect a new company to you datamodel, nothing needs to be done in the Power BI report or Webdashboard. Just invite the user.
User roles
Webdashboard also have the possibility to connect a role to a specific user (groups will be implemented in the future).
So for example your report RLS needs to be filtered on Countries. You support over 75 countries. Users can only see data from one or more countries. Usernames are not available in your datamodel. You decide to create one role per country.
If we want to connect the Role ‘Canada’ and ‘Germany’ to a specific user, first open the RLS screen by navigating to the report, and then click on Row Level Security.
Here click on the ‘User roles’ tab and select Canada. Search for the user you want to connect an click add. Now do the same for Germany.
Testing Roles
Webdashboard makes testing really easy. Go to a report, click on the Row Level Security button and navigate to the ‘Test’ tab. Then search for the user you want to test the report for (or just an email address, so you can test if everything works, before you invite the user).
After you click Test RLS, Webdashboard will be show only the workspace that user has rights on and apply the roles for that user on the reports. You can see which user you are testing.
Workspace User Admin
It’s possible for a Workspace user admin to manage the roles for his users. This can be turned on/off in the Webdashboard settings.
When this is enabled the Row Level Security button on the report will be visible for the Workspace User Admin. The Global Roles tab will not be displayed, only the ‘User Roles’ tab and ‘Test’ tab will be displayed. In User Roles and the Test tab, only users that the Workspace User Admin manages will be shown.
Force Role
Roles can be configured in multiple ways, but there are two different behaviors in Webdashboard.
The role is configured on a Semantic model in Power BI.
Webdashboard will not load reports that have roles defined, before you connect a role to the report. So it will automatically force you to set a role. The only way to show all the data when your report contains a role is to add a NoRLS role, with no filters.
The role is configured outside of Power BI.
In this case the Force role option will be available. Power BI connects to some datasources with an external Live Connection. An example is Analysis Services (in Azure or On-premises). For more information about configuring an Analysis Service:https://cdn.webdashboard.com/resources/Webdashboard%20-%20Analysis%20Services.pdf
Because of how (external) Live Connections work, roles are required by default in the semantic model. So Webdashboard has no way to know if roles are added for Row Level Security or just to give access to the report.
To keep everything as secure a possible, force role is enabled by default. This will make sure a role is connected to a report, before it’s loaded. In case someone accidently delete’s a role, or you apply roles per user and you forgot to apply a role for one user with access. You can uncheck this if you don't want RLS on this report.