Skip to content
本页目录

定义

RBAC英文全称(Role-Based Access Control:基于角色的权限访问控制)作为当前使用范围最广的一种权限设计模型,有3个基础组成部分,分别是:用户、角色和权限。RBAC通过定义角色的权限,并对用户授予某个角色从而来控制用户的权限,实现了用户和权限的逻辑分离。不同角色对应不同权限,用户可拥有多个角色。

用户 多对多 角色 多对多 权限

权限划分

  • 页面权限:可看到的页面(菜单)
  • 操作权限:可进行的交互行为(页面操作功能按钮)
  • 数据权限:可查看的数据(数据行级限制)

模型划分

标准的RBAC模型包括四个部件模型,分别为基本模型RABC0、角色分级模型RABC1、角色限制模型RABC2、统一模型RABC3。

  • 1、RBAC0(基本模型)定义了完全支持RBAC概念的任何系统的最低需求。RBAC0的模型中包括用户(U)、角色(R)和权限(P)3类等实体集合,RABC0是权限管理的核心部分,其他的版本都是建立在0的基础上。RBAC0模型如下:
  • 2、RBAC1,基于RBAC0模型,引入角色间的继承关系,即角色上有了上下级的区别,角色间的继承关系可分为一般继承关系和受限继承关系

  • 3、RBAC2,基于RBAC0模型,加入了角色的访问控制,规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。

包括静态职责分离SSD(Static Separation of Duty)和动态职责分离DSD(Dynamic DSD(Dynamic Separation of Duty)。

互斥角色 :同一用户只能分配到一组互斥角色集合中至多一个角色,支持责任分离的原则。案例:在审计活动中,一个角色不能同时被指派给会计角色和审计员角色。 基数约束 :一个角色被分配的用户数量受限;一个用户可拥有的角色数目受限;一个角色的权限数目受限。案例:如VP类角色不可随意分配给多个用户。 先决条件角色 :指要想获得较高的权限,要首先拥有低一级的权限。案例:先有副总经理全下,才能有总经理权限。 运行时互斥 :例如,允许一个用户具有两个角色,但不可同时激活这两个角色。

  • 4、RBAC3,模型RBAC1+RBAC2的集合体。即支持角色间的继承关系,又支持角色间的责任分离关系。

Released under the Apache License 2.0