http://blog.csdn.net/ms_x0828/article/details/7035956
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設計的一個圖:

- 頂
- 4
- 踩
