權限管理之三權分立設計模型

11 評論 18547 瀏覽 54 收藏 7 分鐘

編輯導讀:權限管理是一個基礎功能,如何滿足多用戶,多層級,多部門,甚至多租戶的需求?本文作者對此進行了分析,與你分享。

權限管理如何才能滿足多用戶,多層級,多部門,甚至多租戶的需求。對應SaaS平臺的權限設計如何能滿足不同用戶的不同的需求。對應平臺型產品如何結合業務場景設計靈活的權限管理系統。

我認為要遵循三個原則:

  1. 層級要夠,預留拓展空間
  2. 權限分離,可實現排列組合
  3. 專業平臺用行業術語,降低學習成本

接下來以機器學習平臺權限設計舉例,給大家介紹一下權限設計流程和框架。

一、機器學習平臺權限管理設計

1. 名詞解釋

  • 租戶:指的是使用機器學習平臺的一家企業或者機構
  • 業務線:指使用機器學習平臺的一家企業或者機構下面的業務線
  • 平臺管理員:指的是機器學習平臺的管理員,可開通租戶管理員賬號
  • 租戶管理員:指租戶管理人員,可開通該租戶下的用戶賬號

2. 數據權限設計架構圖

租戶管理員可創建業務線,及業務線下的用戶,每個用戶可同時屬于多個業務線,但只能屬于1個租戶。

3. 操作流程

1)創建租戶

平臺管理員登錄,點擊創建租戶

2)創建租戶管理員

平臺管理員創建租戶管理員

租戶選中為下拉單選

3)創建業務線

租戶管理員創建業務線

4)創建用戶

租戶管理員創建用戶

業務線為下拉多選

5)創建角色

平臺管理員和租戶管理員都可創建角色

創建角色和賦予角色三個權限

  • 頁面權限
  • 操作權限
  • 數據權限

創建角色

分配菜單權限

分配功能權限

分配數據權限

數據權限分配為單選

  • 租戶數據:為該租戶下所有數據權限
  • 業務線數據:為該角色用戶所屬業務線數據權限
  • 個人數據:只能查看個人數據

二、三權分立

通過以上案例可以看出,是把菜單權限、頁面權限、數據權限賦予角色,把角色賦予用戶,用戶屬于業務線,業務線歸屬于租戶。

頁面權限:

頁面權限是指針對系統中具體的頁面有訪問的權限。例:整個系統中有三十個頁面,A員工權限只能查看其中的十個頁面。

操作權限:

操作權限是指系統中的功能按鈕有具體的操作權限。例:A員工在查看到十個頁面里,其中一個頁面是模型管理頁面,但是A不是運營人員,所以只能查詢模型信息,而不能對模型進行新增、修改、刪除等操作權限。

數據權限:

數據權限是指能夠查看或下載的數據范圍的權限,例:模型管理頁面中包當前渠道下所有模型列表。不同角色在同一個頁面看到的信息是不同的。渠道管理員可以看到所有模型。而工程師只能看到自己創建的模型。

三、總結

以上的權限設計模型是RBAC模型,基于角色的訪問控制(Role-Based Access Control),再在角色授權上實施三權分立,使得權限管理更靈活。當然,針對不同的業務線權限設計也不盡相同,但是對應多用戶的系統,還是傾向于“殺雞用牛刀”,因為隨著業務發展,再拓展權限的話成本會跟高,權限管理必須要有頂層設計,早比晚好。

#專欄作家#

老張,人人都是產品經理專欄作家?!度斯ぶ悄墚a品經理技能圖譜:AI技術與能力升級》作者,AI產品經理,專注于自然語言處理和圖像識別領域?,F智能保險創業公司合伙人,希望與人工智能領域創業者多多交流。

本文原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 張老師你好,您的文章里面我有兩個問題沒看明白:1??功能權限配置中不同的操作,是怎么配置上去的?2??業務線和菜單有什么關聯?

    來自天津 回復
    1. 1,功能權限配置中不同的操作,是怎么配置上去的?答:增刪改查等按鈕都是程序寫死的,每增加一個操作權限就需要程序員寫一遍。
      2,業務線和菜單有什么關聯?答:業務線是租戶下的分支,和菜單沒有關聯。菜單和角色有關聯,角色和菜單有關聯。業務線主要區分數據權限。

      來自北京 回復
  2. 菜單權限和功能權限的區別沒看出不同~~是多了“編輯”的選擇嗎??還是說是想表達字段權限??題目是三權分立·~為啥后面一帶而過了~~很想看三權分立后,對應的三員是怎樣的操作流程。shsky231,剛好也在學習這塊,可以交流一下么~~

    來自北京 回復
  3. 當給了菜單下的操作權限,但是沒有給菜單權限怎么搞?會感覺矛盾嗎?

    來自上海 回復
    1. 不會呀,沒有菜單權限就看不到相應的操作按鈕,給與不給就沒有關系了,因為用戶根本點不到

      來自北京 回復
    2. 一般而已,操作按鈕是和菜單綁定在一起的,多對一

      來自江蘇 回復
    3. 一般情況下,菜單權限的優先級高于操作權限的優先級,只要分配低優先級的功能必須先分配高優先級的功能,否則會出現有刪除權限卻找不到操作位置的尷尬情況(刪除按鈕在列表頁面,卻沒有分配查看列表頁面的權限)。
      具體做法可以通過交互的方式解決,比如檢測到勾選低優先級的功能就自動幫助勾選高優先級的,或者通過提示性的文字幫助用戶組合勾選。

      來自北京 回復
    4. 嗯嗯,可以通過這種方法來解決權限和頁面不統一情況。

      來自北京 回復
    5. 您好 那新建頁面算是菜單權限嗎 如果我分配了新建按鈕的權限 我沒有分配新建頁面的權限呢 也同樣依靠于高低優先級來自動勾選嗎?
      還是說和這個按鈕相關的頁面(無論是承載這個按鈕操作的頁面 還是按鈕操作跳轉的頁面)均進行優先級的自動提示?

      來自山東 回復
  4. 不錯!有所指引

    來自北京 回復
  5. 什么玩意

    來自北京 回復