基於RBAC模型的許可權管理系統的設計和實現

2021-04-13 04:28:28 字數 2484 閱讀 6018

圖1 rbac0模型

a. rbac0定義了能構成乙個rbac控制系統的最小的元素集合。在rbac之中,包含使用者users(users)、角色roles(roles)、目標objects(obs)、操作operations(ops)、許可權permissions(prms)五個基本資料元素,許可權被賦予角色,而不是使用者,當乙個角色被指定給乙個使用者時,此使用者就擁有了該角色所包含的許可權。會話sessions是使用者與啟用的角色集合之間的對映。rbac0與傳統訪問控制的差別在於增加一層間接性帶來了靈活性,rbac1、rbac2、rbac3都是先後在rbac0上的擴充套件。

b. rbac1引入角色間的繼承關係,角色間的繼承關係可分為一般繼承關係和受限繼承關係。一般繼承關係僅要求角色繼承關係是乙個絕對偏序關係,允許角色間的多繼承。而受限繼承關係則進一步要求角色繼承關係是乙個樹結構。

c. rbac2模型中新增了責任分離關係。rbac2的約束規定了許可權被賦予角色時,或角色被賦予使用者時,以及當使用者在某一時刻啟用乙個角色時所應遵循的強制性規則。責任分離包括靜態責任分離和動態責任分離。約束與使用者-角色-許可權關係一起決定了rbac2模型中使用者的訪問許可。

d. rbac3包含了rbac1和rbac2,既提供了角色間的繼承關係,又提供了責任分離關係。

3核心物件模型設計

根據rbac模型的許可權設計思想,建立許可權管理系統的核心物件模型。如圖2所示。

物件模型中包含的基本元素主要有:使用者(users)、使用者組(group)、角色(role)、目標(objects)、訪問模式(access mode)、操作(operator)。主要的關係有:分配角色許可權pa(permission assignment)、分配使用者角色ua(users assignmen描述如下:

圖2 許可權管理系統核心類圖圖2

許可權管理系統核心類圖

a .控制物件:是系統所要保護的資源(resource),可以被訪問的物件。資源的定義需要注意以下兩個問題:

1.資源具有層次關係和包含關係。例如,網頁是資源,網頁上的按鈕、文字框等物件也是資源,是網頁節點的子節點,如可以訪問按鈕,則必須能夠訪問頁面。

2.這裡提及的資源概念是指資源的類別(resource class),不是某個特定資源的例項(resource instance)。資源的類別和資源的例項的區分,以及資源的粒度的細分,有利於確定許可權管理系統和應用系統之間的管理邊界,許可權管理系統需要對於資源的類別進行許可權管理,而應用系統需要對特定資源的例項進行許可權管理。兩者的區分主要是基於以下兩點考慮:

一方面,資源例項的許可權常具有資源的相關性。即根據資源例項和訪問資源的主體之間的關聯關係,才可能進行資源的例項許可權判斷。

例如,在管理資訊系統中,需要按照營業區域劃分不同部門的客戶,a區和b區都具有修改客戶資料這一受控的資源,這裡「客戶檔案資料」是屬於資源的類別的範疇。如果規定a區只能修改a區管理的客戶資料,就必須要區分出資料的歸屬,這裡的資源是屬於資源例項的範疇。客戶檔案(資源)本身應該有其使用者的資訊(客戶資料可能就含有營業區域這一屬性),才能區分特定資源的例項操作,可以修改屬於自己管轄的資訊內容。

另一方面,資源的例項許可權常具有相當大的業務邏輯相關性。對不同的業務邏輯,常常意味著完全不同的許可權判定原則和策略。

b.許可權:對受保護的資源操作的訪問許可(access permission),是繫結在特定的資源例項上的。對應地,訪問策略(access strategy)和資源類別相關,不同的資源類別可能採用不同的訪問模式(access mode)。例如,頁面具有能開啟、不能開啟的訪問模式,按鈕具有可用、不可用的訪問模式,文字編輯框具有可編輯、不可編輯的訪問模式。同一資源的訪問策略可能存在排斥和包含關係。例如,某個資料集的可修改訪問模式就包含了可查詢訪問模式。

c.使用者:是許可權的擁有者或主體。使用者和許可權實現分離,通過授權管理進行繫結。

d.使用者組:一組使用者的集合。在業務邏輯的判斷中,可以實現基於個人身份或組的身份進行判斷。系統弱化了使用者組的概念,主要實現使用者(個人的身份)的方式。

e.角色:許可權分配的單位與載體。角色通過繼承關係支援分級的許可權實現。例如,科長角色同時具有科長角色、科內不同業務人員角色。

f.操作:完成資源的類別和訪問策略之間的繫結。

g.分配角色許可權pa:實現操作和角色之間的關聯關係對映。

h.分配使用者角色ua:實現使用者和角色之間的關聯關係對映。

該物件模型最終將訪問控制模型轉化為訪問矩陣形式。訪問矩陣中的行對應於使用者,列對應於操作,每個矩陣元素規定了相應的角色,對應於相應的目標被准予的訪問許可、實施行為。按訪問矩陣中的行看,是訪問能力表cl(access capabilities)的內容;按訪問矩陣中的列看,是訪問控制表acl(access control lists)的內容。

4 許可權訪問機制

許可權管理系統端:提供集中管理許可權的服務,負責提供使用者的鑑別、使用者資訊、組織結構資訊,以及許可權關係表的計算。如圖3所示。

RBAC基於角色的許可權管理模型

a.安全性 防止誤操作,防止資料洩露,保證資訊的安全。b.資料隔離 保持不同的角色具有不同的許可權,只能看到自己許可權範圍內的資料 a.傳統的許可權管理 隨著使用者數量的增大和使用者許可權區別的增大,傳統的許可權管理需要針對每個使用者依次管理,成本較高。b.rbac role based acces...

RBAC基於角色的訪問控制模型(許可權管理)

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...

許可權管理系統(四) RBAC許可權模型分類介紹

rbac是role basedaccess control的英文縮寫,意思是基於角色的訪問控制。rbac認為許可權授權實際上是who what how的問題。在rbac模型中,who what how構成了訪問許可權三元組,也就是 who對what which 進行how的操作,也就是 主體 對 客...