RBAC?模型作為目前最為廣泛接受的權(quán)限模型
角色訪問控制(RBAC)引入了Role的概念,目的是為了隔離User(即動作主體,Subject)與Privilege(權(quán)限,表示對Resource的一個操作,即Operation+Resource)。 Role作為一個用戶(User)與權(quán)限(Privilege)的代理層,解耦了權(quán)限和用戶的關(guān)系,所有的授權(quán)應(yīng)該給予Role而不是直接給User或 Group。Privilege是權(quán)限顆粒,由Operation和Resource組成,表示對Resource的一個Operation。例如,對于新聞的刪除操作。Role-Privilege是many-to-many的關(guān)系,這就是權(quán)限的核心。
基于角色的訪問控制方法(RBAC)的顯著的兩大特征是:
1.由于角色/權(quán)限之間的變化比角色/用戶關(guān)系之間的變化相對要慢得多,減小了授權(quán)管理的復(fù)雜性,降低管理開銷。
2.靈活地支持企業(yè)的安全策略,并對企業(yè)的變化有很大的伸縮性。
RBAC的基本概念:
RBAC認(rèn)為權(quán)限授權(quán)實(shí)際上是Who、What、How的問題。在RBAC模型中,who、what、how構(gòu)成了訪問權(quán)限三元組,也就是“Who對What(Which)進(jìn)行How的操作”。
Who:權(quán)限的擁用者或主體(如Principal、User、Group、Role、Actor等等)
What:權(quán)限針對的對象或資源(Resource、Class)。
How:具體的權(quán)限(Privilege,正向授權(quán)與負(fù)向授權(quán))。
Operator:操作。表明對What的How操作。也就是Privilege+Resource
Role:角色,一定數(shù)量的權(quán)限的集合。權(quán)限分配的單位與載體,目的是隔離User與Privilege的邏輯關(guān)系.
Group:用戶組,權(quán)限分配的單位與載體。權(quán)限不考慮分配給特定的用戶而給組。組可以包括組(以實(shí)現(xiàn)權(quán)限的繼承),也可以包含用戶,組內(nèi)用戶繼承組的權(quán)限。User與Group是多對多的關(guān)系。Group可以層次化,以滿足不同層級權(quán)限控制的要求。
RBAC的關(guān)注點(diǎn)在于Role和User, Permission的關(guān)系。稱為User assignment(UA)和Permission assignment(PA).關(guān)系的左右兩邊都是Many-to-Many關(guān)系。就是user可以有多個role,role可以包括多個user。
課程目錄:
01 能力提升
02 RBAC簡介
03 使用rbac進(jìn)行數(shù)據(jù)庫設(shè)計
04 頁面元素可見性
05 url權(quán)限驗證