美文网首页
Superset 用户权限管理原理

Superset 用户权限管理原理

作者: 程序员赤小豆_gzh同名 | 来源:发表于2023-04-21 21:40 被阅读0次

    在企业生产环境中,用户权限管理是非常重要的一个环节,涉及数据安全管控。Superset 实现了基于角色的访问控制(Role Based Access Control, RBAC), 这是一种非常流行和高效的访问控制机制。RBAC 可以将复杂的安全权限规则抽象为简单的角色概念, 通过为用户分配角色实现其对数据和对象的控制。

    RBAC的基本原理

    RBAC(Role-Based Access Control)是一种基于角色的访问控制机制。其基本思想是:

    1. 将权限分配给角色, 而不是直接分配给用户。一个角色包含一组权限。
    2. 将用户与角色进行关联, 一个用户可以被分配一个或多个角色。
    3. 用户通过所拥有的角色间接获得权限。
    RBAC有以下基本规则:
    1. 分离职责: 创建角色时按职责进行分离, 如普通用户角色、管理员角色等。
    2. 最少权限: 每个角色分配的权限应该是其工作职责所需要的最少权限。
    3. 不可传递的角色继承: 如果角色A继承角色B, 则A拥有B的所有权限, 但B不拥有A的权限。
    4. 角色指定: 用户只能通过被分配的角色获得权限, 不能直接获得权限。
    5. 相关的角色和权限: 将权限按职责进行分组并赋予角色可以简化管理。

    RBAC通过上述规则实现了权限与角色的解耦, 使用户、权限、角色三者之间建立了清晰的关联关系。这使得权限的授权管理变得非常灵活与简单。通过为用户分配适当的角色, 就可以实现对其访问权限的控制, 这是RBAC流行于各大系统的基本原因。

    Superset就采用了RBAC实现细粒度数据访问控制,通过创建不同的角色并分配相关权限,再将角色赋予用户或用户组, 可以实现对数据、查询、仪表盘等的安全管理。

    Superset 管理用户和权限

    Superset可以有效地管理用户, 主要包含以下功能:

    • 创建用户

    可以在Superset的“用户管理”页面点击“+ 新建用户”按钮创建一个新的用户。需要输入用户名、密码、确认密码、邮箱等信息。

    • 修改用户信息

    在“用户管理”页面选择一个用户,点击“编辑”按钮可以修改其信息,包括用户名、密码、邮箱、是否激活状态等。

    • 删除用户

    在“用户管理”页面选择一个用户,点击“删除”按钮可以彻底删除该用户。删除后,该用户的一切访问权限、内容均会被删除。

    • 用户组管理
      可以在Superset里创建用户组,将多个用户放在同一个用户组里统一管理。在“用户组管理”页面可以创建、修改和删除用户组。

    • 权限管理
      Superset采用角色权限管理的模式。有两种角色类型:

      • 预定义角色:提供一组预定义好的角色,如Alpha、Gamma、Delta等,包含不同的权限组。
      • 自定义角色:可以创建自定义角色,选择相应的权限粒度进行分配,如数据访问、SQL表创建、仪表盘创建权限等。

    将创建好的角色分配给用户或用户组,即可控制其对应的数据集和功能访问权限。

    • Auditing日志记录
      Superset会记录详细的用户交互日志,如登录日志、SQLexecuted日志、Dashboard访问日志等。这些日志可以追溯数据和功能的访问记录,用于权限管理判断和数据安全审查。

    Auditing 日志的查询示例,可以在 SQL Lab 中执行

    SELECT * FROM logs 
    WHERE 
        user_id=(SELECT id FROM ab_user WHERE username='gamma')
        AND schema_name='examples'
        AND dttm 
            BETWEEN DATE_SUB(NOW(), INTERVAL 3 DAY) AND NOW()
    

    综上,Superset提供比较全面而细致的用户管理功能。通过控制用户、用户组和权限,可以实现对数据、SQL查询和仪表盘等的安全访问管理。这是Superset作为企业BI平台广泛应用的重要条件。

    如果你需要自定义一些用户权限,可以参考我的下一篇~ 如果对Superset的使用想要深入交流,也欢迎你来connect。

    国内的公司使用 Superset 的越来越多了,很多开发遇到问题的也都主动找到我。我都非常乐意分享我对Superset的实践 威信: pabi2020。一方面可以了解大家关注什么问题,另一方面我可以继续整理和输出。

    相关文章

      网友评论

          本文标题:Superset 用户权限管理原理

          本文链接:https://www.haomeiwen.com/subject/wbbjjdtx.html