資源描述:
《基于角色的權(quán)限管理系統(tǒng)設(shè)計的問題和策略》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、基于角色的權(quán)限管理系統(tǒng)設(shè)計的問題和策略:TP311.52:A:1009-3044(2012)33-7918-04不同于自主或強制訪問控制模型,基于角色的訪問控制(簡稱RBAC,下同)以角色作為中介,系統(tǒng)首先給角色授權(quán),然后將角色分配給用戶,角色架起了訪問控制中訪問主體與客體之間的一座橋梁。之所以不直接將權(quán)限授予用戶,是因為角色比用戶更具穩(wěn)定性。當因為系統(tǒng)需求對用戶進行變更時,只需修改角色與該用戶的關(guān)聯(lián),而不必對角色與訪問控制客體之間的關(guān)聯(lián)進行修改,使系統(tǒng)設(shè)計的靈活性有所增強。1層次RBAC模型在基于角色的訪問控制模型(RBA
2、C)中,通常采用分層技術(shù)對角色的職權(quán)和責(zé)任能力進行描述。通過添加對角色分層的支持,能夠提高RBAC的管理效率、明晰角色間的邏輯關(guān)系。層次RBAC模型在RBAC角色集定義的基礎(chǔ)上,提出了角色層次的概念,并添加了相應(yīng)的訪問控制規(guī)范。層次RBAC模型如圖1所示。層次RBAC中包含兩類角色分層,常規(guī)角色層次和有限角色層次。常規(guī)角色層次在角色分層中支持任意偏序關(guān)系,可以實現(xiàn)不同角色間的許可集和用戶集從屬關(guān)系的多重繼承;有限角色層次強加限制了角色分層系行為,使系統(tǒng)中分層技術(shù)被限制在簡單的邏輯結(jié)構(gòu)中,有利于增強系統(tǒng)授權(quán)的安全性。2角色控制
3、的權(quán)責(zé)分割權(quán)責(zé)分割是系統(tǒng)設(shè)計中常用的一條安全法則,主要用于加強有利害關(guān)系策略的沖突性。該沖突性允許一個用戶可以同時獲得兩個(或以上)的沖突角色,通過角色分層和個性化角色集為高層次的組織安全策略提供約束機制。為了便于權(quán)限管理系統(tǒng)的設(shè)計,參照RBAC標準的有關(guān)內(nèi)容,我們將權(quán)責(zé)分割分為兩大類:靜態(tài)權(quán)責(zé)分割和動態(tài)權(quán)責(zé)分割。2.1靜態(tài)權(quán)責(zé)分割靜態(tài)權(quán)責(zé)分割(SSD)屬于靜態(tài)約束,在角色集定義時就實施訪問控制約束。SSD定義了一個包含兩個(或以上)角色的集合,為角色集指定限制條件,限制用戶指派關(guān)系。SSD還通過基數(shù)對策略違例做出了規(guī)定:如
4、果系統(tǒng)的局部組織中有一個由5個角色組成的角色集,則在授權(quán)過程中僅能有不超過4個的用戶角色數(shù)目。2.2動態(tài)權(quán)責(zé)分割動態(tài)權(quán)責(zé)分割(DSD)屬于動態(tài)約束,在激活角色時才實施訪問控制約束。DSD限制了對用戶有效的許可,為每個用戶的最小權(quán)限提供了不同的擴展支持。我們定義DSD(N)是動態(tài)權(quán)責(zé)分割中(rs,n)對的集合,其中rs代表角色集,n代表基數(shù)。我們認為在任意一個(rs,n)DSD的情況下,不存在用戶會話能從rs中同時獲得大于等于n的角色個數(shù)。該結(jié)論證明如下:設(shè)t是rs的一個子集,據(jù)上述定義可得到:SSD能夠在用戶指派角色時,解決
5、潛在的利害沖突;DSD則是在角色激活時,解決產(chǎn)生的策略沖突。3基于角色的訪問控制應(yīng)用在權(quán)限管理系統(tǒng)中,SSD用于用例設(shè)計,主要是對訪問控制核心角色的定義;DSD用于訪問控制,主要是對權(quán)限管理核心類的描述。3.1系統(tǒng)用例設(shè)計在采用RBAC模型的權(quán)限管理系統(tǒng)中,角色功能圖的用例框圖如圖2所示。該用例框圖中的角色控制執(zhí)行者主要有3個:安全管理員、用戶和角色領(lǐng)域工程師。角色領(lǐng)域工程師是權(quán)限管理系統(tǒng)的核心角色,主要用于描述權(quán)限集,實施角色分層和附加約束操作。安全管理員管理負責(zé)管理基于角色的權(quán)限系統(tǒng),為用戶授權(quán)。用戶被定義為一個真實的人
6、或者一個外部的系統(tǒng),他可以通過角色策略,要求系統(tǒng)執(zhí)行針對某個對象的某種操作。3.2訪問控制模塊訪問控制模塊是整個權(quán)限管理系統(tǒng)的核心部分,它的主要功能是用來驗證用戶或其角色是否具有訪問權(quán)限。對外部系統(tǒng)而言,訪問控制模塊采用黑盒設(shè)計,通過返回值確定允許或拒絕用戶的操作申請。此模塊的流程圖如圖3所示,從建立權(quán)限與資源的對應(yīng)關(guān)系入手,逐步實現(xiàn)角色實體與權(quán)限實體之間調(diào)用權(quán)限操作,從而建立權(quán)限實體與層次結(jié)構(gòu)的關(guān)聯(lián)。訪問控制模塊設(shè)計中的主要成員類有User、Session、Role、Permission、Constrain、Object,
7、其中Role是核心類用作主要類的連接。User是一個接口,它包括RBAC控制模塊中不同功能的實現(xiàn)類,每一個User對應(yīng)一個Session。在用戶Logon成功后Session由系統(tǒng)提供,當會話時鐘超時系統(tǒng)會要求用戶重新進行身份驗證。每一個Logon用戶可以在自己的Session中激活符合條件的角色,在激活角色之前系統(tǒng)先要調(diào)用Constrain檢查,確認用戶角色之間是否存在沖突。Role類的設(shè)計也和Session一樣使用了多例設(shè)計模式,其目的同樣是為了控制被激活角色的數(shù)量。3.3角色管理實現(xiàn)權(quán)限管理系統(tǒng)中的角色管理包括:增加角
8、色、角色管理范圍設(shè)定、角色變更、角色刪除等四部分功能,角色管理功能可通過點擊左邊角色管理欄菜單或右鍵菜單來實現(xiàn),權(quán)限管理系統(tǒng)中角色管理的部分源碼如下。4結(jié)論在權(quán)限管理系統(tǒng)中,角色控制比用戶控制具有更好的靈活性,能夠有效實現(xiàn)權(quán)責(zé)分割。基于角色的權(quán)限管理系統(tǒng)已經(jīng)能夠很好滿足單域環(huán)境中的系統(tǒng)授權(quán)