基于RBAC的用户权限数据模型在信息系统的研究与设计

时间:2022-09-18 11:33:43

基于RBAC的用户权限数据模型在信息系统的研究与设计

摘要:根据RBAC模型的基本思想,设计用于指导开发用户权限管理的参考模型。该模型引入了职位和组织机构对象,解决对用户进行直接和间接授权的问题,并对用户的权限进行精确的差异化管理。关键词:RBAC;用户权限;数据模型;信息系统

信息资源安全的保护以及不泄露成为企事业单位推广信息化过程中最重要的一环,因此权限系统模型成为信息系统分析和设计阶段的重要组成部分。成功的权限系统设计对信息系统的安全性和用户的职权责任起着极其重要的作用,权限系统的最终目的是保护软件系统的安全、保护信息的安全、按照实际角色对应相应权限。本文基于RBAC的基本思想研究与设计信息系统中的用户权限数据模型。

1 RBAC模型简介

基于角色管理权限的思想早在70年代就已经出现,其基本指导思想(见图1)是通过引入了角色(role)的新概念来实施访问控制策略,不同的角色和它所具有的权限许可相互联系。整个系统的访问控制分两步实现:首先对角色进行分配,将用户与角色联系起来,通过角色将用户与访问权限从逻辑上分离开;然后指定权限,将角色与访问权限联系起来。用户(user)作为某些角色的成员,获得角色所拥有的权限。角色可以根据实际的职位、岗位、单位和组织来划分,而用户根据所承担的不同权利和义务来结合实际情况授权相应的角色。从用户到角色的管理,简化了权限分配的复杂性,提高了安全管理的效率和质量。角色代表了访问主体所具有的职权和责任,系统管理员负责将访问许可权分配给一定的角色,每个用户可以扮演不同的角色,这样就使得每一个用户都能够获得所扮演角色所拥有的访问许可权。

2 数据模型详细设计

2.1建模工具的选择 Power Designer是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。他可以与许多流行的软件开发工具,例如PowerBuilder、Delphi、VB等相配合使开发时间缩短和使系统设计更优化。

2.2权限模型设计方案的基本思路 根据RBAC的基本思想,同时借助Power Designer提供的建模工具,设计出可以用于信息管理系统的用户权限模型。该模型由用户表、权限表、权限分组表、用户权限表、角色表、角色权限表、组织机构表、区域表、职位表、用户职位表、职位权限表、职位角色表、员工表构成。

2.2.1用户的权限 分为直接授权和间接授权,直接授予的权限来自于系统管理员将系统中的功能权限赋予指定的用户;间接授予的权限来自于给用户赋予的职位而获得的权限,而职位的权限又来自于其对应的角色。职位必须建立在对应的组织机构指定节点上面,其权限来源也分为直接授权和间接授权:直接授予的权限来自于系统管理员直接把系统中功能权限赋予组织机构上面指定的职位;间接授予的权限来自于给职位赋予的角色而获得的权限(角色没有和对应组织机构相对应)。图2显示了用户、职位、角色、权限的关系。

2.2.2用户和职位的权限 分为直接授予和间接授予,该方法可以对用户、职位的权限进行细微精确的控制,从而达到对用户、职位进行差异化管理。

在信息管理系统的使用过程中,要对拥有相同职位用户中的部分用户功能权限进行修改,而又不能影响该职位下到其他用户的权限,对用户直接授予权限就体现出其灵活性。这种情况下,该职位下的所有用户的权限都得到了修改,而没达到修改该职位下部分用户权限的要求。由于在该权限模型下角色和职位是一对多的关系,角色权限的修改,还会影响到拥有此角色其他职位对应用户的权限,更加没达到实际的目的。当对组织机构上的某一职位下的所有用户的权限进行修改,而又不能影响系统中其他用户的权限,只能对该职位的权限进行直接授予,如果通过间接授予权限的方式修改职位的权限,必定需要修改职位对应角色的权限,此方式极有可能会造成系统中其他用户权限的变化。

在实际的信息管理系统项目开发中,用户的权限包括授予用户的直接权限和间接权限的并集,而用户的间接权限来至于用户对应职位拥有的直接权限和间接权限,通过这样的方法获得用户权限才是用户最终拥有的所有权限集[1]。

2.3权限模型数据字典的设计 用户表(xt_user)主要由用户ID(主键)、员工ID、登录名称、创建者ID、登录密码五个字段构成。员工与用户的关系为一对多。

权限表(action_limit)主要由权限ID(主键)、权限分组ID、权限名称、权限描述、状态五个字段构成。权限名称里面储存的是展现层视图控件的ID或一个网页URL,可以根据实际情况决定存储相关值。权限分组ID表示的是权限的分类,比如多个权限属于系统维护类。

权限分组表(action_column)主要是由权限分组ID(主键)、分组名称、状态三个字段组成。

用户权限表(action_xt_user)主要由用户ID、权限ID、状态三个字段构成,用户ID和权限ID构成联合主键。该表存储的是直接授予用户的权限。

角色表(group_manager)主要由角色ID(主键)、角色名称、角色描述、状态四个字段构成。

角色权限表(action_group)主要由权限ID、角色ID、状态三个字段构成,角色ID和权限ID构成联合主键。

组织机构表(bss_org)主要由机构ID(主键)、机构名称、上级机构ID、地区ID、状态五个字段构成。在实际软件设计开发中可以对该表进行扩展,比如添加机构类型字段,用于区分每个机构属于哪种类型的机构(如行政、后勤、临床等)。

区域表(area_info)主要由地区ID(主键)、上级地区ID、地区名称、地区代码、状态五个字段构成。

职位表(job)主要由职位ID(主键)、机构ID、职位名称、状态四个字段构成。

用户职位表(xt_user_job)主要由用户ID、职位ID、状态三个字段构成,用户ID和职位ID构成联合主键。

职位权限表(action_job)主要由职位ID、权限ID、状态三个字段构成,职位ID和权限ID构成联合主键。表中存储的事直接授予职位的权限

职位角色表(job_group_manager)主要由职位ID、角色ID、状态三个字段构成,职位ID和角色ID构成联合主键。

员工表(staff)主要由员工ID(主键)、机构ID、员工编码、员工名称、联系电话、地址、性别、身份证号码构成。在实际软件设计开发中可以对该表进行扩展以满足实际需要。

3 结束语

本文根据RBAC模型的基本思想,设计出用于指导开发信息系统用户权限的参考模型,能够应用于基于B/S或C/S架构的信息管理系统项目开发中,并且可以和实际的项目情况相结合,对该模型进行扩展,开发出符合数据库设计要求,同时和实际业务相符合的应用系统。

参考文献:

[1]刘晓林,郭龙.基于RBAC的用户权限管理的研究与实现[C].安微省合肥市:电脑知识与技术,2013.

上一篇:教师解读文本应有的追求 下一篇:医院网站的建设与维护探讨