一种基于RABC的软件系统权限管理设计
- 1 权限管理介绍
-
- 1.1 权限管理分级
- 1.2 常用的权限模型
- 2 RABC
-
- 2.1 RABC简介
-
- 2.1.1 RBAC0
- 2.1.2 RBAC1
- 2.1.3 RBAC2
- 2.1.4 RBAC3
- 3 RABC在业务系统中的应用
-
- 3.1 用户划分
-
- 3.1.1 基于组织
- 3.1.2 基于职务
- 3.1.3 基于用户组
- 3.2 基于RABC模型的一种权限设计
1 权限管理介绍
简介:在软件系统的中的权限管理,指的是用户能否具有访问系统、系统资源的资格。在软件系统中主要通过管理员将某些资源的访问、管理、操作等权限赋予用户,达到管理和使用的目的。譬如主机的访问使用权限,某项功能菜单的使用权限亦或是某个数据的读写权限。
1.1 权限管理分级
软件系统中,我们通常将权限关联分为三级
(1)一级权限:访问权限
(2)二级权限:菜单、按钮权限
(3)三级权限:数据权限
依据不同等级的授权,来控制授权的最小的颗粒度。
在20世纪90年代期间,大量的专家学者和专门研究单位对RBAC的概念进行了深入研究,先后提出了许多类型的RBAC模型,其中以美国George Mason大学信息安全技术实验室(LIST)提出的RBAC96模型最具有系统性,得到普遍的公认。
RBAC认为权限的过程可以抽象概括为:判断【Who是否可以对What进行How的访问操作(Operator)】这个逻辑表达式的值是否为True的求解过程。
RBAC96是一个模型族,其中包括RBAC0~RBAC3四个概念性模型。
2.1.1 RBAC0
定义了完全支持RBAC概念的任何系统的最低需求,由用户、角色、资源(权限三部分组成)。
2.1.3 RBAC2
RBAC2建立在RBAC0基础之上,对用户、角色和权限三者之间增加了一些限制。这些限制可以分成两类,即静态职责分离SSD(Static Separation of Duty)和动态职责分离DSD(Dynamic Separation of Duty)
- 静态职责分离SSD
- 互斥角色限制:同一个用户在两个互斥角色中只能选择一个;
- 基数限制:一个用户拥有的角色是有限的,一个角色拥有的权限也是有限的;
- 先决条件限制:用户想要获得更高级的角色,首先必须拥有低级角色 。
-
动态职责分离DSD
动态的限制用户及其拥有的角色,如一个用户可以拥有两个角色,但是运行时只能激活一个角色。
2.1.4 RBAC3
RBAC3称为统一模型,它包含了RBAC1和RBAC2,利用传递性,也把RBAC0包括在内。这些模型构成了RBAC96模型族。
3.1.2 基于职务
于职务做用户数据权限,此时我们只需基于RABC模型,将系统角色结合组织挂载到职务下即可。
3.1.3 基于用户组
基于用户组做用户数据权限,此时我们只需基于RABC模型,将系统角色挂载到用户组下即可(当然也可引入组织进来)。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!