白話權(quán)限體系的設(shè)計:當(dāng)傳統(tǒng)的RBAC“遭遇”組織和崗位

傳統(tǒng)RBAC與現(xiàn)實的距離

傳統(tǒng)的RBAC(基于角色的訪問權(quán)限控制)是一個經(jīng)典的權(quán)限管理模型,基本原理是不直接對系統(tǒng)種的用戶賦權(quán),而是通過角色作為系統(tǒng)用戶和系統(tǒng)資源之間的中介,將資源權(quán)限綁定到角色,再將角色綁定到用戶,來完成整個賦權(quán)的流程,從而簡化賦權(quán)和修改權(quán)限的過程。(多扯一句,這個理念和計算機軟件體系中,大家談到的,當(dāng)你覺得一個系統(tǒng)太復(fù)雜的時候,就給它加一個中間層的“秘笈”不謀而合,可見“世間萬物皆有相通之理”)

image.png

上述的基礎(chǔ)的RBAC(維基上命名為RBAC0)簡單易懂,且容易落地。但是實際工作過程中,人們往往會在基礎(chǔ)的RBAC上疊加更多特性,來滿足現(xiàn)狀的需要。比如從用人制度上,一般都會采取“以崗定人”的用人制度。在權(quán)限體系中,當(dāng)人員調(diào)換崗位需要更新此人員的各種權(quán)限的時候,只需要更新人員對應(yīng)的組織關(guān)系,那么角色權(quán)限會自動進行調(diào)整,從而減少了管理人員的工作量,也更符合常見的調(diào)崗操作方式。

因此,今天我們來討論兩個方面的問題

  1. 組織架構(gòu)的特點

  2. 如何建立組織,崗位和賬戶的關(guān)聯(lián)模型

先來了解一下組織架構(gòu)的特點

1.組織架構(gòu)的特點

  • 組織一般是樹形結(jié)構(gòu)。在同一層的組織里面,有不同的職位,每個職位的權(quán)限都不一樣。比如會計和出納擁有不同的權(quán)限

  • 在不同職位之間,存在權(quán)限的重合。比如辦公室主任除了擁有辦公室職員的基礎(chǔ)權(quán)限,主任還擁有更多的審批管理類權(quán)限

  • 同一個職位會對應(yīng)多個崗位。同時還會存在一個人身兼多職也就是多個崗位的情況

    如下圖所示,副總經(jīng)理這一級組織對應(yīng)的崗位上,有兩人任職,趙子龍和趙德彪。同時趙子龍除了擔(dān)任副總經(jīng)理的崗位,還擔(dān)任了總會計這一級組織里的負責(zé)人崗位。


    image.png

2.組織,崗位,角色,帳號融合后的模型

以上面的組織架構(gòu)為例,接下來會解密如何設(shè)計一個融合了組織和崗位的權(quán)限體系。

當(dāng)然,在此之前需要我們對其一下術(shù)語。先來了解一下對每個名詞的定義吧。

  • 帳號。每一個真實的人,登錄系統(tǒng)的場景,我們將這個真實的人用【帳號】來代表。

  • 資源:系統(tǒng)中的每一個項,比如所有的菜單,所有的數(shù)據(jù)列表,所有的頁面等。

  • 角色。【角色】代表對資源的CRUD控制權(quán)限。

  • 組織。圖1所示就是一個組織架構(gòu)

  • 崗位。與人相對應(yīng),一個崗位只能對應(yīng)一個人,但一人可以同時擔(dān)任多個崗位。

  • 職位。同一個類型的崗位,組成一個職位

一般不會直接將【帳號】與【資源】綁定,原因在前言中也說了,這種粒度過細,會讓后期維護的時候非常復(fù)雜和耗時。為了方便賦權(quán)和后期的維護,可以將【職位】與【角色】綁定。同一個職位下的所有【崗位】擁有同樣的角色。如下圖所示。

image.png

說明:副總經(jīng)理趙德彪,需要對應(yīng)一個他自己的帳號。這個帳號只代表1個崗位,登陸后,系統(tǒng)檢查這個帳號代表的是崗位C,崗位C在組織架構(gòu)中的職位是職位B。接下來,系統(tǒng)發(fā)現(xiàn)這個職位B對應(yīng)了4個角色,即角色2~5。每個角色都分別代表了不同的對資源操作的權(quán)限,職位B擁有的是這4個角色權(quán)限的總和。最終總結(jié)起來,趙德彪登陸后,擁有操作資源A,操作資源C和...資源...的權(quán)限。

另外一位副總經(jīng)理趙子龍,需要對應(yīng)一個他自己的帳號。這個帳號代表了2個崗位,按照上面的邏輯推斷步驟,省略中間過程,最終總結(jié)起來就是,趙子龍登陸后,擁有查看資源A,操作資源B和操作資源C的權(quán)限。

3.總結(jié)

在這篇文章中,首先快速的過了一遍rbac的基本原理,就是將帳號和角色綁定,角色與資源權(quán)限綁定,來實現(xiàn)簡單合理的權(quán)限控制。然后介紹了一個真實的“以崗定人”的組織架構(gòu),存在一個職位對應(yīng)多個崗位,一人多崗的特點。最后給出了一個可實際操作的,包含如何設(shè)計帶有組織和崗位的權(quán)限模型,供參考。歡迎大家一起討論。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容