一种基于RABC的软件系统权限管理设计

一种基于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
  1. 互斥角色限制:同一个用户在两个互斥角色中只能选择一个;
  2. 基数限制:一个用户拥有的角色是有限的,一个角色拥有的权限也是有限的;
  3. 先决条件限制:用户想要获得更高级的角色,首先必须拥有低级角色 。
  • 动态职责分离DSD
    动态的限制用户及其拥有的角色,如一个用户可以拥有两个角色,但是运行时只能激活一个角色。

2.1.4 RBAC3

RBAC3称为统一模型,它包含了RBAC1和RBAC2,利用传递性,也把RBAC0包括在内。这些模型构成了RBAC96模型族。

3.1.2 基于职务

于职务做用户数据权限,此时我们只需基于RABC模型,将系统角色结合组织挂载到职务下即可。

3.1.3 基于用户组

基于用户组做用户数据权限,此时我们只需基于RABC模型,将系统角色挂载到用户组下即可(当然也可引入组织进来)。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月16日
下一篇 2022年1月16日

相关推荐