Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Scenario
You have implemented Row Level Security to restrict users to view data accordingly but you want to create a dynamic Admin role that can be assigned to any user to view all data and at the same time, you do not want to assign Admin permission to the user.
Here is the current model
Current RLS Table
User | DeptID |
abcd@company.com | A |
abcd@company.com | B |
C | |
D | |
C |
Data Preparation
For this, you need to
User | AdminRole |
abcd@company.com | 0 |
0 | |
1 |
UserTable =
UNION(
SUMMARIZE(RLS,RLS[User],RLS[DeptID]), CROSSJOIN(SUMMARIZE(FILTER(User,User[AdminRole]=1),User[User]),SUMMARIZE(Department,Department[DeptID])))
Hide both Admin table & RLS table from the model and use this “UserTable” as RLS table to restrict users to view appropriate data
Testing
Testing as a Normal User
Testing as Admin User
You see that you can now control your users to make them admin thru the control table rather than assigning Admin permissions in the workspace or at any level.
Hopefully, this will help developers to have more control in assigning admin permission to users on data.
Regards
Farhan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.