權(quán)限體系設(shè)計(jì):融合了組織和崗位的權(quán)限模型長(zhǎng)啥樣?
文章從RBAC的基本原理出發(fā),結(jié)合案例對(duì)權(quán)限設(shè)計(jì)中一個(gè)職位對(duì)應(yīng)多個(gè)崗位的的情況進(jìn)行了說(shuō)明,并分享了相關(guān)權(quán)限模型,供大家一起參考和學(xué)習(xí)。
傳統(tǒng)RBAC與現(xiàn)實(shí)的距離
傳統(tǒng)的RBAC(基于角色的訪問權(quán)限控制)是一個(gè)經(jīng)典的權(quán)限管理模型,基本原理是不直接對(duì)系統(tǒng)種的用戶賦權(quán),而是通過角色作為系統(tǒng)用戶和系統(tǒng)資源之間的中介,將資源權(quán)限綁定到角色,再將角色綁定到用戶,來(lái)完成整個(gè)賦權(quán)的流程,從而簡(jiǎn)化賦權(quán)和修改權(quán)限的過程。(多扯一句,這個(gè)理念和計(jì)算機(jī)軟件體系中,大家談到的,當(dāng)你覺得一個(gè)系統(tǒng)太復(fù)雜的時(shí)候,就給它加一個(gè)中間層的“秘笈”不謀而合,可見“世間萬(wàn)物皆有相通之理”)
上述的基礎(chǔ)的RBAC(維基上命名為RBAC0)簡(jiǎn)單易懂,且容易落地。但是實(shí)際工作過程中,人們往往會(huì)在基礎(chǔ)的RBAC上疊加更多特性,來(lái)滿足現(xiàn)狀的需要。比如從用人制度上,一般都會(huì)采取“以崗定人”的用人制度。在權(quán)限體系中,當(dāng)人員調(diào)換崗位需要更新此人員的各種權(quán)限的時(shí)候,只需要更新人員對(duì)應(yīng)的組織關(guān)系,那么角色權(quán)限會(huì)自動(dòng)進(jìn)行調(diào)整,從而減少了管理人員的工作量,也更符合常見的調(diào)崗操作方式。
因此,今天我們來(lái)討論兩個(gè)方面的問題
- 組織架構(gòu)的特點(diǎn)
- 如何建立組織,崗位和賬戶的關(guān)聯(lián)模型
先來(lái)了解一下組織架構(gòu)的特點(diǎn)
01 組織架構(gòu)的特點(diǎn)
組織一般是樹形結(jié)構(gòu)。在同一層的組織里面,有不同的職位,每個(gè)職位的權(quán)限都不一樣。比如會(huì)計(jì)和出納擁有不同的權(quán)限。
在不同職位之間,存在權(quán)限的重合。比如辦公室主任除了擁有辦公室職員的基礎(chǔ)權(quán)限,主任還擁有更多的審批管理類權(quán)限。
同一個(gè)職位會(huì)對(duì)應(yīng)多個(gè)崗位。同時(shí)還會(huì)存在一個(gè)人身兼多職也就是多個(gè)崗位的情況如下圖所示,副總經(jīng)理這一級(jí)組織對(duì)應(yīng)的崗位上,有兩人任職,趙子龍和趙德彪。同時(shí)趙子龍除了擔(dān)任副總經(jīng)理的崗位,還擔(dān)任了總會(huì)計(jì)這一級(jí)組織里的負(fù)責(zé)人崗位。
02 組織,崗位,角色,帳號(hào)融合后的模型
以上面的組織架構(gòu)為例,接下來(lái)會(huì)解密如何設(shè)計(jì)一個(gè)融合了組織和崗位的權(quán)限體系。
當(dāng)然,在此之前需要我們對(duì)其一下術(shù)語(yǔ)。先來(lái)了解一下對(duì)每個(gè)名詞的定義吧。
- 帳號(hào):每一個(gè)真實(shí)的人,登錄系統(tǒng)的場(chǎng)景,我們將這個(gè)真實(shí)的人用【帳號(hào)】來(lái)代表。
- 資源:系統(tǒng)中的每一個(gè)項(xiàng),比如所有的菜單,所有的數(shù)據(jù)列表,所有的頁(yè)面等。
- 角色:【角色】代表對(duì)資源的CRUD控制權(quán)限。
- 組織:圖1所示就是一個(gè)組織架構(gòu)
- 崗位:與人相對(duì)應(yīng),一個(gè)崗位只能對(duì)應(yīng)一個(gè)人,但一人可以同時(shí)擔(dān)任多個(gè)崗位。
- 職位:同一個(gè)類型的崗位,組成一個(gè)職位
一般不會(huì)直接將【帳號(hào)】與【資源】綁定,原因在前言中也說(shuō)了,這種粒度過細(xì),會(huì)讓后期維護(hù)的時(shí)候非常復(fù)雜和耗時(shí)。為了方便賦權(quán)和后期的維護(hù),可以將【職位】與【角色】綁定。同一個(gè)職位下的所有【崗位】擁有同樣的角色。如下圖所示。
說(shuō)明:副總經(jīng)理趙德彪,需要對(duì)應(yīng)一個(gè)他自己的帳號(hào)。這個(gè)帳號(hào)只代表1個(gè)崗位,登陸后,系統(tǒng)檢查這個(gè)帳號(hào)代表的是崗位C,崗位C在組織架構(gòu)中的職位是職位B。接下來(lái),系統(tǒng)發(fā)現(xiàn)這個(gè)職位B對(duì)應(yīng)了4個(gè)角色,即角色2~5。每個(gè)角色都分別代表了不同的對(duì)資源操作的權(quán)限,職位B擁有的是這4個(gè)角色權(quán)限的總和。最終總結(jié)起來(lái),趙德彪登陸后,擁有操作資源A,操作資源C和…資源…的權(quán)限。
另外一位副總經(jīng)理趙子龍,需要對(duì)應(yīng)一個(gè)他自己的帳號(hào)。這個(gè)帳號(hào)代表了2個(gè)崗位,按照上面的邏輯推斷步驟,省略中間過程,最終總結(jié)起來(lái)就是,趙子龍登陸后,擁有查看資源A,操作資源B和操作資源C的權(quán)限。
03 總結(jié)
在這篇文章中,首先快速的過了一遍RBAC的基本原理,就是將帳號(hào)和角色綁定,角色與資源權(quán)限綁定,來(lái)實(shí)現(xiàn)簡(jiǎn)單合理的權(quán)限控制。然后介紹了一個(gè)真實(shí)的“以崗定人”的組織架構(gòu),存在一個(gè)職位對(duì)應(yīng)多個(gè)崗位,一人多崗的特點(diǎn)。最后給出了一個(gè)可實(shí)際操作的,包含如何設(shè)計(jì)帶有組織和崗位的權(quán)限模型,供參考。
歡迎大家一起討論。
本文由 @花生草 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來(lái)自Unsplash,基于CC0協(xié)議。
崗位和職位是一個(gè)意思吧
這個(gè)我理解是看公司的定義,個(gè)人理解崗位更你干得活有關(guān)系,職位是你在公司的地位;比如你的職位是XX部門負(fù)責(zé)人,崗位是XX項(xiàng)目群負(fù)責(zé)人之類的
你好,對(duì)于數(shù)據(jù)分類很多的系統(tǒng),角色設(shè)置也會(huì)有很多,組織架構(gòu)上下層的繼承性該如何處理呢?出現(xiàn)很多重復(fù)的角色或者差異性很小的角色又該如何去做職位權(quán)限的選擇呢?感謝回答
您好,不同崗位同屬同一職位,看您的圖,同一職位,角色權(quán)限相同,是不是就代表,不同崗位角色權(quán)限相同?
對(duì)于職位和崗位一層,有個(gè)疑問,謝謝解答~為何要封裝兩層呢,如果把崗位去掉,一個(gè)賬號(hào)對(duì)應(yīng)多個(gè)職位,是不是也是可以實(shí)現(xiàn)同樣的目的,因?yàn)楦巧壎ǖ氖锹毼?,那么崗位的意義在哪里呢?
你好。很多時(shí)候可以看到,在一些小型單位里的權(quán)限體系,落地的方案是去掉組織架構(gòu)這一層,將帳號(hào)-角色關(guān)聯(lián)來(lái)實(shí)現(xiàn)權(quán)限控制,可以參考我其他的文章。這里的權(quán)限體系中加入的組織架構(gòu)這一層,是為了響應(yīng)大型事業(yè)單位里非常重要的組織架構(gòu)需求。已知,崗位是人事管理上的最小單位。比如有兩個(gè)人,一個(gè)是負(fù)責(zé)績(jī)效的hr,一個(gè)是負(fù)責(zé)薪酬的hr,不同的單位有自己的組織架構(gòu),ta們可能都是同一個(gè)職位,也可能是不同的職位,但是肯定是會(huì)對(duì)應(yīng)兩個(gè)不同的崗位。為了滿足不同組織架構(gòu)的權(quán)限需求,讓我們的設(shè)計(jì)具有普適性,和單位/公司的組織結(jié)構(gòu)保持一致,是最省心的做法。
對(duì)于樓主提出的疑問,我感覺也可以取消崗位這層關(guān)系,甚至我覺得崗位和職位的含義是極其相近,如果是大家同為HR,一個(gè)管理績(jī)效一個(gè)管理薪酬,那么再多建立一個(gè)角色就好啦比如:IT部部門,職位產(chǎn)品經(jīng)理,產(chǎn)品經(jīng)理這個(gè)崗位又區(qū)分兩個(gè)角色,一個(gè)是運(yùn)維產(chǎn)品,一個(gè)是設(shè)計(jì)產(chǎn)品。整個(gè)組織框架可以調(diào)整為 部門-職位-角色。
因?yàn)橘~號(hào)可能因離職等原因注銷掉,崗位不會(huì)動(dòng)