Ajustar roles en Apache Superset

Ajustar roles en Apache Superset

En este caso vamos a ajustar roles en Apache Superset para que usuarios tengan acceso solamente a una base de datos específica, y puedan cargarle datasets desde archivos de Excel.

En este ejercicio tenemos una base de datos en MySQL llamada DATACALIDAD, para usuarios con un rol específico para esta BD. Estos usuarios deben poder cargar datasets desde archivos de Excel para cargarlos en dicha base de datos.

Para que un rol pueda trabajar con una base de datos específica (que no tenga acceso a las demás BD si las hubiere en el mismo servidor), y que pueda adicionarle dataset y todas las demás funciones de edición de dashboards y charts, debemos copiarle los permisos del rol Alpha, y después quitarle algunos permisos que ya veremos. Estas cosas las hacemos con el usuario Admin en el menú Settings -> List Roles

Ajustar roles en Apache Superset

Por ejemplo, he creado el rol llamado DataSetCalidad desde una copia de Alpha. Luego, debemos quitarle los permisos all database access all database access, también all datasource access all datasource access y menu access Databases

Ahora, debemos darle el permiso para que DataSetCalidad pueda trabajar en la base datos DATACALIDAD:  schema_access on [MySQL].[DATACALIDAD]

Ajustar roles en Apache Superset

En resumen, tenemos la lista de permisos que en este caso debe tener el rol DataSetCalidad para que solo pueda trabajar con la base de datos DATACALIDAD

can_read on CssTemplate
can_write on CssTemplate
can_read on ReportSchedule
can_write on ReportSchedule
can_read on Chart
can_write on Chart
can_read on Annotation
can_write on Annotation
can_write on Dataset
can_read on Dashboard
can_write on Dashboard
can_upload on Database
can_this_form_post on ResetMyPasswordView
can_this_form_get on ResetMyPasswordView
can_userinfo on UserDBModelView
resetmypassword on UserDBModelView
can_get on OpenApi
can_show on SwaggerView
can_get on MenuApi
can_list on AsyncEventsRestApi
can_read on AdvancedDataType
can_read on AvailableDomains
can_invalidate on CacheRestApi
can_export on Chart
can_write on Theme
can_export on Theme
can_read on Theme
can_write on DashboardFilterStateRestApi
can_read on DashboardFilterStateRestApi
can_write on DashboardPermalinkRestApi
can_read on DashboardPermalinkRestApi
can_export on Dashboard
can_delete_embedded on Dashboard
can_get_embedded on Dashboard
can_cache_dashboard_screenshot on Dashboard
can_export on Dataset
can_get_or_create_dataset on Dataset
can_duplicate on Dataset
can_get_drill_info on Dataset
can_get_column_values on Datasource
can_read on EmbeddedDashboard
can_read on Explore
can_write on ExploreFormDataRestApi
can_read on ExploreFormDataRestApi
can_write on ExplorePermalinkRestApi
can_read on ExplorePermalinkRestApi
can_export on ImportExportRestApi
can_import_ on ImportExportRestApi
can_write on Tag
can_bulk_create on Tag
can_read on Tag
can_estimate_query_cost on SQLLab
can_format_sql on SQLLab
can_recent_activity on Log
can_read on security
can_list on DynamicPlugin
can_show on DynamicPlugin
can_time_range on Api
can_query on Api
can_query_form_data on Api
can_get on Datasource
can_save on Datasource
can_external_metadata_by_name on Datasource
can_samples on Datasource
can_external_metadata on Datasource
can_list on SavedQuery
can_slice on Superset
can_dashboard_permalink on Superset
can_explore on Superset
can_fetch_datasource_metadata on Superset
can_language_pack on Superset
can_log on Superset
can_explore_json on Superset
can_dashboard on Superset
can_list on Tags
can_tags on TagView
can_read on user
can_list on UserRegistrationsRestAPI
can_show on UserRegistrationsRestAPI
can_add on UserRegistrationsRestAPI
can_delete on UserRegistrationsRestAPI
can_edit on UserRegistrationsRestAPI
can_read on SecurityRestApi
can_read on RowLevelSecurity
menu_access on Action Log
menu_access on Home
menu_access on Data
menu_access on Dashboards
menu_access on Charts
menu_access on Datasets
menu_access on Manage
menu_access on Plugins
menu_access on CSS Templates
menu_access on Themes
menu_access on Tags
menu_access on Alerts & Report
menu_access on Annotation Layers
can_csv on Superset
can_share_dashboard on Superset
can_share_chart on Superset
can_view_query on Dashboard
can_view_chart_as_table on Dashboard
can_drill on Dashboard
can_tag on Chart
can_tag on Dashboard
can_read on Dataset
can_write on Database
menu_access on SQL Editor
all_query_access on all_query_access
can_execute_sql_query on SQLLab
can_edit on UserDBModelView
menu_access on SQL Lab
menu_access on Saved Queries
can_write on SavedQuery
can_warm_up_cache on Dataset
can_read on Database
can_write on Log
can_sqllab on Superset
can_warm_up_cache on Superset
can_get_results on SQLLab
can_read on SQLLab
can_export_csv on SQLLab
can_write on SqlLabPermalinkRestApi
can_read on SqlLabPermalinkRestApi
can_sqllab_history on Superset
can_migrate_query on TabStateView
can_read on SavedQuery
can_read on Query
can_export on SavedQuery
menu_access on Query Search
can_delete_query on TabStateView
can_put on TabStateView
can_post on TabStateView
can_get on TabStateView
can_activate on TabStateView
can_delete on TabStateView
schema_access on [MySQL].[DATACALIDAD]

Con estos permisos tenemos suficiente para un buen trabajo y que no tengan acceso a crear ni a visualizar otras bases de datos ajenas al proceso.

Un paso más, en la conexión a MySQL debe tener el permiso habilitado para subir archivos y debe especificarse la base de datos al que aplica el permiso.

 

 

 

Comparte esto en
Publicado en Analitica de datos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *