網(wǎng)站制作NEWS
一文看懂權(quán)限設計:基于RBAC模型
權(quán)限設計不管在C端還是B端產(chǎn)品產(chǎn)品設計中都避免不了,了解權(quán)限設計思路是產(chǎn)品經(jīng)理在職業(yè)發(fā)展的道路上必不可少的一步。特別是B端產(chǎn)品設計,每個新功能的增加都需要考慮權(quán)限,本文主要目的帶著你了解目前主流的用戶權(quán)限是如何設計的。
本文主要分為以下三個部分:
為什么要做權(quán)限設計?
怎么做:RBAC模型介紹
常見應用案例:C端&B端
擴展
在文明的社會,每個人都生活在秩序當中,生活需要秩序,同樣產(chǎn)品設計中也需要秩序,這種秩序的表達就是用戶權(quán)限。做用戶權(quán)限設置是為了更好的管理用戶,從而達到良好的產(chǎn)品運轉(zhuǎn)機制。B端產(chǎn)品通過權(quán)限設計可以相當大的資源外漏,從而降低企業(yè)風險。
RBAC模型目前是大部分公司主流的權(quán)限管理,因集合自助訪問控制(DAC)和強制訪問控制(MAC)兩者的優(yōu)點。
RBAC是Role-BasedAccess Control的英文縮寫,意思是基于角色訪問控制。RBAC實際上就是針對產(chǎn)品去發(fā)掘需求時所用到的Who(角色)、What(擁有什么資源)、How(有哪些操作)的方式。在RBAC模型中,who、what、how構(gòu)成了訪問權(quán)限三元組,也就是“Who對What進行How的操作。
RBAC主要包含四個子模型:RBAC0、RBAC1、RBAC2和RBAC3,整體又叫做RBAC96。
RBAC0:
RBAC0是RBAC96模型家族中的基礎,也稱作核心部分,RBAC1、RBAC2和RBAC3是在此基礎之上發(fā)展演變而來。我們看到的可以理解它是由四個部分組成:用戶、角色、會話、權(quán)限,這就導致了這種分配關(guān)系是多對多:用戶對應多個角色、角色對應多個權(quán)限。用戶與會話一對一,會話與角色一對多;如下圖:
RBAC1:
RBAC1是在RBAC0模型基礎之上增加了角色分層概念和角色之間的繼承關(guān)系。角色分層指的是同一個角色可以用不同等級,不同等級又對應著不同的權(quán)限;角色繼承關(guān)系指的是角色之間可以轉(zhuǎn)移權(quán)限,比如A員工離職、B員工入職,兩人處于同一角色。管理員可以將A員工的權(quán)限轉(zhuǎn)移B員工頭上。如下圖:
RBAC2:
RBAC1是在RBAC0模型基礎之上增加了角色約束,主要約束哪些操作是可進行,哪些是不可進行。主要約束有以下三個方面:
角色互斥約束:是指在系統(tǒng)運行中,只可以同時激活運行時互斥角色集合中的一個角色;
角色基數(shù)約束:是限制某一個用戶最多被分配或者激活的角色數(shù)目,或者限制某一個角色最多被賦予的權(quán)限數(shù)目;
先決條件角色約束:是指某些用戶只有在己經(jīng)擁有特定角色的前提下,才能被分配到某種角色,或者某種角色只有在已經(jīng)被分配到特定權(quán)限的前提下,才能被賦予某些權(quán)限。如下圖:
RBAC3:
RBAC3則是集聚了RBAC1和RBAC2的全部特點,同時將角色繼承關(guān)系和約束條件關(guān)系兩者都融入到模型中。如下圖:
RBAC模型通過給新用戶分配相應的角色即可授予其相應的訪問權(quán)限,這種靈活的角色映射機制大大降低了管理的復雜性,提高了系統(tǒng)的可擴展性。模型主要解決用戶對資源的訪問控制問題,即判定用戶對資源擁有怎樣的訪問權(quán)限,我們根據(jù)實際的業(yè)務需求基于RBAC模型進行組合和分離。
C端:以PMCAFF為例
PMCAFF因業(yè)務較簡單,所以權(quán)限設置并不復雜;大部分C端產(chǎn)品權(quán)限設計都會涉及登錄和不登錄兩種狀態(tài),對應也就是擁有的操作權(quán)限的異同了。
B端:以TAPD、藍湖為例
TAPD使用了RBAC模型中的用戶-權(quán)限,并未加上角色這個概念,但其拓展了用戶組的概念。這就是基于RBAC模型結(jié)合自身實際業(yè)務的延伸方案。如下圖:
藍湖作為設計師切圖管理工具,便捷設計師切圖與開發(fā)人員之間的溝通,其權(quán)限設計雖不復雜,但使用了RBAC模型中的用戶-角色-權(quán)限這組經(jīng)典的三元組合:用戶-角色-權(quán)限,但它的設計也是經(jīng)過變形而來,為了操作簡便,直接設定好角色和權(quán)限之間的關(guān)聯(lián):如編輯者(編輯畫布、管理設計圖、批注)
用戶擴展為用戶組或增加用戶組的概念:如用戶屬于設計組,這個組的權(quán)限可能有10個,對應其中可能涉及用戶角色(職位高低)有所增減,所以在大型公司會設用戶組,或直接像TAPD一樣使用組來配合權(quán)限管理。備注:這個用戶組也可能叫做崗位,是某一類的集合,所以不要糾結(jié)名字。
權(quán)限-權(quán)限組:如專注OA20多年的泛微集團,會將權(quán)限細分到不能細分的點,然后由管理員根據(jù)自身業(yè)務需求進行配置權(quán)限組,進而關(guān)聯(lián)對應的角色或者用戶,如下圖:
1.云計算環(huán)境下RBAC模型的研究與設計_翟馨沂
2.: 君臨天下夜未央 -RBAC權(quán)限模型簡介
多重隨機標簽