權(quán)限管理之三權(quán)分立設(shè)計(jì)模型
編輯導(dǎo)讀:權(quán)限管理是一個(gè)基礎(chǔ)功能,如何滿足多用戶,多層級(jí),多部門,甚至多租戶的需求?本文作者對此進(jìn)行了分析,與你分享。
權(quán)限管理如何才能滿足多用戶,多層級(jí),多部門,甚至多租戶的需求。對應(yīng)SaaS平臺(tái)的權(quán)限設(shè)計(jì)如何能滿足不同用戶的不同的需求。對應(yīng)平臺(tái)型產(chǎn)品如何結(jié)合業(yè)務(wù)場景設(shè)計(jì)靈活的權(quán)限管理系統(tǒng)。
我認(rèn)為要遵循三個(gè)原則:
- 層級(jí)要夠,預(yù)留拓展空間
- 權(quán)限分離,可實(shí)現(xiàn)排列組合
- 專業(yè)平臺(tái)用行業(yè)術(shù)語,降低學(xué)習(xí)成本
接下來以機(jī)器學(xué)習(xí)平臺(tái)權(quán)限設(shè)計(jì)舉例,給大家介紹一下權(quán)限設(shè)計(jì)流程和框架。
一、機(jī)器學(xué)習(xí)平臺(tái)權(quán)限管理設(shè)計(jì)
1. 名詞解釋
- 租戶:指的是使用機(jī)器學(xué)習(xí)平臺(tái)的一家企業(yè)或者機(jī)構(gòu)
- 業(yè)務(wù)線:指使用機(jī)器學(xué)習(xí)平臺(tái)的一家企業(yè)或者機(jī)構(gòu)下面的業(yè)務(wù)線
- 平臺(tái)管理員:指的是機(jī)器學(xué)習(xí)平臺(tái)的管理員,可開通租戶管理員賬號(hào)
- 租戶管理員:指租戶管理人員,可開通該租戶下的用戶賬號(hào)
2. 數(shù)據(jù)權(quán)限設(shè)計(jì)架構(gòu)圖
租戶管理員可創(chuàng)建業(yè)務(wù)線,及業(yè)務(wù)線下的用戶,每個(gè)用戶可同時(shí)屬于多個(gè)業(yè)務(wù)線,但只能屬于1個(gè)租戶。
3. 操作流程
1)創(chuàng)建租戶
平臺(tái)管理員登錄,點(diǎn)擊創(chuàng)建租戶
2)創(chuàng)建租戶管理員
平臺(tái)管理員創(chuàng)建租戶管理員
租戶選中為下拉單選
3)創(chuàng)建業(yè)務(wù)線
租戶管理員創(chuàng)建業(yè)務(wù)線
4)創(chuàng)建用戶
租戶管理員創(chuàng)建用戶
業(yè)務(wù)線為下拉多選
5)創(chuàng)建角色
平臺(tái)管理員和租戶管理員都可創(chuàng)建角色
創(chuàng)建角色和賦予角色三個(gè)權(quán)限
- 頁面權(quán)限
- 操作權(quán)限
- 數(shù)據(jù)權(quán)限
創(chuàng)建角色
分配菜單權(quán)限
分配功能權(quán)限
分配數(shù)據(jù)權(quán)限
數(shù)據(jù)權(quán)限分配為單選
- 租戶數(shù)據(jù):為該租戶下所有數(shù)據(jù)權(quán)限
- 業(yè)務(wù)線數(shù)據(jù):為該角色用戶所屬業(yè)務(wù)線數(shù)據(jù)權(quán)限
- 個(gè)人數(shù)據(jù):只能查看個(gè)人數(shù)據(jù)
二、三權(quán)分立
通過以上案例可以看出,是把菜單權(quán)限、頁面權(quán)限、數(shù)據(jù)權(quán)限賦予角色,把角色賦予用戶,用戶屬于業(yè)務(wù)線,業(yè)務(wù)線歸屬于租戶。
頁面權(quán)限:
頁面權(quán)限是指針對系統(tǒng)中具體的頁面有訪問的權(quán)限。例:整個(gè)系統(tǒng)中有三十個(gè)頁面,A員工權(quán)限只能查看其中的十個(gè)頁面。
操作權(quán)限:
操作權(quán)限是指系統(tǒng)中的功能按鈕有具體的操作權(quán)限。例:A員工在查看到十個(gè)頁面里,其中一個(gè)頁面是模型管理頁面,但是A不是運(yùn)營人員,所以只能查詢模型信息,而不能對模型進(jìn)行新增、修改、刪除等操作權(quán)限。
數(shù)據(jù)權(quán)限:
數(shù)據(jù)權(quán)限是指能夠查看或下載的數(shù)據(jù)范圍的權(quán)限,例:模型管理頁面中包當(dāng)前渠道下所有模型列表。不同角色在同一個(gè)頁面看到的信息是不同的。渠道管理員可以看到所有模型。而工程師只能看到自己創(chuàng)建的模型。
三、總結(jié)
以上的權(quán)限設(shè)計(jì)模型是RBAC模型,基于角色的訪問控制(Role-Based Access Control),再在角色授權(quán)上實(shí)施三權(quán)分立,使得權(quán)限管理更靈活。當(dāng)然,針對不同的業(yè)務(wù)線權(quán)限設(shè)計(jì)也不盡相同,但是對應(yīng)多用戶的系統(tǒng),還是傾向于“殺雞用牛刀”,因?yàn)殡S著業(yè)務(wù)發(fā)展,再拓展權(quán)限的話成本會(huì)跟高,權(quán)限管理必須要有頂層設(shè)計(jì),早比晚好。
#專欄作家#
老張,人人都是產(chǎn)品經(jīng)理專欄作家?!度斯ぶ悄墚a(chǎn)品經(jīng)理技能圖譜:AI技術(shù)與能力升級(jí)》作者,AI產(chǎn)品經(jīng)理,專注于自然語言處理和圖像識(shí)別領(lǐng)域?,F(xiàn)智能保險(xiǎn)創(chuàng)業(yè)公司合伙人,希望與人工智能領(lǐng)域創(chuàng)業(yè)者多多交流。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
張老師你好,您的文章里面我有兩個(gè)問題沒看明白:1??功能權(quán)限配置中不同的操作,是怎么配置上去的?2??業(yè)務(wù)線和菜單有什么關(guān)聯(lián)?
1,功能權(quán)限配置中不同的操作,是怎么配置上去的?答:增刪改查等按鈕都是程序?qū)懰赖?,每增加一個(gè)操作權(quán)限就需要程序員寫一遍。
2,業(yè)務(wù)線和菜單有什么關(guān)聯(lián)?答:業(yè)務(wù)線是租戶下的分支,和菜單沒有關(guān)聯(lián)。菜單和角色有關(guān)聯(lián),角色和菜單有關(guān)聯(lián)。業(yè)務(wù)線主要區(qū)分?jǐn)?shù)據(jù)權(quán)限。
菜單權(quán)限和功能權(quán)限的區(qū)別沒看出不同~~是多了“編輯”的選擇嗎??還是說是想表達(dá)字段權(quán)限??題目是三權(quán)分立·~為啥后面一帶而過了~~很想看三權(quán)分立后,對應(yīng)的三員是怎樣的操作流程。shsky231,剛好也在學(xué)習(xí)這塊,可以交流一下么~~
當(dāng)給了菜單下的操作權(quán)限,但是沒有給菜單權(quán)限怎么搞?會(huì)感覺矛盾嗎?
不會(huì)呀,沒有菜單權(quán)限就看不到相應(yīng)的操作按鈕,給與不給就沒有關(guān)系了,因?yàn)橛脩舾军c(diǎn)不到
一般而已,操作按鈕是和菜單綁定在一起的,多對一
一般情況下,菜單權(quán)限的優(yōu)先級(jí)高于操作權(quán)限的優(yōu)先級(jí),只要分配低優(yōu)先級(jí)的功能必須先分配高優(yōu)先級(jí)的功能,否則會(huì)出現(xiàn)有刪除權(quán)限卻找不到操作位置的尷尬情況(刪除按鈕在列表頁面,卻沒有分配查看列表頁面的權(quán)限)。
具體做法可以通過交互的方式解決,比如檢測到勾選低優(yōu)先級(jí)的功能就自動(dòng)幫助勾選高優(yōu)先級(jí)的,或者通過提示性的文字幫助用戶組合勾選。
嗯嗯,可以通過這種方法來解決權(quán)限和頁面不統(tǒng)一情況。
您好 那新建頁面算是菜單權(quán)限嗎 如果我分配了新建按鈕的權(quán)限 我沒有分配新建頁面的權(quán)限呢 也同樣依靠于高低優(yōu)先級(jí)來自動(dòng)勾選嗎?
還是說和這個(gè)按鈕相關(guān)的頁面(無論是承載這個(gè)按鈕操作的頁面 還是按鈕操作跳轉(zhuǎn)的頁面)均進(jìn)行優(yōu)先級(jí)的自動(dòng)提示?
不錯(cuò)!有所指引
什么玩意