吴永军,冯涛,王燕午
(天津市测绘院,天津 300381)
土地置业GIS管理平台中用户权限管理的研究与实现
吴永军∗,冯涛,王燕午
(天津市测绘院,天津 300381)
基于角色的访问控制(RBAC)是一种方便、安全、成熟、高效的访问控制机制。本文针对城投集团城市综合开发业务中涉及的数据资源种类多、面向的用户层次多等特点,运用基于角色的用户权限管理参考模型,提出了一种对应用系统功能与数据资源统一访问控制的权限管理方案,设计了对应的数据模型,同时给出了在城投集团土地置业GIS管理平台中的实现。
基于角色的访问控制;角色;资源;数据模型
“城市综合开发”是天津城投集团的主要业务之一,主要包含了土地整理、房屋拆迁、项目管理、资金预算、收益与投入的平衡等多个方面。集团下属具有土地整理、房地产开发资质的子公司需要定期向集团上传土地整理、房地产置业项目开展期间的各种要件,填报项目相关业务信息,而集团的土地置业部负责对子公司上传的要件进行档案管理,业务数据进行统计分析,为领导提供决策依据。城投集团土地置业GIS管理平台(以下简称土地置业平台)的建立,实现了城投集团无纸化办公、业务流程化管理、信息互通、数据共享,大大提高了生产与工作的效率。
土地置业平台的用户是城投集团的所有职员,因为用户所处的职能岗位不同,对系统功能、数据资源的操作权限也有很大区别。然而,目前多数管理软件仅仅做到应用系统功能的权限控制,而没有做到数据资源访问的权限控制,所以,本文在基于角色的访问控制(RBAC)的基本思想的基础上,提出了一种对应用功能、数据资源统一访问控制的权限管理方案,并给出了具体的实现方法。
基于角色的访问控制(Role-Based Access Control,RBAC)是一种成熟的权限管理机制,典型的有Ravi Sandhu等提出的RBAC 96模型[1]和美国国家标准与技术局(NIST)研究小组提出的RBAC 2000模型[2]等等,这些模型在访问控制领域已经得到了广泛的应用。
在RBAC的核心模型中,用户和角色之间是多对多的关系,一个用户可以拥有多个角色,一个角色也可以同时由多个用户拥有,这就是角色分配(UA)的过程。同样,角色和权限之间也是多对多的关系,一个角色至少拥有一项权限,一个权限也可以同时赋予多个不同的角色,这就是权限分配(PA)的过程[3]。在RBAC的核心模型中,我们可以得出,要判断某个用户可以访问的系统资源和对系统资源可以进行的操作,通过角色这个中介进行中转,只需要判断该用户所具有的角色的权限即可,如图1所示。
图1 RBAC核心模型结构
3.1 设计思想
土地置业平台中的功能大多数都是对数据资源的操作,如对海河公司的土地整理项目进行信息汇总等,这就要求土地置业平台的权限访问控制,不仅仅要做到应用系统功能层的控制(如功能模块的调用、菜单的显示等),还要做到数据资源层的控制(如能否访问土地整理项目的成本类信息等)。由图1可以知道,RBAC核心模型由5个基本要素组成,分别是用户(Users)、角色(Roles)、对象(Objects/Resource)、操作(Operations)、权限(Permissions)。根据RBAC的核心思想[4~6],笔者将这5个要素设计如下:
用户:任何直接使用计算机系统的实体,可以是人,也可以是机器、网络或智能体。土地置业平台中是具体的系统用户。
角色:是一个抽象的概念,表示系统或组织中某一特定任务的责任和权利。土地置业平台中根据实际的岗位职能进行划分。
对象:是任何系统要进行控制的资源。笔者将功能模块、菜单、数据资源都视为资源。笔者认为任何资源都是有归属的,通俗地说就是资源的“发布者”或是“拥有者”。比如,土地交易信息管理(系统功能)是“系统”发布的,XX土地整理项目是海河公司发布,所以土地交易信息管理的归属是“系统”,XX土地整理项目的归属是“海河公司”。土地置业平台中讨论的对象由资源的归属与具体资源组成,并且规定如果某一资源没有明确的发布者,那么该资源的归属都是“系统”。
操作:是程序可执行的反映,响应用户指定的某些功能。例如土地整理项目信息可能的操作有浏览、修改、审核、汇总等,系统功能可能的操作有开启等。
权限:是对对象所属资源执行操作的许可,即:权限=操作+对象的资源。例如,对海河公司XX项目成本信息的修改操作。
3.2 数据模型设计
为了实现基于角色的权限管理,需要创建用户表、角色表、权限表、用户-角色映射表、角色-权限映射表[7]。土地置业平台中的权限管理数据模型是根据RBAC核心模型的思想进行设计的,并在此基础上进行了扩充。
土地置业平台中的权限管理数据库包括用户表(Users),部门表(Departments),角色表(Roles),权限表(Permissions),资源表(Resources)、资源归属表(ResourceOwners),操作表(Operations),用户_角色映射表(User_Role),角色_权限映射表(Role_Permission),用户_部门映射表(User_Department),部门_角色映射表(Department_Role)等11个数据表。需要说明的是,资源表存储的系统的功能权限信息和数据资源信息。权限管理数据库的数据模型如图2所示。
图2 权限管理数据库数据模型结构图
权限管理数据库中共包含了11个数据表,数据模型显示了这些数据表之间的关系。表1对数据表进行了简要介绍。
权限管理数据库中表的介绍 表1
续表1
城投集团土地置业GIS管理平台的用户权限管理子系统由权限管理与访问控制两部分组成,模块结构如图3所示。
图3 用户权限管理结构
系统管理员可以在权限管理模块中进行用户信息维护和权限管理。权限管理模块所实现的功能分别为:
(1)用户管理。该模块用于对用户信息的维护、用户与角色之间的映射管理。它包括了增加用户、删除用户、用户信息浏览、用户信息修改、角色分配管理等子模块。该模块不仅能够获得某一用户所拥有的角色信息,还能通过角色获得该用户的权限信息。
(2)权限管理。该模块用于定义、维护系统的权限信息,管理资源与资源归属的映射关系。它包括了增加资源归属、删除资源归属、浏览权限信息、修改权限信息、管理资源与资源归属的映射关系等子模块。
(3)角色管理。系统管理员可以在该模块中,根据企业结构组织进行角色的创建、角色与权限之间的映射管理。它包括增加、删除、修改角色,浏览角色信息,映射角色与权限的关系等功能。
访问控制模块用于处理在用户发出登录请求后进行身份验证以及发出操作请求后权限认证。
(1)身份验证。身份验证是实现授权的前提,也是访问控制安全系统中不可缺少的关键环节。系统根据用户ID、经过MD 5加密后的密码和加密密钥信息进行对用户身份的验证。
(2)权限认证。权限认证是建立在用户身份验证的基础上的,合法用户登录后,将获取到的角色信息和个人权限缓存到系统中,如果要判断用户是否具有某个功能或数据资源的操作权时,只需要到缓存的权限列表中查找即可,而不必再到数据库中读取权限信息。这样可以极大减轻服务器端的压力,也避免了因为频繁操作数据库而影响系统的性能。
(3)逻辑处理。该模块处理身份验证、权限认证过程中的一系列逻辑信息。包括认证失败后的信息提示、权限认证成功后的系统初始化等操作。
本文提供的应用系统功能和数据资源统一访问控制的解决方法,是RBAC的进一步扩展和延伸,即在功能权限的基础上增加了数据资源权限的管理,实现了数据资源权限和功能权限的集中处理,满足了多层次组织中权限管理方面的集中控制。
[1] Ravi Ssndhu.Role-based Access Control Models[J].IEEE Computer,1996,29(2):21~23.
[2] Ferraiolo D F,Sandhu R,Gavrila S,etal.Proposed NISTStandard for Role-Based Access Control[J].ACM Transactions on Information and System Security,2001,4(3):224~274.
[3] 毛先成,陈振,华萍.地质矿产资料管理系统中用户权限管理的研究与实现[J].西部探矿工程,2008(12):246~249.
[4] 杜诗军.基于角色的访问控制研究[D].郑州:郑州大学,2006.
[5] 丁胜,陈建勋.基于RBAC模型的安全访问机制建模研究[J].计算机应用与软件,2005,22(11):115~117.
[6] 普继光.基于角色的访问控制系统的设计和应用[D].成都:电子科技大学,2004.
[7] 丁振国,吴环宇.RBAC在管理信息系统中的应用[J].微计算机信息,2007,23(18):4~5.
Research and Implement of User Rights M anagement System in Land and Property Information M anagement Platform
Wu Yongjun,Feng Tao,Wang Yanwu
(Tianjin Surveying and Mapping Institution,Tianjin 300381,China)
Role-based access control(RBAC)is a convenient,safe and efficientaccess controlmechanism.Because there aremany types of data resources and many user levels involved in the comprehensive urban exploitation business,this paper brings forward a rightsmanagement program of Unified access to system functionality and data resources based on RBACmodel,designs a corresponding datamodel.Finally,the paper implements the program in TianJin infrastructure construction and investment group land and property information management platform.
SQL Server;index;maintenance;performance
1672-8262(2013)03-43-03
P208.2
B
2012—07—31
吴永军(1983—),男,工程师,主要从事GIS软件开发。