superset的权限控制确实是相当的蛋疼,需要一个个进行选择,太过麻烦,而且原始提供的几个角色一旦初始化后就会恢复默认值。
所以建议的做法是创建新角色,然后复制默认角色的权限,再进行修改,比如只能看dashboard,只能用sql lab,或者只给予某个数据库的权限,再给用户搭配某几个角色,以实现权限管控目的。
示例如下:
数据库拷贝方式
-
在角色列表新建一个角色:
因为没有勾选任何权限,所以这个角色一开始的权限全部为空,也就是啥也看不了。 -
打开数据库,查看新建账号的id:
- 执行以下sql,直接把alpha的权限全部拷贝过来:
# 为新角色批量拷贝alpha权限
INSERT INTO ab_permission_view_role(permission_view_id, role_id)
SELECT permission_view_id, 7 -- 要赋予的角色id
FROM ab_permission_view_role WHERE role_id=3 -- 权限来源alpha
- 执行完毕后,就能看到新角色已经有跟alpha一样的权限了,再根据自己的需要去掉或者增加某些权限就行了。
另外分享一下我自己创建的只能查看dashboard的角色,介绍以上方法的目的就是为了方便一键导入:
https://blog.csdn.net/weixin_39358657/article/details/104469759
直接点击复制
另外还有一种方法就是,点击角色下方的操作按钮,进行角色复制:
之后再进行diy调整,适合不懂sql操作的人。