基于改进RBAC模型的SaaS模式下安全访问控制

2017-08-10 09:52刘英杰汪伦焰胡方圆袁璐
现代计算机 2017年15期
关键词:访问控制租户用户

刘英杰,汪伦焰,胡方圆,袁璐

(1.华北水利水电大学水利学院,郑州 450045;2.开封第一黄河河务局,开封 475000)

基于改进RBAC模型的SaaS模式下安全访问控制

刘英杰1,汪伦焰1,胡方圆2,袁璐1

(1.华北水利水电大学水利学院,郑州 450045;2.开封第一黄河河务局,开封 475000)

SaaS(软件即服务)作为云计算的一种服务形式,是面向多用户的一种服务模式,即多个租户共享一个应用软件,租户之间的数据既有共享也有隔离,保证每个用户之间数据的隔离和信息安全是亟待解决的问题。传统RBAC(基于角色的访问控制)模型可以实现系统数据的隔离和信息安全,但其不能进行角色的动态配置。提出改进的RBAC模型,使角色和权限可动态匹配,以适应SaaS模式下多租户性的需求,并已在开发的项目管理信息系统中得到应用。

改进的RBAC模型;SaaS模式;用户权限;管理信息系统

0 引言

SaaS(软件即服务)作为云计算的一种服务形式,与传统软件最本质的区别是多租户性,即多个租户共享一个应用系统,租户之间的数据既有共享也有隔离[1],保证每个用户之间数据的隔离和信息安全是亟需解决的问题。安全访问控制是信息安全的保障,其类型包括DAC(Discretionary Access Control)模型、MAC(Mandatory Access Control)模型和RBAC(Role Based Access Control)模型。DAC模型用户执行的程序与用户具有相同的权限,当其中一个程序收到恶意攻击,攻击者会获取最大特权,从而危害整个系统安全;MAC模型实现工作量大,访问控制严格,不便管理[2]。传统RBAC(基于角色的访问控制)模型可以实现系统数据的隔离和信息安全,但其不能进行角色的动态配置。

本文提出了改进的RBAC模型,使角色和权限可动态匹配,增强了系统的可维护性和可扩张性,以适应SaaS模式下多租户性的需求,并在已开发的基于云平台的项目管理信息系统中得到了应用。

1 传统RBAC模型

传统RBAC模型中包含用户、角色、客体、操作和许可五个元素,他们之间的关系如图1所示。

图1 RBAC模型

用户是对系统资源和数据访问的主体;角色是指拥有完成某项功能的权利,行使完某些权限的用户;客体是系统中一切能被控制的资源;操作是对系统中的客体对象进行的指令动作,包含文件的存储下载和对数据的读写等操作;对特定的客体进行的特定操作集合组成了一项许可,即权限。RBAC的实质是将系统的访问权限交付给特定的角色,用户通过获得拥有某项资源的特定的角色,进而使用角色拥有的操作权限。会话体现用户和角色之间的映射关系。RBAC模型中在用户和权限之间加入角色这一中间态,是为了隔离权限和用户。角色作为中间层,弱化了用户与权限之间的关系[4]。角色作为RBAC模型的关键要素,角色与权限可以是多对一,也可以是一对多的关系,满足了实际组织结构中角色、岗位、职责的配置关系。

2 改进的RBAC模型

SaaS(Software-as-a-Service,软件即服务)是基于Internet提供给租户的一种软件服务,与传统软件最大的区别就是多租户,用户并不是一个企业或者一个项目,而是多个公司或项目。每个公司或项目特点、组织机构、管理流程等不同,对于角色用户和权限设置要求也不同。传统RBAC模型中的用户/角色关系和角色/权限关系是事先设置的,对于固定用户,这种关系比较稳定。但在SaaS软件模式下,随着租户数的不断增加,不同组织机构、不同层次、不同项目需求不同,导致系统的应用背景也不尽相同,因此无法事先设置用户/角色关系和角色/权限关系。为了适应SaaS模式下新的环境需求,实现角色和权限动态匹配,用户可根据需要自行创建和关联,需要对RBAC模型进行改进,改进后的RBAC模型,如图2所示。

在图2中,服务指各种对客体的操作的权限。与传统RBAC模型比较,改进的RBAC模型只是定义了角色集合和服务集合,而角色和服务之间的对应关系则是动态关联的。在系统中,根据不同租户的需求,管理员可以从角色集合中选择角色,并在服务集合中选择该角色可用的服务项与之关联;也可以根据不同租户的需求创建角色并添加到角色集合中,再将创建的角色分配给相关的用户;也可以根据租户不同需求创建新的服务,添加至服务集合中,以便满足角色不同职责的需要,从而实现动态、灵活匹配。

3 改进的RBAC模型在项目管理信息系统中的应用

3.1 项目管理信息系统构成

该项目管理系统采用B/S体系架构,表现层、逻辑层、数据操作分离的三层构架。通过浏览器系统使用者可以访问表示层同时登陆用户界面,Web服务器负责业务逻辑处理进而实现与用户端、数据存储服务器、Web服务器通过阿里云平台来构建[5]。如图3所示。

