基于角色控制模型的研究

2009-04-10 03:50戴志强
魅力中国 2009年4期
关键词:操作角色用户

戴志强

Research Based on Role Control Model

DAI Zhi-qiang

(Zhangjiajie College,Jishou University,Zhangjiajie 427000,Hunan China)

Abstract: The paper mainly introduces role based access control (RBAC) model, its control access technology and implementation project.

Key Words: User, Role, Operation

摘要:主要介绍基于角色控制模型——RBAC控制访问技术及其实现方案。

关键词:用户;角色;操作

基于角色控制模型RBAC(Role-Based Access Control)是美国国家标准与技术协会NIST于20实际90年代初提出的一种新的控制访问技术。RBAC的核心思想就是将访问权限与角色相联系,将用户划分为与其在组织结构体系中相一致的角色,权限管理也就可以根据需要定义各种角色,并对角色设置相应的访问权限。用户则根据其岗位和责任被指派为不同的角色,从而实现用户和权限的逻辑分离。在实际工作中,由于角色——权限之间的变化远比角色——用户之间的变化慢得多,其次能够很好的适应企业级用户较多并且有着不同权限系统的访问控制管理应用的要求。

一、相关技术

1.RBAC0定义了能构成一个RBAC控制系统的最小的元素集合

在RBAC之中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。会话sessions是用户与激活的角色集合之间的映射。RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的扩展。

2.RBAC1引入角色间的继承关系

角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构。

3.RBAC2模型中添加了责任分离关系

RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。责任分离包括静态责任分离和动态责任分离。约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可。

4.RBAC3包含了RBAC1和RBAC2

既提供了角色间的继承关系,又提供了责任分离关系。

二、实现方案

核心对象模型的设计与实现

根据RBAC模型的权限设计思想,建立权限管理系统的核心对象模型.对象模型中包含的基本元素主要有:用户(Users)、用户组(Group)、角色(Role)、目标(Objects)、访问模式(Access Mode)、操作(Operator)。主要的关系有:分配角色权限PA(Permission Assignment)、分配用户角色UA(Users Assignmen描述如下:

(一)控制对象:是系统所要保护的资源(Resource),可以被访问的对象。资源的定义需要注意以下两个问题:

1.资源具有层次关系和包含关系。例如,网页是资源,网页上的按钮、文本框等对象也是资源,是网页节点的子节点,如可以访问按钮,则必须能够访问页面。

2.这里提及的资源概念是指资源的类别(Resource Class),不是某个特定资源的实例(Resource Instance)。资源的类别和资源的实例的区分,以及资源的粒度的细分,有利于确定权限管理系统和应用系统之间的管理边界,权限管理系统需要对于资源的类别进行权限管理,而应用系统需要对特定资源的实例进行权限管理。两者的区分主要是基于以下两点考虑:

一方面,资源实例的权限常具有资源的相关性。即根据资源实例和访问资源的主体之间的关联关系,才可能进行资源的实例权限判断。 例如,在管理信息系统中,需要按照营业区域划分不同部门的客户,A区和B区都具有修改客户资料这一受控的资源,这里“客户档案资料”是属于资源的类别的范畴。如果规定A区只能修改A区管理的客户资料,就必须要区分出资料的归属,这里的资源是属于资源实例的范畴。客户档案(资源)本身应该有其使用者的信息(客户资料可能就含有营业区域这一属性),才能区分特定资源的实例操作,可以修改属于自己管辖的信息内容。

另一方面,资源的实例权限常具有相当大的业务逻辑相关性。对不同的业务逻辑,常常意味着完全不同的权限判定原则和策略。

(二)权限:对受保护的资源操作的访问许可(Access Permission),是绑定在特定的资源实例上的。对应地,访问策略(Access Strategy)和资源类别相关,不同的资源类别可能采用不同的访问模式(Access Mode)。例如,页面具有能打开、不能打开的访问模式,按钮具有可用、不可用的访问模式,文本编辑框具有可编辑、不可编辑的访问模式。同一资源的访问策略可能存在排斥和包含关系。例如,某个数据集的可修改访问模式就包含了可查询访问模式。

(三)用户:是权限的拥有者或主体。用户和权限实现分离,通过授权管理进行绑定。

(四)用户组:一组用户的集合。在业务逻辑的判断中,可以实现基于个人身份或组的身份进行判断。系统弱化了用户组的概念,主要实现用户(个人的身份)的方式。

(五)角色:权限分配的单位与载体。角色通过继承关系支持分级的权限实现。例如,科长角色同时具有科长角色、科内不同业务人员角色。

(六)操作:完成资源的类别和访问策略之间的绑定。

(七)分配角色权限PA:实现操作和角色之间的关联关系映射。

(八)分配用户角色UA:实现用户和角色之间的关联关系映射。 该对象模型最终将访问控制模型转化为访问矩阵形式。访问矩阵中的行对应于用户,列对应于操作,每个矩阵元素规定了相应的角色,对应于相应的目标被准予的访问许可、实施行为。按访问矩阵中的行看,是访问能力表CL(Access Capabilities)的内容;按访问矩阵中的列看,是访问控制表ACL(Access Control Lists)的内容。

三、结束语

基于角色的访问控制系统要面对的就是用户信息、角色信息、权限信息这三类基本的数据信息,而且在访问控制服务器的实现中对基本信息和对应关系的信息进行分开处理,这样的实现方式能够更好的突出通用性的设计,因为针对不同的应用,仅仅需要对基本信息和对应关系信息的结构进行一定的修改就可以完成。

参考文献

[1] 夏志雄,张曙光.RBAC在基于Web管理信息系统中的应用[J]计算机应用研究.2004.7

[2] 施景超,孙维祥,许满武.基于角色的存取控制及其实现[J]计算机应用研究.2000.6

[3] 陈敏,刘晓强.扩展RBAC的CRM动态用户访问控制模型与实现[J]计算机应用.2007.10

[4] 杨宗凯,刘宏波,刘琴涛. 基于角色的访问控制在网络教育中的应用研究[J]计算机应用研究, 2005,10

[5] 王建军,李新国.基于分层对象化RBAC的设计与实现[J]计算机工程与设计.2007.09

[6] 郑宇,傅鹂.基于角色的访问控制模型在电子政务系统中的应用[J]软件导刊.2007.23

[7] 范会联,李献礼.基于Struts框架的Web信息系统中RBAC的实现[J]计算机时代.2005.12

[8] 蔡兰,郭顺生,李益兵.基于角色访问控制的动态权限配置研究与实现[J]组合机床与自动化加工技术, 2005,03

[9] 李仲,杨宗凯,刘威.一种基于RBAC的实现动态权限管理的方法[J]计算机技术与发展.2006.10

[10] 李志华.CRM中基于RBAC的改进模型的研究与设计[J]计算机工程与设计.2007.05

猜你喜欢
操作角色用户
您拨打的用户已恋爱,请稍后再哭
基于用户和电路的攻击识别方法
信用卡资深用户
关于数控机床操作中防碰撞措施的探讨及分析
泌尿外科手术及操作致输尿管损伤临床分析
《冰雪奇缘》开启迪士尼剧本角色新模式
人力资源开发与智力资本提升的关系探析
普通高等学校思想政治教育辅导员角色问题研究
农民工子女融合教育:教师的角色与使命