rbac
模型作為目前最為廣泛接受的許可權模型
角色訪問控制(rbac)引入了role的概念,目的是為了隔離user(即動作主體,subject)與privilege(許可權,表示對resource的乙個操作,即operation+resource)。 role作為乙個使用者(user)與許可權(privilege)的**層,解耦了許可權和使用者的關係,所有的授權應該給予role而不是直接給user或 group。privilege是許可權顆粒,由operation和resource組成,表示對resource的乙個operation。例如,對於新聞的刪除操作。role-privilege是many-to-many的關係,這就是許可權的核心。
基於角色的訪問控制方法(rbac)的顯著的兩大特徵是:
1.由於角色/許可權之間的變化比角色/使用者關係之間的變化相對要慢得多,減小了授權管理的複雜性,降低管理開銷。
2.靈活地支援企業的安全策略,並對企業的變化有很大的伸縮性。
rbac的基本概念:
rbac認為許可權授權實際上是who、what、how的問題。在rbac模型中,who、what、how構成了訪問許可權三元組,也就是「who對what(which)進行how的操作」。
who
:許可權的擁用者或主體(如principal、user、group、role、actor等等)
what:許可權針對的物件或資源(resource、class)。
how:具體的許可權(privilege,正向授權與負向授權)。
operator:操作。表明對what的how操作。也就是privilege+resource
role:角色,一定數量的許可權的集合。許可權分配的單位與載體,目的是隔離user與privilege的邏輯關係.
group:使用者組,許可權分配的單位與載體。許可權不考慮分配給特定的使用者而給組。組可以包括組(以實現許可權的繼承),也可以包含使用者,組內使用者繼承組的許可權。user與group是多對多的關係。group可以層次化,以滿足不同層級許可權控制的要求。
rbac的關注點在於role和user, permission的關係。稱為user assignment(ua)和permission assignment(pa).關係的左右兩邊都是many-to-many關係。就是user可以有多個role,role可以包括多個user。
一、rbac96模型
rbac96模型家族,其中包括了rbac0~rbac3四個概念模型。他們之間的關係如下圖:
rbac0定義了能構成乙個rbac控制系統的最小的元素集合
在 rbac之中,包含使用者users(users)、角色roles(roles)、目標objects(obs)、操作operations(ops)、許可權permissions(prms)五個基本資料元素,許可權被賦予角色,而不是使用者,當乙個角色被指定給乙個使用者時,此使用者就擁有了該角色所包含的許可權。會話sessions是使用者與啟用的角色集合之間的對映。rbac0與傳統訪問控制的差別在於增加一層間接性帶來了靈活性,rbac1、 rbac2、rbac3都是先後在rbac0上的擴充套件。
rbac0模型如下圖所示:
rbac1 引入角色間的繼承關係
角色間的繼承關係可分為一般繼承關係和受限繼承關係。一般繼承關係僅要求角色繼承關係是乙個絕對偏序關係,允許角色間的多繼承。而受限繼承關係則進一步要求角色繼承關係是乙個樹結構
rbac2 模型中新增了責任分離關係
rbac2
的約束規定了許可權被賦予角色時,或角色被賦予使用者時,以及當使用者在某一時刻啟用乙個角色時所應遵循的強制性規則。責任分離包括靜態責任分離和動態責任分離。約束與使用者-角色-許可權關係一起決定了rbac2模型中使用者的訪問許可
rbac3 包含了rbac1和rbac2
既提供了角色間的繼承關係,又提供了責任分離關係.rbac3模型如下圖:
二、arbac97模型
arbac97模型是基於角色的角色管理模型,包括三個部分:
ura97:使用者-角色管理模型,該元件涉及使用者指派關係ua的管理,該關係把使用者與角色管理在一起.對該關係的修改權由管理角色,這樣,管理角色中的成員有權管理正規角色中的成員關係.
pra97:許可權-角色管理模型.該元件設計角色許可證的指派與撤銷.從角色的觀點來看,使用者和許可權有類似的特點,他們都是由角色聯絡在一起的實在實體.
rra97:角色-層次管理模型,為了便於對角色的管理,對角色又進行了分類.該元件設計3類角色,它們是:
1、能力(abilitier)角色--僅以許可權和其他能力作為成員的角色
2、組(groups)角色--僅以使用者和其他組為成員的一類角色
3、up-角色--表示使用者與許可權的角色,這類角色對其成員沒有限制,成員可以是使用者、角色、許可權、能力、組或其他up-角色
下面是基於rbac3設計的乙個圖:
RBAC許可權管理
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
RBAC許可權管理
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
RBAC許可權管理
離開實驗室出差到公司做專案期間,除了做報表的相關開發,另一塊就是做整個系統的許可權管理。也就是要給每個登入的使用者授予一定的操作許可權和訪問資源的許可權。在查詢了資料後,最後決定採用基於角色的訪問許可權。基於角色的訪問控制 role based access control 作為傳統訪問控制 自主訪...