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