Forum Discussion
RLS managed ‚Deanonymization‘
- 6 months ago
Hi all,
in the end it was a mix of all - and I am not really at the end yet. So far:
- I created a randomized ID in the main query which changes with each daily refresh. RandomID is the basis of all visuals.
- Names_ is still under RLS and unrelated to main_
- in Main_ I added a measure 'Name' returning the clear name (I.e., Ben) when available in names_, else returning classified
- Example bar chart: use RandomID for category axis. Hide Axis. Use clear name as data label ✅
works well since, RandomID is really hard to track back AND all visuals work fine due to RandomID being a column and not a measure.
With RLS, I do not think you can achieve what you are looking for within a single measure pointed at the same table with RLS applied. RLS will remove the other rows from 'Ben' meaning Ben's total will only be 8.
I am also not sure if you could display 'classified' per row like that for Ben to see row level context without seeing names (short of creating multiple agregated tables which is probably not feesable)
To allow Ben (and other users) to see the total of 15 would be possible with an agregated table, however it would look something like this (i.e. missing the 'classified' rows:
| Name | Amount |
| Ben | 8 |
| Total | 15 |
Hi,
About showing single 'classified' rows: I would use TID to build the visual and was hoping to use the name column as label. Not sure how to do that, but I am under the impression, that I have seen something like that before. Otherwise I would adapt the measure to 'use clear name if available else use TID'
Also: I tables main_ and names_ are not related. So RLS on names_ does not reduce the rows of main_
BR