辛向利 陈秀敏 刘景汇
【摘 要】随着我国信息和网络技术的日益發展,企业的人力资源管理也进入到了高效的信息化时代。但是网络信息安全存在的问题也日益突出。管理信息系统中安全性的设计则成为系统设计中的一个非常重要的课题。对用户进行身份验证,对网络资源进行访问控制都可以极大地减少安全隐患,进一步提高系统的安全性。本文分析了RBAC访问控制模型,并结合企业人力资源管理系统的业务逻辑,确定了模型中的用户、角色,资源,权限,通过对用户赋予不同角色,给不同角色不同的对资源的访问权限,有效控制了系统资源的安全性访问。
【关键词】角色;访问控制;角色;授权
一、引言
在当今社会,各行各业都面临着极大的生存和机遇挑战。一个企业要想在竞争中不断发展,不仅与企业的工作管理模式、办公效率及企业整体发展策略有极大地关系,而且企业对于员工的管理及个人发展规划也有着决定性的作用[1]。本人力资源管理系统的设计目标是充分利用企业网络资源,简化人力资源的管理流程,提高人力资源部门的管理效率,加强不同部门的协作;增强员工自助服务的功能,改进员工服务模式。由于企业用户众多、分属不同部门、各部门的业务繁多,相互之间又联系密切,因此如何保证系统资源被正确、有效的访问是亟待解决的问题。
二、RBAC
访问是一种利用计算机资源去做某件事情的能力,访问控制是一种手段[2],它不仅规定了“谁”能以“何种方式(权限)”去访问某种“资源”,甚至对可访问资源的类型都能加以控制。具体的控制方式可以在计算机系统或者外部设备中实现。
RBAC是Role-Based Access Control的缩写,即基于角色的访问控制。这种模型将访问控制看作是“Who对What进行How的操作”。其中Who代表权限的拥有者或主体(如Principal、User、Group、Role、Actor等);What代表可访问的对象或资源(Resource);How代表了具体的权限(Permission)。RBAC的关注点在于Role和User, Permission的关系。在这种访问控制中,权限与角色相关联,用户通过成为适当角色得到这些角色的权限;极大地简化了权限的管理[3]。
RBAC作为目前比较流行的访问控制策略,它通过在用户及访问权限之间引入“角色”的概念,将用户和权限分离。其核心思想是通过对用户分配合适的角色,对角色进行授权来控制用户对资源的访问。在这种策略中,一个用户允许同时拥有多个角色,一个角色也可以同时分配给多个用户;一个角色也可以包含多个权限,一个权限也可以被多个角色包含。RBAC模型图如图1所示。
三、 系统访问控制设计
为了提高系统的安全性,进一步细化用户对系统模块的使用权限,在人力资源管理系统引入基于权限的访问机制,可以将企业实际的管理权限具体分配到不同角色的用户身上,使用户对系统的操作保持在一定的范围内,提高了系统的安全性。
系统安全设计采用了用户-角色-模块(资源)的三层安全模式,分别为用户层、角色层和模块层。通过对用户、角色和权限之间建立联系,能够控制用户在系统操作时拥有角色对应的权限,表现为对于不同的角色允许操作不同的功能模块,有效避免了越权行为的发生。
(一)角色的认定
在企业人力资源管理系统中,角色是为了完成企业的各种工作任务而创造的,用户则依据其责任和资格来被指派相应的角色,当一个工作任务结束后,用这个角色即可被撤销,如果有别的任务则重新分配其它角色。角色可根据企业管理需求变化被赋予不同的权限,而权限也可根据需要而从某角色中收回[3]。此种方法更符合企业的用户、组织、数据和应用特征。
人力资源管理系统是一个面向多用户、多部门的开放系统,其管理的信息多且复杂。通过问卷调查、与企业各部门员工交流,我们了解了企业组织结构的构成、人力资源管理的业务流程以及各部门的业务需求,并结合中小型企业管理的特点,分析了企业人力资源管理的具体业务,本系统角色主要划分为系统管理员、模块管理员和普通用户。
系统管理员:拥有最高权限,具有对用户、角色、模块的管理功能;还包括对用户的角色定位,权限授权等功能;
模块管理员:拥有对相应功能模块的管理功能;
普通用户:权限最低,根据被赋予的角色不同,拥有对不同模块的访问权限。
(二)权限的认定
人力资源管理系统中对权限定义为对某个资源模块的访问,一般包括增加、删除、修改、查询四项基本操作权限。
(三)资源
资源是对细化了的系统功能模块,本系统中划分的主要功能模块有:系统管理,人事信息管理、绩效管理、考勤管理、招聘管理、培训管理和员工自助等七个模块。
数据库设计部分分别设计了用户表、角色表、资源表和操作表四个基本表,并根据这四张表生成了三张关联表,分别为用户-角色表,操作-资源表(即权限表),以及角色-权限表。用户、角色和权限的关系如图2所示。
用户和角色之间,角色和模块之间都是多对多的关系,比如人事信息管理员角色的权限允许其对人事信息进行增加、修改、删除以及查询操作,同时具备普通员工角色的修改个人密码、查询考勤记录等权限,而招聘管理员角色具有对个人人事信息查询的权限及招聘管理的所有权限、普通员工角色的所有权限等。用户对模块的访问变成用户以某种角色对某个模块进行访问。系统安全管理图如图3所示。
四、系统访问控制的实现
(一)访问控制模块的组成
(1)基本信息管理:包括用户管理,角色管理,权限管理等。这部分由系统管理员来设置,其中用户是使用该系统的所有员工;角色管理由系统管理员根据企业具体业务管理设计出不同角色,比如:人事信息管理员、考勤信息管理员等;将权限管理保证系统合法用户的具体操作权限,可以精确到操作对象的范围,主要分为浏览、添加、删除、修改四个基本权限,达到有效分级的目的。
(2)授权管理:系统管理员根据员工的日常工作职责,为员工赋予不同的操作角色,根据员工在业务中的等级分配具体的操作权限,当该业务完成后,该角色允许被修改或者删除。进一步提高用户访问的安全性。
(二)访问控制实现过程
当用户以正确的用户名和密码成功登录后,如果要对系统的某个资源即功能模块进行访问时,系统首先从该用户角色管理表中取出当前用户拥有角色,再根据角色功能表中取出每个角色具有的对功能模块的访问权限。用户对每个模块在进行访问之前都要先判断该用户是否对该模块具有访问权限,如果有则操作可行,如果没有权限则禁止访问。
五、结束语
本文对访问控制中权限界定为对某个资源模块的访问,实际在应用中还可以把访问对象细化到某张具体的数据表。权限传递的约束力度会更加小,这些都会在未来进一步研究。
参考文献:
[1] SmithAndrew.Overcoming four HR outsourcing obstacles: Top tips for tackling a selection of HR outsourcing challenges.Strategic HR Review.2006, 5(4):28-31.
[2] 石莉.基于LINUX安全模块的RSBAC研究.陕西科技大学硕士论文.2007:4-5.
[3] 薛志兵, 蔺荻.基于互联网的民航城市值机系统信息安全性研究.中国民航大学学报.2011, 29(3):82-83.