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