劉英杰,汪倫焰,胡方圓,袁璐
(1.華北水利水電大學(xué)水利學(xué)院,鄭州 450045;2.開封第一黃河河務(wù)局,開封 475000)
基于改進(jìn)RBAC模型的SaaS模式下安全訪問控制
劉英杰1,汪倫焰1,胡方圓2,袁璐1
(1.華北水利水電大學(xué)水利學(xué)院,鄭州 450045;2.開封第一黃河河務(wù)局,開封 475000)
SaaS(軟件即服務(wù))作為云計(jì)算的一種服務(wù)形式,是面向多用戶的一種服務(wù)模式,即多個租戶共享一個應(yīng)用軟件,租戶之間的數(shù)據(jù)既有共享也有隔離,保證每個用戶之間數(shù)據(jù)的隔離和信息安全是亟待解決的問題。傳統(tǒng)RBAC(基于角色的訪問控制)模型可以實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)的隔離和信息安全,但其不能進(jìn)行角色的動態(tài)配置。提出改進(jìn)的RBAC模型,使角色和權(quán)限可動態(tài)匹配,以適應(yīng)SaaS模式下多租戶性的需求,并已在開發(fā)的項(xiàng)目管理信息系統(tǒng)中得到應(yīng)用。
改進(jìn)的RBAC模型;SaaS模式;用戶權(quán)限;管理信息系統(tǒng)
SaaS(軟件即服務(wù))作為云計(jì)算的一種服務(wù)形式,與傳統(tǒng)軟件最本質(zhì)的區(qū)別是多租戶性,即多個租戶共享一個應(yīng)用系統(tǒng),租戶之間的數(shù)據(jù)既有共享也有隔離[1],保證每個用戶之間數(shù)據(jù)的隔離和信息安全是亟需解決的問題。安全訪問控制是信息安全的保障,其類型包括DAC(Discretionary Access Control)模型、MAC(Mandatory Access Control)模型和RBAC(Role Based Access Control)模型。DAC模型用戶執(zhí)行的程序與用戶具有相同的權(quán)限,當(dāng)其中一個程序收到惡意攻擊,攻擊者會獲取最大特權(quán),從而危害整個系統(tǒng)安全;MAC模型實(shí)現(xiàn)工作量大,訪問控制嚴(yán)格,不便管理[2]。傳統(tǒng)RBAC(基于角色的訪問控制)模型可以實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)的隔離和信息安全,但其不能進(jìn)行角色的動態(tài)配置。
本文提出了改進(jìn)的RBAC模型,使角色和權(quán)限可動態(tài)匹配,增強(qiáng)了系統(tǒng)的可維護(hù)性和可擴(kuò)張性,以適應(yīng)SaaS模式下多租戶性的需求,并在已開發(fā)的基于云平臺的項(xiàng)目管理信息系統(tǒng)中得到了應(yīng)用。
傳統(tǒng)RBAC模型中包含用戶、角色、客體、操作和許可五個元素,他們之間的關(guān)系如圖1所示。
圖1 RBAC模型
用戶是對系統(tǒng)資源和數(shù)據(jù)訪問的主體;角色是指擁有完成某項(xiàng)功能的權(quán)利,行使完某些權(quán)限的用戶;客體是系統(tǒng)中一切能被控制的資源;操作是對系統(tǒng)中的客體對象進(jìn)行的指令動作,包含文件的存儲下載和對數(shù)據(jù)的讀寫等操作;對特定的客體進(jìn)行的特定操作集合組成了一項(xiàng)許可,即權(quán)限。RBAC的實(shí)質(zhì)是將系統(tǒng)的訪問權(quán)限交付給特定的角色,用戶通過獲得擁有某項(xiàng)資源的特定的角色,進(jìn)而使用角色擁有的操作權(quán)限。會話體現(xiàn)用戶和角色之間的映射關(guān)系。RBAC模型中在用戶和權(quán)限之間加入角色這一中間態(tài),是為了隔離權(quán)限和用戶。角色作為中間層,弱化了用戶與權(quán)限之間的關(guān)系[4]。角色作為RBAC模型的關(guān)鍵要素,角色與權(quán)限可以是多對一,也可以是一對多的關(guān)系,滿足了實(shí)際組織結(jié)構(gòu)中角色、崗位、職責(zé)的配置關(guān)系。
SaaS(Software-as-a-Service,軟件即服務(wù))是基于Internet提供給租戶的一種軟件服務(wù),與傳統(tǒng)軟件最大的區(qū)別就是多租戶,用戶并不是一個企業(yè)或者一個項(xiàng)目,而是多個公司或項(xiàng)目。每個公司或項(xiàng)目特點(diǎn)、組織機(jī)構(gòu)、管理流程等不同,對于角色用戶和權(quán)限設(shè)置要求也不同。傳統(tǒng)RBAC模型中的用戶/角色關(guān)系和角色/權(quán)限關(guān)系是事先設(shè)置的,對于固定用戶,這種關(guān)系比較穩(wěn)定。但在SaaS軟件模式下,隨著租戶數(shù)的不斷增加,不同組織機(jī)構(gòu)、不同層次、不同項(xiàng)目需求不同,導(dǎo)致系統(tǒng)的應(yīng)用背景也不盡相同,因此無法事先設(shè)置用戶/角色關(guān)系和角色/權(quán)限關(guān)系。為了適應(yīng)SaaS模式下新的環(huán)境需求,實(shí)現(xiàn)角色和權(quán)限動態(tài)匹配,用戶可根據(jù)需要自行創(chuàng)建和關(guān)聯(lián),需要對RBAC模型進(jìn)行改進(jìn),改進(jìn)后的RBAC模型,如圖2所示。
在圖2中,服務(wù)指各種對客體的操作的權(quán)限。與傳統(tǒng)RBAC模型比較,改進(jìn)的RBAC模型只是定義了角色集合和服務(wù)集合,而角色和服務(wù)之間的對應(yīng)關(guān)系則是動態(tài)關(guān)聯(lián)的。在系統(tǒng)中,根據(jù)不同租戶的需求,管理員可以從角色集合中選擇角色,并在服務(wù)集合中選擇該角色可用的服務(wù)項(xiàng)與之關(guān)聯(lián);也可以根據(jù)不同租戶的需求創(chuàng)建角色并添加到角色集合中,再將創(chuàng)建的角色分配給相關(guān)的用戶;也可以根據(jù)租戶不同需求創(chuàng)建新的服務(wù),添加至服務(wù)集合中,以便滿足角色不同職責(zé)的需要,從而實(shí)現(xiàn)動態(tài)、靈活匹配。
3.1 項(xiàng)目管理信息系統(tǒng)構(gòu)成
該項(xiàng)目管理系統(tǒng)采用B/S體系架構(gòu),表現(xiàn)層、邏輯層、數(shù)據(jù)操作分離的三層構(gòu)架。通過瀏覽器系統(tǒng)使用者可以訪問表示層同時登陸用戶界面,Web服務(wù)器負(fù)責(zé)業(yè)務(wù)邏輯處理進(jìn)而實(shí)現(xiàn)與用戶端、數(shù)據(jù)存儲服務(wù)器、Web服務(wù)器通過阿里云平臺來構(gòu)建[5]。如圖3所示。
圖3 系統(tǒng)構(gòu)成
3.2 改進(jìn)的RBAC在項(xiàng)目管理信息系統(tǒng)中的應(yīng)用
不同層次、不同類型的用戶對建設(shè)管理信息化的程度和需求是不同的。不同企業(yè)經(jīng)營范圍不同,管理需求也不同;相同企業(yè)的不同管理層次、不同職能部門職責(zé)不同,管理流程不同;不同項(xiàng)目的功能需求也不同,如工期短,規(guī)模小的項(xiàng)目比較注重簡潔清晰的業(yè)務(wù)流程;規(guī)模投資大、工期長的項(xiàng)目除需要明晰的業(yè)務(wù)流程管理外,還需要對項(xiàng)目進(jìn)行綜合管理?;谠破脚_SaaS模式項(xiàng)目管理系統(tǒng)適用于各種類型的項(xiàng)目管理。對系統(tǒng)的用戶進(jìn)行定義如下:
系統(tǒng)的管理員:對系統(tǒng)的進(jìn)行綜合全面的管理;統(tǒng)一管理系統(tǒng)的用戶。
圖2 RBAC的權(quán)限分配
大中型項(xiàng)目用戶:需要使用系統(tǒng)的管理服務(wù)和業(yè)務(wù)流程,應(yīng)用的系統(tǒng)規(guī)模大。
用戶的管理員:大中型項(xiàng)目用戶的分配權(quán)限人員,由其內(nèi)部人員擔(dān)任。
小型項(xiàng)目用戶:主要使用系統(tǒng)的業(yè)務(wù)流程。
在系統(tǒng)中的基于改進(jìn)RBAC模型的安全訪問控制設(shè)計(jì)如圖4所示。
用Role角色表來對應(yīng)系統(tǒng)的兩種用戶,User1表用來存儲大中型項(xiàng)目用戶的信息,User2表用來存儲小型項(xiàng)目用戶的信息。在Role角色表中設(shè)置一個外鍵,實(shí)現(xiàn)與其他用戶的聯(lián)系,進(jìn)而實(shí)現(xiàn)用戶的多角色。Role_warehouse角色倉庫表用來存儲大中型項(xiàng)目用戶與角色之間可見度的配置關(guān)系,數(shù)據(jù)倉庫表Data_ware?house用來對大中型項(xiàng)目用戶的秘密程度和自身數(shù)據(jù)的設(shè)置進(jìn)行存儲。Service服務(wù)表用來為用戶的管理員和系統(tǒng)的管理員進(jìn)行角色配置及權(quán)限服務(wù)的對應(yīng)關(guān)系。其依照“構(gòu)建角色—配置角色—角色的使用”的業(yè)務(wù)流程進(jìn)行[6];角色的構(gòu)建是由用戶的管理員和系統(tǒng)的管理員來完成,角色的配置由用戶的管理員來完成,用戶進(jìn)行角色的使用。
由于云平臺SaaS模式項(xiàng)目管理系統(tǒng)的多租戶性,數(shù)據(jù)的隔離和信息安全尤為重要。RBAC模型在用戶和權(quán)限之間加入角色這一中間態(tài),用在復(fù)雜系統(tǒng)的權(quán)限管理中,簡化了訪問控制,同時也提高了系統(tǒng)安全性[7]。 通過改進(jìn)的RBAC模型,使用戶與角色動態(tài)匹配,以適應(yīng)多租戶特點(diǎn)的需求,并通過實(shí)例驗(yàn)證改進(jìn)的RBAC模型能夠?qū)崿F(xiàn)多用戶條件下系統(tǒng)數(shù)據(jù)的隔離和保證信息的安全訪問控制。
圖4 安全訪問控制模型
[1]夏祖軍,魏娜,朱金曉.基于SaaS模式的信息發(fā)布平臺的研究[J].信息通信,2013(6):101-102.
[2]杜澈.SaaS模式的研究與應(yīng)用[D].南京郵電大學(xué),2013.
[3]彭榮.SaaS模式下多租戶系統(tǒng)架構(gòu)及關(guān)鍵技術(shù)研究[D].大連海事大學(xué),2010.
[4]張琪.基于角色的權(quán)限管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2013.
[5]姜書彬,姜東民.云計(jì)算環(huán)境下中小型建設(shè)工程項(xiàng)目管理系統(tǒng)的研究[J].經(jīng)營與管理.
[6]丁守哲.基于云計(jì)算的建筑設(shè)計(jì)行業(yè)信息系統(tǒng)開發(fā)模式與實(shí)現(xiàn)技術(shù)研究[M].合肥工業(yè)大學(xué),2012.
[7]馬立林,李紅.基于RBAC的SaaS系統(tǒng)的權(quán)限模型[J].計(jì)算機(jī)應(yīng)用與軟件,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-),女,河南扶溝縣人,博士,華北水利水電大學(xué),副教授,研究方向?yàn)楣こ坦芾?/p>
汪倫焰(1968-),男,安徽霍山人,博士,華北水利水電大學(xué),教授,研究方向?yàn)樗姽こ探ㄔO(shè)與管理
胡方圓(1990-),女,河南長垣人,碩士,助理工程師,研究方向?yàn)楣こ坦芾?/p>
袁璐(1992-),女,河北邯鄲人,碩士研究生,研究方向?yàn)楣こ坦芾?/p>
2017-03-09
2017-05-02
河南省水利科技攻關(guān)項(xiàng)目(No.GG201539)、河南省產(chǎn)學(xué)研合作項(xiàng)目(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