基于RBAC模型用户访问控制的研究与实现

2014-08-07 12:03李光文
天津科技 2014年12期
关键词:访问控制模块用户

李光文

(天津市科技统计与发展研究中心 天津300051)

基于RBAC模型用户访问控制的研究与实现

李光文

(天津市科技统计与发展研究中心 天津300051)

科技计划项目管理系统是一套由多个软件构成的综合系统,具有系统用户多、功能点多的特点,用户访问控制实现比较困难。基于角色的访问控制在系统用户访问控制中使用比较广泛,利用基于角色的访问控制模型,分析了系统中的用户和功能权限,将用户与功能权限相关联,实现了用户对系统的访问控制与用户和访问权限的逻辑分离,提高了在系统中权限分配和访问控制的灵活性与安全性。在基于角色的访问控制的基础上又引入数据权限控制,实现了用户对系统数据访问范围的控制,完善了基于角色的访问控制模型。

BRAC 用户访问 权限 功能 角色

0 引 言

访问控制是指系统对用户身份及其所属的预先定义的策略组限制其使用数据资源能力的手段。访问控制是系统完整性、保密性、可用性和合法使用性的重要基础,是网络安全防范和资源保护的关键策略之一。[1]通常,系统使用访问控制实现对用户使用服务器、目录、文件等网络资源的控制。访问控制类型主要有 3种模式,即自主访问控制(DAC)、强制访问控制(MAC)和基于角色访问控制(RBAC)。基于角色访问控制是介于自主访问控制和强制访问控制之间的一种访问控制技术,用户在进行授权时只需对角色进行授权,之后将相应的角色分配给用户即可,授权模型维护简便、高效。

科技计划项目管理系统是用于财政经费支持的研究项目管理信息系统,包括项目申报、项目管理及项目验收结题。系统在开发过程中面临 2方面挑战,一是系统功能、用户比较复杂,二是系统新需求逐年增加。为了解决上述问题,设计一套完善的访问控制系统尤为重要。

1 RBAC模型

基于角色访问控制模型如图1所示,此模型中包括4个基本的要素,即用户、角色、权限和授权。用户指使用系统的人。角色指用户在系统中执行操作的集合,执行这些操作时就代表着系统的一个角色。权限指用户访问系统时的认可,权限代表了系统是否允许对用户进行某种操作。它的基本思想是用户被授予角色,系统通过用户所授予的角色决定其权限。模型中用户可以被授予多个角色,同时一个角色也可以被多个用户所拥有。[2]

图1 基于角色的访问控制模型Fig.1 The role-based access control(RBAC) model

2 系统设计与实现

2.1 系统介绍

科技计划项目管理系统基于 B/S(浏览器、服务器)架构模式开发,用户使用浏览器便可以访问系统。系统程序使用 Java语言编写,具有可扩展性、跨平台性与安全性。系统采用内外网物理隔离的方式部署,保证了系统的相对安全。科技计划项目管理系统由多个模块构成,包括申报模块、评审模块、立项模块、年检模块、结题模块等,各模块之间相互独立。通过统一的访问控制使系统实现各模块功能衔接,数据交互(见图2)。

图2 系统功能模块Fig.2 System functional modules

2.2 用户访问控制设计

按照基于角色访问控制的思想,结合科技计划项目管理系统的实际情况,将用户访问控制分为功能授权和数据授权两个方面。功能授权根据用户的角色赋予用户相应的功能权限,使用数据授权控制用户对系统数据的访问权限,保护关键数据不被泄露,保障系统的安全性。

2.2.1 功能权限

用户拥有的功能权限决定了用户进入系统后可以看到哪些菜单项以及可以进行哪些操作。其中,功能点即系统所提供的某项功能,一个功能点通常对应软件界面上的一个或多个菜单项。基本权限组是功能点的集合,每个基本权限组可以包含一组功能点,完成某些特定的任务。

2.2.2 数据权限

用户拥有的数据权限决定了用户可以对系统中的哪些数据进行操作。数据权限根据用户角色操作某个范围内数据,由此保障数据安全。系统数据权限分为 8个等级,根据用户的角色对其授予合适的权限(见表1)。

表1 数据授权等级Tab.1 Authorization level of data

2.2.3 系统角色

系统角色主要包括项目主管领导、综合管理工程师、经费管理工程师、业务主管工程师、中介服务机构、项目负责人等。各类角色在系统中拥有不同的权限。系统为每个用户分配角色后,用户只能看到自己角色权限范围内的数据(见表2)。

表2 系统主要用户功能Tab.2 Overview of main users and their functions

2.3 用户访问控制实现

