基于角色访问控制的公积金业务系统权限管理
2017-05-30龙璨
龙璨
摘 要:基于传统RBAC模型的概念,提出一种住房公积金业务系统的权限扩展模型,并阐述了此模型的概念、原则、数据库设计以及在业务系统中实现的具体方法。该模型根据公积金实际组织机构引入部门这一对象,通过对部门、角色、用户、权限等的分析,得出一种适应徐州市公积金业务系统的权限管理方法。
关键词:角色访问控制;权限管理;扩展模型;公积金;业务系统
访问控制技术是保障系统安全的核心技术之一,通过对用户访问权限的合理规划和分配,实现合法用户对系统资源的安全访问和对非授权行为的有效阻止。传统的访问控制模型有自主访问控制和强制访问控制模型。随着应用系统的不断发展,如何降低权限管理的复杂性和管理成本,增强权限配置的灵活性成为一个重要课题,这为权限管理提出了更高的要求。基于角色访问控制的权限管理(Role-Based Access Control,简称RBAC)通过引入角色的概念,实现了用户与访问许可的逻辑分离,在权限管理方面显示出更大的优势,是当前较为有效的权限访问控制方法。
1 基于角色的访问控制简介
1.1 基本概念
基于角色的访问控制(Role-Based Access Control),简称RBAC。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。
RBAC认为权限授权实际上是Who、What、How的问题。在RBAC模型中描述了“Who对What(Which)进行How的操作”,即权限的拥有者对操作的对象或资源进行具体的操作。
在业务系统权限管理中,一个用户可以拥有若干角色,一个角色拥有若干权限,用户通过角色赋予的权限,针对不同的操作的对象可以进行具体操作。这样就构成了“用户-角色-权限”的授权模型,其中用户和角色之间,角色和权限之间都是多对多的关系(如图1)。
1.2 RBAC模型安全三原则
1.2.1 最小权限原则
最小权限原则是系统安全中最基本的原则之一。最小权限指的是在完成某种操作时所赋予系统中每个用户必不可少的特权。限定系统中每个用户所必须的最小特权,能够有效确保可能的违规操作、错误等给系统造成的损失达到最小。例如,贷款初审和复审都可以对贷款受理情况进行查询,但此功能并非角色的必要权限,则将查询权限设定在贷款业务统计角色中。
1.2.2 责任分离原则
职责分离是指遵循不相容职责相分离的原则,实现合理的组织分工。例如贷款业务的初审(主要完成贷款资格校验、受理和材料录入等)和复审(对贷款资格、贷款额度、贷款材料的复验等),不应该由一个人担任。
所谓不相容职责是指系统里某些相互关联的职责,如果集中于一个人身上,就会大大增加差错和舞弊的可能性,对业务的规范性、公平性造成威胁,给稽核部门的工作带来更大的难度。通常对于以下一些不相容的职责必须进行分离:归提贷业务完整流程中的逐级审批、开发商准入流程中的各级审批等。
1.2.3 数据抽象原则
数据抽象可以通過权限的抽象来体现,系统中提取业务的材料录入即为抽象权限,而不用操作系统提供的典型的读、写、执行权限。
2 基于角色访问控制的系统权限管理设计
2.1 系统权限设计思路
目前,徐州市公积金内部人员结构的特点是部门众多,权限复杂。不同部门的人员具有不同的权限,相同部门的人员之间也有不同的权限。而权限又细分为数据权限和功能权限,数据权限指的是用户能在系统里看到什么,一是指对业务类型的操作权限,如业务类型细分为归集、提取、贷款等,银行归集人员只拥有对归集数据的操作权限,综合柜员拥有对提取和贷款数据的操作权限;二是指访问数据的可见范围,例如贷款处人员具有全徐州市的数据权限,可以对全徐州市的贷款信息进行访问;而管理部贷款科长只有本管理部的数据权限,其他管理部或营业部的贷款信息对其不可见。功能权限指的是用户能在系统里做什么,如银行归集人员可以在缴存基数调整模块对个人缴存基数进行查询、修改、增加的操作。
2.2 RBAC模型扩展
根据中心实际情况,系统对RBAC模型进行了扩展,引入部门这一对象,通过部门-用户、部门-角色、角色-用户的关系,抽象出部门-角色-用户的关系图。角色的设置主要是对权限的设置,具体权限的设置包含菜单、页面按钮和可操作文件等几大方面,对不同模块的功能做出约束。RBAC权限模型的扩展模型的设计图如下:
3 基于角色访问控制的系统权限管理应用
公积金业务系统在系统权限管理方面,遵循以下操作步骤:(1)在系统内完善组织机构图,设立部门;(2)根据业务处室划分的具体权限设置岗位(系统中设立的岗位即为模型中的角色,下同),主要通过对具体菜单、页面元素等的选择完成;(3)根据具体部门的职能,将岗位分设于部门下;(4)建立新用户时,选定部门,并从部门岗位范围中定岗,同时设置数据权限,完成新用户的添加。
参考文献
[1]范小康,何连跃,王晓川,等.一种基于RBAC模型的角色管理方法[J].计算机研究与发展,2012,(S1):211-215.
[2]董永峰,陆军,刘建波,等.改进的RBAC模型在信息服务平台上的应用[J].计算机应用与软件,2012,(5):99-103.
[3]熊厚仁,陈性元,杜学绘,等.RBAC中职责分离策略的一致性分析与判定方法[J].小型微型计算机系统,2016,(5):1084-1090.
[4]赵卫东,毕晓清,卢新明.基于角色的细粒度访问控制模型的设计与实现[J].计算机工程与设计,2013,(2):474-479.
[5]吴波,王晶.基于基本RBAC模型的权限管理框架的设计与实现[J].计算机系统应用,2011,(4):50-54.
(作者单位:徐州市住房公积金管理中心)