模型的通用权限管理系统的设计 ( 数据模型 ) 的扩展
1 RBAC 模型
访问控制是针对越权使用资源的防御措施。基本目标是为了限制访问主体(用户、进程、
服务等)对访问客体(文件、系统等)的访问权限,从而使计算机系统在合法范围内使用;决
定用户能做什么,也决定代表一定用户利益的程序能做什么
[1]
。
企业环境中的访问控制策略一般有三种:自主型访问控制方法、强制型访问控制方法和
基于角色的访问控制方法(RBAC)。其中,自主式太弱,强制式太强,二者工作量大,不便
于管理
[1]
。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方
法。其显著的两大特征是:1.减小授权管理的复杂性,降低管理开销;2.灵活地支持企业的安
全策略,并对企业的变化有很大的伸缩性。
NIST(The National Institute of Standards and Technology,美国国家标准与技术
研究院)标准 RBAC 模型由 4 个部件模型组成,这 4 个部件模型分别是基本模型
RBAC0(Core RBAC)、角色分级模型 RBAC1(Hierarchal RBAC)、角色限制模型
RBAC2(Constraint RBAC)和统一模型 RBAC3(Combines RBAC)
[1]
。RBAC0 模型如
图 1 所示。
a. RBAC0 定义了能构成一个 RBAC 控制系统的最小的元素集合。在 RBAC 之中,包含用
户 users(USERS)、角色 roles(ROLES)、目标 objects(OBS)、操作 operations(OPS)、许
可权 permissions(PRMS)五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指
定给一个用户时,此用户就拥有了该角色所包含的权限。会话 sessions 是用户与激活的角色
集合之间的映射。RBAC0 与传统访问控制的差别在于增加一层间接性带来了灵活性,
RBAC1、RBAC2、RBAC3 都是先后在 RBAC0 上的扩展。
b. RBAC1 引入角色间的继承关系,角色间的继承关系可分为一般继承关系和受限继承
关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限
继承关系则进一步要求角色继承关系是一个树结构。