bjornhauge opened a new issue, #19632:
URL: https://github.com/apache/superset/issues/19632

   I've not yet gotten very far into superset, so forgive me if there's an 
important piece I'm missing.
   
   **Is your feature request related to a problem? Please describe.**
   Sometimes there is a really big pattern of generating roles and row-level 
security filters for purposes that do not fit the concept of static application 
roles very well, and instead are better thought of as dynamic identity-based 
attributes ("dynamic" from the application's perspective, not necessarily 
meaning that they'd change over time for a specific person).
   
   For example, think about trying to make a dashboard for each employee in a 
company to view their own payroll deductions. Which employees exist is not a 
matter of "application setup" or "security model", it's a matter of user 
management. Unless there's a piece of Superset's RLS that I'm missing, each 
employee would need to have their own role, and each role would need to have 
its own filter. And if any of that setup failed, they'd be able to see 
everyone's data.
   
   This is made especially important by the fact that Superset doesn't query 
data from a relational model of its own (like Power BI does, for example), 
meaning that each of the ultimate data source tables has to have its own RLS 
filters (whereas if it had its own relational models, security filters could be 
applied to related tables)[^1].
   [^1]: This propagation of security filters would be like if a whole bunch of 
the queries for a given dashboard came from a single SQL statement with 
multiple queries, and they all referenced a single "security" CTE, and that CTE 
took a filter parameter.
   
   **Describe the solution you'd like**
   Add some kind of RLS filter syntax, (autocomplete? :grin:), and validation 
for User model attributes to the front end, and make use of them in the back 
end. All the other concepts such as filters attached to roles, and users 
assigned to roles, and so on, would be unchanged. Flask-AppBuilder makes it 
pretty easy to augment the User model, and I wonder if Superset could by 
default add a bunch of generic custom attributes.
   
   **Describe alternatives you've considered**
   In the context of the example, adding a user-specific role for each user.
   
   **Additional context**
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to