首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(3)Superset安全介绍

以管理员帐户登录,“安全”菜单下有如下五个子菜单,分别为用户,角色,基本权限,视图/菜单,视图/菜单权限。

图一:安全菜单的子菜单

这五个概念就是Superset安全的核心概念,关系如图二所示:

图二:安全概念的关系

“权限”代表系统中所能进行的操作,例如增删改查。“视图/菜单”,表示系统中所能操作的对象例如菜单,视图,数据源,面板。两者的组合就是“视图/菜单权限”,表示能对系统中哪些对象进行怎样的操作。

“角色”可以分配多个“视图/菜单权限”,是一系列“视图/菜单权限”的集合。

“用户”可以分配多个“角色”,是一系列“角色”的集合。

权限自动维护

你会发现“权限”列表界面并没有新增和删除功能。如本系列的第一篇介绍,Superset的web框架是Flask App Builder(FAB),FAB框架会检测代码,将代码中对应的权限,菜单/视图以及其组合识别出来,罗列在权限列表中。同样,“视图/菜单”和“视图/菜单权限”也是框架自动识别出来的。

例如,view/core.py的如下的代码(图三),视图类“Superset”,通过“@expose”修饰方法“datasources”,那么框架就会生成can datasources Superset的“视图/菜单权限”。在“视图/菜单权限”验证,果然有对应的项存在(图四)。

图三:Superset类的代码片段

图四:菜单视图权限页面的

can datasources Superset项

除此之外,对应Superset中自有的对象的权限也是自动生成。例如,面板,切片,数据库,数据源等,是在创建对应的对象实例的时候,自动添加。图五对于新增的数据库“main”,添加了对应的权限“datasource_access”和“database_access”。

图五:自动添加数据库的对应权限

角色

安装完成之后,系统默认安装两个角色,“Admin”和“Public”。如果在安装过程执行了“superset init”,将会创建默认的角色和权限,会新增权限“Alpha”,“Gamma”,“granter”和“sql_lab”。关于这些权限的使用场景,将会再下一节介绍。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171221G00UMC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券