图3 系统构成

3.2 改进的RBAC在项目管理信息系统中的应用

不同层次、不同类型的用户对建设管理信息化的程度和需求是不同的。不同企业经营范围不同,管理需求也不同;相同企业的不同管理层次、不同职能部门职责不同,管理流程不同;不同项目的功能需求也不同,如工期短,规模小的项目比较注重简洁清晰的业务流程;规模投资大、工期长的项目除需要明晰的业务流程管理外,还需要对项目进行综合管理。基于云平台SaaS模式项目管理系统适用于各种类型的项目管理。对系统的用户进行定义如下:

系统的管理员:对系统的进行综合全面的管理;统一管理系统的用户。

图2 RBAC的权限分配

大中型项目用户:需要使用系统的管理服务和业务流程,应用的系统规模大。

用户的管理员:大中型项目用户的分配权限人员,由其内部人员担任。

小型项目用户:主要使用系统的业务流程。

在系统中的基于改进RBAC模型的安全访问控制设计如图4所示。

用Role角色表来对应系统的两种用户,User1表用来存储大中型项目用户的信息,User2表用来存储小型项目用户的信息。在Role角色表中设置一个外键,实现与其他用户的联系,进而实现用户的多角色。Role_warehouse角色仓库表用来存储大中型项目用户与角色之间可见度的配置关系,数据仓库表Data_ware⁃house用来对大中型项目用户的秘密程度和自身数据的设置进行存储。Service服务表用来为用户的管理员和系统的管理员进行角色配置及权限服务的对应关系。其依照“构建角色—配置角色—角色的使用”的业务流程进行[6];角色的构建是由用户的管理员和系统的管理员来完成,角色的配置由用户的管理员来完成,用户进行角色的使用。

4 结语

由于云平台SaaS模式项目管理系统的多租户性,数据的隔离和信息安全尤为重要。RBAC模型在用户和权限之间加入角色这一中间态,用在复杂系统的权限管理中,简化了访问控制,同时也提高了系统安全性[7]。 通过改进的RBAC模型,使用户与角色动态匹配,以适应多租户特点的需求,并通过实例验证改进的RBAC模型能够实现多用户条件下系统数据的隔离和保证信息的安全访问控制。

图4 安全访问控制模型

[1]夏祖军,魏娜,朱金晓.基于SaaS模式的信息发布平台的研究[J].信息通信,2013(6):101-102.

[2]杜澈.SaaS模式的研究与应用[D].南京邮电大学,2013.

[3]彭荣.SaaS模式下多租户系统架构及关键技术研究[D].大连海事大学,2010.

[4]张琪.基于角色的权限管理系统的设计与实现[D].电子科技大学,2013.

[5]姜书彬,姜东民.云计算环境下中小型建设工程项目管理系统的研究[J].经营与管理.

[6]丁守哲.基于云计算的建筑设计行业信息系统开发模式与实现技术研究[M].合肥工业大学,2012.

[7]马立林,李红.基于RBAC的SaaS系统的权限模型[J].计算机应用与软件,2010,27(4).

Security Access Control in SaaS Model Based on Improved RBAC Model

LIU Ying-jie1,WANG Lun-yan1,HU Fang-yuan2,YUAN Lu1

(1.College of Water Conservancy,North China University of Water Resources and Electric Power,Zhengzhou 450045;2.The First Bureau of Yellow River Kaifeng Bureau,Kaifeng 475000)

SaaS as a cloud computing service form,is a multi-user service model,that is,multiple tenants share an application software,the data be⁃tween the tenants are shared and isolated to ensure that each user,the isolation of data and the security of information are urgent problems to be solved.The traditional RBAC model can achieve system data isolation and information security,but it cannot be dynamically config⁃ured.Proposes an improved RBAC model to make the roles and permissions available to users to create and correlate according to their needs,to dynamically configure them to meet the SaaS model requirements,and applies it in the development of project management infor⁃mation system.

刘英杰(1978-),女,河南扶沟县人,博士,华北水利水电大学,副教授,研究方向为工程管理

汪伦焰(1968-),男,安徽霍山人,博士,华北水利水电大学,教授,研究方向为水利水电工程建设与管理

胡方圆(1990-),女,河南长垣人,硕士,助理工程师,研究方向为工程管理

袁璐(1992-),女,河北邯郸人,硕士研究生,研究方向为工程管理

2017-03-09

2017-05-02

河南省水利科技攻关项目(No.GG201539)、河南省产学研合作项目(No.152107000039)

1007-1423(2017)15-0081-04

10.3969/j.issn.1007-1423.2017.15.021

Improved RBAC Model;SaaS Mode;User Rights;Management Information Service

猜你喜欢
访问控制租户用户
一种跨策略域的林业资源访问控制模型设计
多租户网站实现方法的研究和设计
基于多租户隔离的云安全建设
内外网隔离中ACL技术的运用
稀疏表与块表结合的多租户共享存储模型①
基于Eucalyptus的多租户水利系统应用研究①
云计算访问控制技术的运用及论述
云计算访问控制技术研究综述
关注用户
关注用户