Forum Discussion
Dynamic Row Level Security
Hello,
I am relatively new to PBI and working on implementing dynamic row level security. The goal is for the user to be able to see values for a specific field they have access to and blank values for all other values in that field they do not have access to. For example, a person has access to see position grades GR_1-5 but not GR_7-12 so in the table visual they should see values for 1-5 and blanks if a that row is a grade 6+ (these are not numerical grades and a similar problem will be posed by other data fields down the road).
I have a few tables currently, with the Employee table housing the sensitive data and an Employee non sensitive table for non-sensitve data. There are also 2 dimension tables (location and position grade) along with 2 RLS tables that define what a person should have access to. The visual will use as much data from the non-sensitive table as possible with only sensitive data like grade coming from the Employee table.
Relationship model-
At some point there will be multiple RLS groups, but for now I am using the following code on the Employee table (for position grade- there is a similar code for location too but that is in a different RLS group right now but if it can be added to the same group that is also great) -
This is what my department has been tasked with to mirror PBI to what other data individuals see in our other systems. Filtering down to just show what they have full access to is in the RLS table was what I started with, but now we need to make sure they can see all employees (not just the filtered down people) but only have access to their permissioned data for sensitve data fields with other values just simply being blank.