ERP系統(tǒng):后臺(tái)權(quán)限設(shè)計(jì)
在做企業(yè)級(jí)系統(tǒng)如ERP和OA時(shí),基于系統(tǒng)框架先前要做的就是權(quán)限管理系統(tǒng)。本文主要講的是按照RBAC來(lái)看權(quán)限分配。
根據(jù)人員職級(jí)的不同所使用的系統(tǒng)功能不同,當(dāng)人員使用相同功能時(shí),根據(jù)組織機(jī)構(gòu)的不同,看見(jiàn)的數(shù)據(jù)不同。按照不同的維度,進(jìn)行權(quán)限的劃分,而不同。
其一基于角色的訪問(wèn)權(quán)限控制(RBAC)模型,人員角色來(lái)賦值給用戶的權(quán)限管理,可以分為兩大類(lèi)型:功能權(quán)限、數(shù)據(jù)權(quán)限。
那么現(xiàn)在我們就先按照RBAC來(lái)看權(quán)限分配。
一、背景
在對(duì)應(yīng)系統(tǒng)中每個(gè)用戶所看見(jiàn)的界面功能和數(shù)據(jù)不可能都一樣,而是根據(jù)人員的組織機(jī)構(gòu)和職級(jí)不同進(jìn)行相應(yīng)的區(qū)分。
舉個(gè)例子:
- 部門(mén)經(jīng)理可見(jiàn)可操作功能‘業(yè)務(wù)報(bào)表’,員工不可見(jiàn)。
- 業(yè)務(wù)A部門(mén)經(jīng)理在‘業(yè)務(wù)報(bào)表’中只能看見(jiàn)本部門(mén)業(yè)務(wù)A部門(mén)的數(shù)據(jù)。而總經(jīng)理可在‘業(yè)務(wù)報(bào)表’中,可查看所有部門(mén)業(yè)務(wù)A、B、C、3個(gè)部門(mén)的數(shù)據(jù)。
這時(shí)就需要進(jìn)行對(duì)應(yīng)的權(quán)限分配。
二、RBAC
經(jīng)典模型RBAC模型是現(xiàn)在權(quán)限管理系統(tǒng)的基礎(chǔ),但包括不限于此。根據(jù)公司組織架構(gòu)不同設(shè)計(jì)有所不同,或2B業(yè)務(wù)是設(shè)計(jì)的通用權(quán)限劃分,RBAC模型可分為:RBAC_0、RBAC_1、RBAC_2、 RBAC_3共4個(gè)版本。其他3個(gè)模型都是基于RBAC_0演化的。
先簡(jiǎn)述下這4個(gè)RBAC模型:
- RBAC_0模型: 權(quán)限——角色——用戶。
圖一
- RBAC_1模型:基于RBAC_0增加了子角色,子角色可繼承父角色的所有權(quán)限。
- RBAC_2模型:基于RBAC_0增加了角色互斥,互斥的角色不可同時(shí)賦予一個(gè)用戶賬號(hào)。
- RBAC_3模型:結(jié)合了RBAC_0、RBAC_1、RBAC_2,目前為更全面更復(fù)雜的模型。
三 、使用場(chǎng)景
基于RBAC來(lái)做的權(quán)限賦予角色再賦予用戶。
1. 功能權(quán)限
配置每個(gè)用戶所見(jiàn)及所能操作的功能項(xiàng)不同。
當(dāng)在主系統(tǒng)中存在不同子系統(tǒng)時(shí),選定對(duì)應(yīng)子系統(tǒng)將不同的功能項(xiàng)賦予到指定的角色上。
圖二
2. 數(shù)據(jù)權(quán)限
根據(jù)組織機(jī)構(gòu)所屬部門(mén)不同,用戶使用相同功能時(shí)所能看見(jiàn)的展示數(shù)據(jù)是不一樣的,因根據(jù)公司業(yè)務(wù)情況不同。
- 其一直接套用組織機(jī)構(gòu)進(jìn)行權(quán)限劃分,缺點(diǎn)不可配置,無(wú)法根據(jù)實(shí)際業(yè)務(wù)跨部門(mén)查看數(shù)據(jù)。
- 其二根據(jù)組織機(jī)構(gòu)再次進(jìn)行配置劃分?jǐn)?shù)據(jù)權(quán)限,缺點(diǎn)為每個(gè)組織機(jī)構(gòu)都進(jìn)行數(shù)據(jù)權(quán)限分配。
圖三
3. 角色結(jié)合
在某個(gè)組織機(jī)構(gòu)下選取的崗位角色,賦予對(duì)應(yīng)的功能角色和數(shù)據(jù)角色。
崗位角色=功能角色+數(shù)據(jù)角色
圖四
4. 配置賬號(hào)
將不同的用戶賬號(hào)賦予不同的崗位權(quán)限,因我們?cè)诮巧褪怯玫亩嘟巧珮?gòu)成關(guān)系,及崗位角色被賦予了多個(gè)功能權(quán)限與數(shù)據(jù)權(quán)限。因此,一個(gè)用戶賬號(hào)在此只需要對(duì)應(yīng)一個(gè)崗位角色即可。
圖五
若無(wú)任何一權(quán)限進(jìn)入系統(tǒng)后則應(yīng)有“無(wú)權(quán)限”提示,對(duì)于企業(yè)級(jí)系統(tǒng)如ERP、OA主體為公司員工使用,而賬號(hào)分配及權(quán)限分配都是有專(zhuān)人負(fù)責(zé)進(jìn)行,并無(wú)開(kāi)放注冊(cè)功能。
按照不同的維度進(jìn)行權(quán)限的劃分還可以對(duì)接人力資源管理系統(tǒng),按照組織機(jī)構(gòu)進(jìn)行權(quán)限劃分,也可在當(dāng)前設(shè)置按鈕中加入共享功能再特定人員(如:分部、部門(mén)、個(gè)人、角色),這時(shí)根據(jù)系統(tǒng)主體架構(gòu)而定。
四、最后的話
看到這里相信只要產(chǎn)品同學(xué)對(duì)RBAC 4 個(gè)模型有了認(rèn)知后,那么做一個(gè)簡(jiǎn)單的權(quán)限系統(tǒng)應(yīng)該只是水到渠成,做一個(gè)簡(jiǎn)單的權(quán)限系統(tǒng)應(yīng)該沒(méi)問(wèn)題。
以僅代表個(gè)人觀點(diǎn),不足之處歡迎交流。
本文由 @臭皮匠 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Pexels,基于 CC0 協(xié)議
角色目錄是什么意思,差點(diǎn)看懂?
試問(wèn):多店鋪代運(yùn)營(yíng)且自己發(fā)貨的場(chǎng)景下,如何設(shè)置ERP系統(tǒng)權(quán)限?一般這類(lèi)業(yè)務(wù)客服與運(yùn)營(yíng)分管不同的店鋪(數(shù)據(jù))和操作(功能)權(quán)限,但會(huì)出現(xiàn)某個(gè)用戶負(fù)責(zé)多家店鋪,且每家店鋪的操作(功能)權(quán)限不一樣,這樣進(jìn)行組合的時(shí)候似乎并不滿足以上說(shuō)明?再或者筆者可以再分享復(fù)雜的權(quán)限設(shè)計(jì)說(shuō)明
這種每家店鋪的功能權(quán)限不一樣,要怎么設(shè)計(jì)?想不出真實(shí)的業(yè)務(wù)場(chǎng)景。更細(xì)化的按用戶維度的權(quán)限配置?
權(quán)限模塊化,由管理賬號(hào)自由配置
可能還需要考慮審核流
表示不知道寫(xiě)的啥
寫(xiě)得太簡(jiǎn)單了!
新人看了表示幫助不是很大 ??
寫(xiě)的比較簡(jiǎn)單
對(duì)于ERP系統(tǒng)來(lái)說(shuō)過(guò)于簡(jiǎn)陋設(shè)計(jì)思路了吧,一般應(yīng)用軟件的權(quán)限設(shè)計(jì)都是很復(fù)雜的,權(quán)限不僅僅局限于高效率的角色組授權(quán)。其他如功能權(quán)限,數(shù)據(jù)權(quán)限,字段權(quán)限,安全權(quán)限制等各類(lèi)類(lèi)組合設(shè)計(jì)。權(quán)限在一個(gè)軟件系統(tǒng)中屬于水印潑地,無(wú)處不在,無(wú)時(shí)不有。
權(quán)限的確無(wú)處不在,更高效的角色組、權(quán)限組的劃分。搭配創(chuàng)建人權(quán)限、安全等級(jí)、組織機(jī)構(gòu)分權(quán)。上述都是簡(jiǎn)易的經(jīng)驗(yàn)不如用友To B的通用性考慮全面。多謝大佬指點(diǎn)。
大佬,什么較安全權(quán)限?具體是管控什么的?。恐x謝