RBAC許可權設計

2021-08-27 17:31:31 字數 2491 閱讀 9949

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使用者角色許可權設計方案

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

RBAC角色許可權設計

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