王红玉
摘 要:权限管理是信息系统的重要环节,一个好的权限管理系统是成功的信息系统的重要因素。基于角色的权限控制提供了较高的灵活性和较低的管理负担,是目前研究的重点。本文对RBAC的基本工作原理进行了研究,利用角色访问控制技术可以有效地实现用户访问权限的动态管理,降低授权管理的复杂度。
关键词:角色;访问;权限;控制
RBAC是一种可扩展的访问控制模型,通过引入角色来对用户和权限进行解耦,简化了授权操作和安全管理,它是目前公认的解决大型企业的统一资源访问控制的有效访问方法,其两个特征是:(1)由于角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多,从而减小授权管理的复杂性,降低管理开销;(2)灵活地支持企业的安全策略,并对企业变化有很大的伸缩性。
1 RBAC的基本原理
目前的权限管理可分为两类:①系统级的安全管理,如操作系统级的安全管理、数据库级的安全管理等;②应用级的安全管理,该部分权限的控制主要取决于具体的系统。
基于角色的权限控制(Role Based Access Control,RBAC)的概念由Ferraiolo和Kuhn于1922年提出。它将用户和它的具体权限分离开来,管理员可以将用户的授权和权限的划分分别进行处理,给用户授予角色来实现对用户的授权操作。他们提出角色的概念是:分配给每一个用户一个合适的角色,每一个角色都具有其对应的权限;一個用户可以有多个角色,一个角色也可以有多个用户。一个角色可以有多个权限,相同的权限也可以赋予多个角色。因此,角色是安全控制策略的核心,这极大地简化了安全管理,特别适用于大规模的企业应用。无论是系统级还是应用级的安全管理,都可以应用RBAC进行权限控制,如目前的Windows XP操作系统和SQL Server2000的用户权限管理就体现了RBAC的思想。
2 RBAC基本模型
标准RBAC模型由4个部件模型组成,分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC)。RBAC 基本模型(RBAC0)包含了RBAC 标准最基本的内容,该模型的定义如图1所示。
RBAC基本模型包括5个基本数据元素:用户,角色,资源,控制,授权。
用户:是指一个可以独立访问计算机系统中的数据或其他可用资源的主体。一般来说,用户指的是使用计算机的人,也可指具有自主行为的机器人或智能自动化代理等。这里的用户表示一个集合,可以为不同用户指定某种或某些角色。
角色:是RBAC的核心元素,指执行特定任务的能力或在组织中已被授予一定责任的工作头衔。它可以看作是一组操作的集合,在一个组织机构中往往与工作岗位相对应。在许多访问控制系统中,是以用户组作为访问控制的单位。用户组和角色的最主要的区别在于,用户组是作为用户的一个集合来对待的,并不涉及它的授权许可;而角色则既是一个用户的集合,又是一个授权许可的集合。用户可以与一个或多个角色相联系。通常情况下,用户关联的角色可能会经常变化,但角色关联的权限却是相对稳定的。因此,可以事先将角色与权限关联好,再对用户进行授权。
它们之间的关系如下:用户被分配一定角色,角色被分配一定许可权,会话是用户与激活的角色集合之间的映射,用户与角色间的关系定义和角色与权限间的关系定义无关。
控制对象(Resource):系统的管理功能,如栏目管理、方案管理、新闻管理等;
操作(Operation):对管理功能的操作,主要是增加、删除、修改、查找。
3 访问控制模块
采用RBAC模型最大的好处是分离了用户和权限,使管理员可以分别处理用户的授权和权限的划分。这种面向对象的权限分离思想使开发出来的访问控制模块的通用性和可复用性更强,最大限度地避免了开发人员的重复性工作。在开发系统时,可以将访问控制作为一个独立的模块进行开发。
上面的分析表明RBAC基本模型能满足可扩展的动态自定制信息系统中的访问控制,由此可将访问控制模块分为以下两个模块:(1)系统管理模块:包括用户管理模块和角色及权限管理模块两个部分,主要完成用户增减、角色增减及其权限分配。(2)身份认证模块:通过用户名、密码确认用户身份并对其访问某一资源的某一功能进行认证。
[参考文献]
[1]夏启寿,张小东.基于角色的访问控制的研究[J].池州示范学报,2007年6月.
[2]郭煦.基于角色访问控制的应用研究[J].上海电机学院学报,2007年12月.
[3]高燕.基于角色的访问控制的设计与实现[J].中国高新技术企业,2008年8月.
[4]陆国际.基于角色的访问控制策略的集成研究[D].大连理工大学,2010年10月.
[5]匡博.基于角色的访问控制系统的研究与应用[D].河北科技大学,2010年3月.