返回介绍

3.1 基于角色的访问控制 RBAC

发布于 2024-10-03 16:34:02 字数 2148 浏览 0 评论 0 收藏 0

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。 RBAC属于策略中立的访问控制模型,既可以实现自主存取控制策略(DAC),又可以实现强制存取控制策略(MAC),可以有效缓解传统安全管理处理瓶颈问题,被认为是一种普通适用的访问控制模型,尤其适用于大型组织的统一资源有效的访问控制机制。

角色(Role)作为一个用户与权限的代理层,解耦了权限和用户的关系,所有的授权应该给予角色而不是直接给用户或组(Group)。权限是权限颗粒,由操作(Operation)和资源(Resource)组成,表示对资源的一个操作,即 Operation + Resource ;例如,对于新闻的删除操作。角色-权限(Role-Privilege)是多对多(Many-to-Many)的关系,这是权限的核心。

RBAC 参考模型部件

NIST(The National Institute of Standards and Technology,美国国家标准与技术研究院,2004)发布标准 RBAC 模型。标准 RBAC 模型由 4 个部件模型组成,这 4 个部件模型分别是:

  • 基本模型 RBAC0(Core RBAC);
  • 角色分级模型 RBAC1(Hierarchical RBAC,含 General,Limited);
  • 角色限制模型 RBAC2(Constraining RBAC,含 Static/Dynamic Separation of Duty,即 SSD 和 DSD);
  • 统一模型 RBAC3(Combines RBAC)。

RBAC0 : 基本模型。权限赋予角色,再把角色赋予用户。用户和角色,角色和权限都是多对多的关系。用户拥有的权限等于他所有的角色持有权限之和。在 RBAC0 之中,包含最基本的 5 个元素:用户集(users,USERS)、角色集(roles,ROLES)、目标/对象集(objects,OBS)、操作集 (operations,OPS)、许可权/特权集(permissions,PRMS)。

角色分层模型 RBAC1

RBAC1 建立在 RBAC0 基础之上,在角色中引入了继承的概念。角色继承用于解决复杂组织机构之间的权限关系。它是一种 很自然地 对 组织机构层次中权限和责任的映射。如:总经理→部门经理→业务员。角色继承的方向和用户的关系方向相反,即权限最小的在顶端:业务员→部门经理→总经理。 如:若所有 role_salesman(业务员)的权限都是 role_Mgr(经理)的权限,那么 role_Mgr 继承自 role_salesman。

角色限制模型 RBAC2(Constraint RBAC)

RBAC2 同样建立在 RBAC0 基础之上,仅是对用户、角色和权限三者之间增加了一些限制。这些限制可以分成两类,即静态职责分离 SSD(Static Separation of Duty) 和动态职责分离 DSD(Dynamic Separation of Duty)。职责关系分离(SoD)用于增强利益冲突策略,这种策略某些组织机构可能会需要,即避免用户超出其当前职位合理的权限等级。简单地说,就是避 免两个角色间的冲突。如:会计和出纳,在一般公司都不允许同一个人兼任。因此在分配角色的时候,应该禁止这两种角色赋给同一人。

  • 静态职责分离 SSD:即在系统初始化时,当角色授给用户时来判断是否将冲突的角色给了同一用户。在 RBAC 标准中,冲突的角色被定义为一个二元关系,就是说,任何一个用户只能拥有其中的一个。
  • 动态职责分离 DSD:指相冲突的角色可以同时给一个,但是在一次会话中不能同时扮演两个冲突的角色。如:在超市 POS 系统中,ywf 可以是收银员 或收银员主管(ROLE)。收银员必须经过主管才能打开收银机的抽屉修改某次结账错误。如果收银员角色的一个单独的行为中需要从收银员切换到主管,那么 DSD 要求,这个用户(USER)必须先放弃收银员角色;即,当该收银员正在收银时发现错误,必须要先关闭抽屉,然后再次以主管身份打开抽屉才行。

统一模型 RBAC3(Combines RBAC)

RBAC3 是 RBAC1 和 RBAC2 的合集,所以 RBAC3 既有角色分层,也包括可以增加各种限制。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文