系统通过创建基本权限组、分配功能点、角色授权、创建用户实现用户访问控制。

2.3.1 创建基本权限组

基本权限组的创建根据系统组织实施的实际情况合理规划,按照各个功能模块进行分解,对于一些需要区分申报用户和项目管理人员的模块,应进一步分解为浏览、管理等基本权限组。如项目申报模块,应分成申请书填写、申请书审核、申请书查询权限组,申报用户使用申请书填写权限组,主管工程师使用申请书审核权限组,主管领导使用申请书查询权限组。

2.3.2 分配功能点

按照科技计划项目管理模块,整理系统功能权限点,选择适当的功能点分配到基本权限组。

2.3.3 角色授权

角色授权分为两部分,一部分是功能授权,一部分是数据授权。功能授权即授予角色若干个基本权限组,拥有该角色的用户所拥有的功能就是所有这些基本权限组包括的功能点的组合。数据授权则是确定拥有该角色的用户进入系统后能够看到的数据的范围。如局级主管单位查看本单位及所管理单位的项目信息,可以授予其申请书查看、合同书查看、年度检查查看和结项报告书查看权限组。在数据授权中授予其“本单位及下级单位的数据”权限。

2.3.4 创建用户

创建用户时,输入用户名、密码等信息,选择所属角色后实现用户与功能权限关联。

2.4 系统设计

系统采用 MVC(Model-View-Controller)架构模式设计,按照模型、视图、控制器实现程序分层管理,对应到编码为表述层、业务逻辑层和数据库层。表述层是用户访问控制的展现层,不同的用户拥有不同的权限,在表述层显示出不同的功能。业务逻辑层是系统用户访问控制的关键层,负责处理表述层提交的请求,业务逻辑层从数据库层、XML 配置文件中读取用户的权限数据,通过计算处理、整合、传递到用户表述层。数据库层是数据管理层,按照业务逻辑层的请求提取数据。数据库层使用数据持久化技术,使用ORM(对象/关系映射)实现实体域对象的持久化,将内存中的数据模型与存储模型实现相互转化,封装数据访问细节,将面向关系的关系数据模型映射为面向对象的域模型。

3 结 语

科技计划项目管理系统的设计与开发,证明了基于角色访问控制能很好地完成系统对用户及用户权限的管理,保证系统安全、稳定运行,并为系统功能扩展奠定了良好的基础。但是在实施过程中,基于角色访问控制也存在一些不足,如权限校验比较复杂,在进行权限校验时需要不断遍历和递归,造成了系统性能的下降。对于数据权限的支持不够,没有明确的数据权限模型,科技计划项目管理系统使用的是经过重构的数据权限模型,已经和 RBAC 模型有一定的出入,造成数据权限的校验实现起来相对低效。

[1]访问控制技术[EB/OL].http://baike.baidu.com/view/1836943.htm?fr=Aladdin.

[2]杨光明,李先国.RBAC模型在医疗系统中的研究与应用[J].现代电子技术,2013(24):25-28.

[3]吴姣.基于 RBAC的权限管理研究与设计[J].计算机应用,2014(1):91-94.

[4]周来,赵登科.基于RBAC模型的用户权限在0A中的研究[J].应用技术与研究,2013(11):47-48.

[5]唐成华,陈新度,陈新.管理信息系统中多用户权限管理的研究及实现[J].计算机应用研究,2004(3):217-219.

RBAC-based User Access Control:A Study of Science and Technology Planning Project Management System and Its Implementation

LI Guangwen
(Tianjin Science and Technology Research Center for Statistics and Development,Tianjin 300051,China)

As a multiple software constituted system,the science and technology planning project management system features multiple users and numerous function points,which cause difficulties in user access.As RBAC has been widely applied in system user access control,this study,based on the RBAC model,analyzed authorizations of users and system functions and connected users to their function authorizations to realize not only the system access control for users,but also the logical separation of users and their access rights,which enhances both the flexibility and safety of authorization distribution and access control in the system.Moreover,on the basis of RBAC,data authority control was introduced to realize the control of system data by users,which optimizes the RBAC-based access control model.

RBAC(Role-Based Access Control);user access;authorization;function;role

TP315

A

1006-8945(2014)12-0015-03

2014-11-11

猜你喜欢
访问控制模块用户
一种跨策略域的林业资源访问控制模型设计
28通道收发处理模块设计
“选修3—3”模块的复习备考
云计算访问控制技术研究综述
ONVIF的全新主张:一致性及最访问控制的Profile A
关注用户
关注用户
关注用户
如何获取一亿海外用户
从操作系统层面谈信息安全与自主访问控制