logo资料库

基于RBAC模型的通用权限管理系统的设计.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
基于 RBAC 模型的通用权限管理系统的设计(数据模型)的扩展 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 引入角色间的继承关系,角色间的继承关系可分为一般继承关系和受限继承 关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继 承关系则进一步要求角色继承关系是一个树结构。 c. RBAC2 模型中添加了责任分离关系。RBAC2 的约束规定了权限被赋予角色时,或角色 被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。责任分离包括静 态责任分离和动态责任分离。约束与用户-角色-权限关系一起决定了 RBAC2 模型中用户的访问 许可。 关系。 d. RBAC3 包含了 RBAC1 和 RBAC2,既提供了角色间的继承关系,又提供了责任分离 2 核心对象模型设计
根据 RBAC 模型的权限设计思想,建立权限管理系统的核心对象模型.对象模型中包含的基 本元素主要有:用户(Users)、用户组(Group)、角色(Role)、目标(Objects)、访问 模式(Access Mode)、操作(Operator)。主要的关系有:分配角色权限 PA(Permission Assignment)、分配用户角色 UA(Users Assignmen 描述如下: a .控制对象:是系统所要保护的资源(Resource),可以被访问的对象。资源的定义需 要注意以下两个问题: 1.资源具有层次关系和包含关系。例如,网页是资源,网页上的按钮、文本框等对象也是 资源,是网页节点的子节点,如可以访问按钮,则必须能够访问页面。 2.这里提及的资源概念是指资源的类别(Resource Class),不是某个特定资源的实例 (Resource Instance)。资源的类别和资源的实例的区分,以及资源的粒度的细分,有利于 确定权限管理系统和应用系统之间的管理边界,权限管理系统需要对于资源的类别进行权限管 理,而应用系统需要对特定资源的实例进行权限管理。两者的区分主要是基于以下两点考虑: 一方面,资源实例的权限常具有资源的相关性。即根据资源实例和访问资源的主体之间的 关联关系,才可能进行资源的实例权限判断。 例如,在管理信息系统中,需要按照营业区域划 分不同部门的客户,A 区和 B 区都具有修改客户资料这一受控的资源,这里“客户档案资料”是 属于资源的类别的范畴。如果规定 A 区只能修改 A 区管理的客户资料,就必须要区分出资料的 归属,这里的资源是属于资源实例的范畴。客户档案(资源)本身应该有其使用者的信息(客户 资料可能就含有营业区域这一属性),才能区分特定资源的实例操作,可以修改属于自己管辖的 信息内容。 另一方面,资源的实例权限常具有相当大的业务逻辑相关性。对不同的业务逻辑,常常意 味着完全不同的权限判定原则和策略。 b.权限:对受保护的资源操作的访问许可(Access Permission),是绑定在特定的资源实 例上的。对应地,访问策略(Access Strategy)和资源类别相关,不同的资源类别可能采用不 同的访问模式(Access Mode)。例如,页面具有能打开、不能打开的访问模式,按钮具有可 用、不可用的访问模式,文本编辑框具有可编辑、不可编辑的访问模式。同一资源的访问策略可 能存在排斥和包含关系。例如,某个数据集的可修改访问模式就包含了可查询访问模式。 c.用户:是权限的拥有者或主体。用户和权限实现分离,通过授权管理进行绑定。 d.用户组:一组用户的集合。在业务逻辑的判断中,可以实现基于个人身份或组的身份进 行判断。系统弱化了用户组的概念,主要实现用户(个人的身份)的方式。
e.角色:权限分配的单位与载体。角色通过继承关系支持分级的权限实现。例如,科长角 色同时具有科长角色、科内不同业务人员角色。 f.操作:完成资源的类别和访问策略之间的绑定。 g.分配角色权限 PA:实现操作和角色之间的关联关系映射。 h.分配用户角色 UA:实现用户和角色之间的关联关系映射。 该对象模型最终将访问控制模型转化为访问矩阵形式。访问矩阵中的行对应于用户,列对应于 操作,每个矩阵元素规定了相应的角色,对应于相应的目标被准予的访问许可、实施行为。按访 问矩阵中的行看,是访问能力表 CL(Access Capabilities)的内容;按访问矩阵中的列看,是访 问控制表 ACL(Access Control Lists)的内容。
数据模型图如下:
分享到:
收藏