劉英杰,汪倫焰,胡方圓,袁璐
(1.華北水利水電大學水利學院,鄭州 450045;2.開封第一黃河河務局,開封 475000)
基于改進RBAC模型的SaaS模式下安全訪問控制
劉英杰1,汪倫焰1,胡方圓2,袁璐1
(1.華北水利水電大學水利學院,鄭州 450045;2.開封第一黃河河務局,開封 475000)
SaaS(軟件即服務)作為云計算的一種服務形式,是面向多用戶的一種服務模式,即多個租戶共享一個應用軟件,租戶之間的數據既有共享也有隔離,保證每個用戶之間數據的隔離和信息安全是亟待解決的問題。傳統RBAC(基于角色的訪問控制)模型可以實現系統數據的隔離和信息安全,但其不能進行角色的動態配置。提出改進的RBAC模型,使角色和權限可動態匹配,以適應SaaS模式下多租戶性的需求,并已在開發的項目管理信息系統中得到應用。
改進的RBAC模型;SaaS模式;用戶權限;管理信息系統
SaaS(軟件即服務)作為云計算的一種服務形式,與傳統軟件最本質的區別是多租戶性,即多個租戶共享一個應用系統,租戶之間的數據既有共享也有隔離[1],保證每個用戶之間數據的隔離和信息安全是亟需解決的問題。安全訪問控制是信息安全的保障,其類型包括DAC(Discretionary Access Control)模型、MAC(Mandatory Access Control)模型和RBAC(Role Based Access Control)模型。DAC模型用戶執行的程序與用戶具有相同的權限,當其中一個程序收到惡意攻擊,攻擊者會獲取最大特權,從而危害整個系統安全;MAC模型實現工作量大,訪問控制嚴格,不便管理[2]。傳統RBAC(基于角色的訪問控制)模型可以實現系統數據的隔離和信息安全,但其不能進行角色的動態配置。
本文提出了改進的RBAC模型,使角色和權限可動態匹配,增強了系統的可維護性和可擴張性,以適應SaaS模式下多租戶性的需求,并在已開發的基于云平臺的項目管理信息系統中得到了應用。
傳統RBAC模型中包含用戶、角色、客體、操作和許可五個元素,他們之間的關系如圖1所示。

圖1 RBAC模型
用戶是對系統資源和數據訪問的主體;角色是指擁有完成某項功能的權利,行使完某些權限的用戶;客體是系統中一切能被控制的資源;操作是對系統中的客體對象進行的指令動作,包含文件的存儲下載和對數據的讀寫等操作;對特定的客體進行的特定操作集合組成了一項許可,即權限。RBAC的實質是將系統的訪問權限交付給特定的角色,用戶通過獲得擁有某項資源的特定的角色,進而使用角色擁有的操作權限。會話體現用戶和角色之間的映射關系。RBAC模型中在用戶和權限之間加入角色這一中間態,是為了隔離權限和用戶。角色作為中間層,弱化了用戶與權限之間的關系[4]。角色作為RBAC模型的關鍵要素,角色與權限可以是多對一,也可以是一對多的關系,滿足了實際組織結構中角色、崗位、職責的配置關系。
SaaS(Software-as-a-Service,軟件即服務)是基于Internet提供給租戶的一種軟件服務,與傳統軟件最大的區別就是多租戶,用戶并不是一個企業或者一個項目,而是多個公司或項目。每個公司或項目特點、組織機構、管理流程等不同,對于角色用戶和權限設置要求也不同。傳統RBAC模型中的用戶/角色關系和角色/權限關系是事先設置的,對于固定用戶,這種關系比較穩定。但在SaaS軟件模式下,隨著租戶數的不斷增加,不同組織機構、不同層次、不同項目需求不同,導致系統的應用背景也不盡相同,因此無法事先設置用戶/角色關系和角色/權限關系。為了適應SaaS模式下新的環境需求,實現角色和權限動態匹配,用戶可根據需要自行創建和關聯,需要對RBAC模型進行改進,改進后的RBAC模型,如圖2所示。
在圖2中,服務指各種對客體的操作的權限。與傳統RBAC模型比較,改進的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];角色的構建是由用戶的管理員和系統的管理員來完成,角色的配置由用戶的管理員來完成,用戶進行角色的使用。
由于云平臺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