Closed
Description
Our current RBAC structure doesn't work very well for developing streamlit apps based on data in the prod marts database (ANALYTICS_PRD
):
- Streamlit apps are database objects that need to be created in a specific place with a specific role
- When developing a streamlit app, it makes most sense to use the
ANALYTICS_DEV
database andREPORTER_DEV
role. - But that role doesn't have access to the prod data
- Normally when using external BI tools, people can connect using the
REPORTER_PRD
role. This is pretty safe, since it only has read-only permissions on that data. - But if they enable the
TRANSFORMER_PRD
role, they have to create the streamlit app in theANALYTICS_PRD
database. This isn't particularly satisfying as a developer to create test objects in prod.
There are a few things we might want to consider:
- Are there any tweaks to the RBAC structure that would make this work better?
- Can we solve this with documentation? Perhaps the best way is to just have the user build the appropriate marts in
ANALYTICS_DEV
and develop against that. With appropriate dbt deferral, it needn't be super onerous to do that. - Can we change the execution role of a streamlit app after it is created?