APP下载

RBAC与数据转发技术在系统开发中的应用

2011-02-09郭玉静

制造业自动化 2011年5期
关键词:申请表访问控制管理员

郭玉静,甘 雷

(1. 唐山学院 科研处,唐山 063000;2. 唐山学院 网络教育中心,唐山 063000 )

0 引言

起源于70年代的访问控制技术,随着网络技术的发展也一直在革新完善着。从传统的自主访问控制(DiscretionaryAccessControl)、强制访问控制(MandatoryAccessControl)到今天较成熟的基于角色的访问控制RBAC(Role-BasedAccessContro,l RBAC)[1],其中RBAC在大型网络应用系统以及数据资源的安全管理方面发挥了极大的作用。

访问控制定义了主体对客体的访问权限,其目的是保证系统、任务或资源在合法的范围内被合法程序或用户执行或访问,不让非法资源执行未授权的任务或访问相应的数据对象,决策支持系统系统中的安全访问控制技术已被予以很大的关注。一个包含项目、合同、项目、质量等多个子模块的系统,公用一个权限管理子系统,这样就对权限管理带来了较高的要求。

图1 通用权限控制系统架构

1 RBAC基本思想

企业环境中的访问控制策略一般有3种:自主型访问控制方法、强制型访问控制方法和基于角色的访问控制方法(RBAC)。其中,自主式太弱,强制式太强,二者工作最大,不便于管理。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其最著的2大特征是:1)减小授权管理的复杂性,降低管理开销;2)灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。

基于角色访问控制(RBAC)模型[2]是目前国际上流行的先进的安全访问控制方法。它通过分配和取消角色来完成用户权限的授予和取消,并且提供角色分配规则。安全管理人员根据需要定义各种角色,并设置合适的访问权限,而用户根据其责任和资历再被指派为不同的角色。这样,整个访问控制过程就分成两个部分,即访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。

由于实现了用户与访问权限的逻辑分离,基于角色的策略极大的方便了权限管理。例如,如果一个用户的职位发生变化,只要将用户当前的角色去掉,加入代表新职务或新任务的角色即可。研究表明,角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多,并且给用户分配角色不需要很多技术,可以由行政管理人员来执行,而给角色配置权限的工作比较复杂,需要一定的技术,可以由专门的技术人员来承担,但是不给他们给用户分配角色的权限,这与现实中的情况正好一致。

RBAC包含了6个最基本的元素:用户(Users)、角色集(Roles)、对象集(Objects,OBS)、操作集(Operations,OPS)、许可集(Permissions)和会话集合(SESSIONS)。

图2 RBAC模型

2 权限控制实现

项目控制权限的方法是把系统中所有需要权限控制的按钮都设计到数据库中,每一个菜单对应一个或多个按钮,分配权限时给用户分配能操作的按钮权限。

1)系统的层次分为模块、主菜单、子菜单、按钮、字段五级。

2)用户进入系统会根据数据库记录的用户权限找出该用户所对应的模块进行权限的初始化。

3)当用户每点击进入一个模块时会把该用户在该模块下的菜单权限进行初始化,然后用户点击进入菜单时再根据数据库中记录的权限对该页面的按钮权限进行初始化,没有权限的按钮将被禁用。

4)考虑到有些用户可能会用url地址对系统进行破坏性的侵入,用户每点击一次模块时,都会把该用户在该模块下所拥有的动作权限都记录到session当中,用户点击按钮进行操作时都会产生一个动作,在BaseAction中会对这个动作跟session中的动作名称进行比对,没有权限将转到无权限的信息提示页。

上面介绍解决了权限控制基本问题,但在用户的多个角色有交集时权限合并存在困难,在合并时会出现权限放大的情况。因为权限跟角色之间、角色跟用户之间都是多对多关系。中介授权隐含的问题是:一个用户本身需要的权限构成一个集合,当他被被赋予多个角色后,多个角色与权限关联构成另一个集合,保证两个集合相等很不容易。采取下面方法解决上述多角色权限合并问题:

1)通过对角色进行分级处理来解决用户权限合并中的优先级问题:分为超级、中心级、部门级和用户级;

2)多个角色权限合并时通过采用把对多个角色结果集角色的权限各自结果集的合并。

合并时采用Oracle函数,可以提高查询效率

通过对在角色集中引入维数的概念,对RBAC模型框架进行了必要的扩展,通过这种多维RBAC模型,在一个基于角色访问控制的决策管理与支持系统中得以实现,有效地解决了上面提到地几个问题,而且这种模型简化了角色配置管理,进一步加强了对数据库访问的安全控制。

3 数据库逻辑设计

项目管理中的主线为提出申请等待领导审批审批结束后进入下一个流程。以科研立项申请表为例,B类项目交部门项目管理员和部门领导审核,A类和E类由项目管理员和部门领导进行初审,由中心项目管理员、财务处、总工办等进行复审。

3.1 申请表

以立项申请表1为例,填写基本信息并记录审批流程,判断申请表到了什么状态,有几个人审批,还有几个人没有审批。

表1 立项申请表

3.2 申请分类表

科研中心内部有多个审批表,如立项申请表、合同申请表等。然而每一个的转发流程都一样。因此用申请分类表用来统一管理申请表的名称。表2所示:

表2 申请分类表

3.3 申请分类状态表

每一个申请表都对应多个审批状态。如:立项申请表对应:部门立项申请意见、部门意见、中心项目管理意见、财务处意见、总工办意见等。而出国申请表对应中心办审查、总工办审查、部门领导审查等。因此申请分类状态表用来管理每个申请表所对应的不同状态。

3.4 待办事项表

填写审批意见、审批时间,记录审批人审批时间等信息。

4 数据转发实现

数据分发共分为三类用户。

第一类:普通用户在前台填写各类申请表,如立项申请表、合同申请表、项目申请表等。

第二类:项目管理员在后台进行数据分发,根据不同的申请表将申请表转发到角色或者个人。第三类:审批人员进行申请表的审批只能看到自己所要审批的内容。

1)申请表填写:不同部门根据需求填写不同的申请表;

2)管理员根据状态指定审批流程同一类型的申请表可群发;

3)科研中心部分文件可以多人处理因此管理员需要根据转发文件和部门的需求进行转发角色或用户的选择;

4)转发到具体人员或角色,其中转发到人员可以根据部门选择人员或者模糊查询直接搜索人员;

5)根据选定的人员选择状态;

6)查看审批信息,如果转发错误,可以撤销重新转发。

在决策支持系统系统中,采用统一的安全管理设计思想,规范化设计和先进的技术架构体系,构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的权限管理系统,使得权限管理系统真正成为权限控制的核心,在维护系统安全方面发挥重要的作用,是十分必要的。

[1] FerraioloD,KuhR.Role-BasedAccessControl[C].Proceedings.of15thNationalComputerSecurityConference.1992.

[2] 叶春晓,符云清,吴中福.RBAC中权限扩展的实现[J].计算机工程,2005,(9):150-151,80.

猜你喜欢

申请表访问控制管理员
一种跨策略域的林业资源访问控制模型设计
《中国交通信息化》杂志赠阅申请表
我是小小午餐管理员
我是图书管理员
我是图书管理员
可疑的管理员
《中国交通信息化》杂志赠阅申请表
《中国交通信息化》杂志赠阅申请表
《中国交通信息化》杂志赠阅申请表
ONVIF的全新主张:一致性及最访问控制的Profile A