如何對權(quán)限管理平臺進行產(chǎn)品設(shè)計?
本篇以筆者做過的一個權(quán)限管理平臺為例,講解下權(quán)限管理的設(shè)計思路。
項目背景
本次是為培訓(xùn)機構(gòu)搭建一套信息化系統(tǒng),包括一個權(quán)限管理平臺、以及5個業(yè)務(wù)系統(tǒng)。這里就不對業(yè)務(wù)系統(tǒng)做一一的描述了。
其中權(quán)限管理平臺由總部運營人員進行管理與維護。此平臺的主要目標是:各個業(yè)務(wù)系統(tǒng)的所有功能和數(shù)據(jù)進行統(tǒng)一權(quán)限配置。
機構(gòu)與業(yè)務(wù)梳理
對客戶實際組織架構(gòu)和業(yè)務(wù)情況進行了解梳理,總結(jié)如下:
- 其中運營部與教研部歸總部管理,運營部管理公司所有員工的賬戶與權(quán)限分配。其下又分為4個大機構(gòu)。
- 4大機構(gòu)其下又分為多個小機構(gòu),每個機構(gòu)又是獨立存在的。
- 每個小機構(gòu)又有多個業(yè)務(wù)部門,每個部門負責(zé)管理與維護不同的業(yè)務(wù)系統(tǒng)。
- 同一個員工可能在不同的機構(gòu)擔(dān)任不同的角色。
名詞解析
該平臺的權(quán)限設(shè)計是基于RBAC模式進行設(shè)計的。
RBAC(Role-Based Access Control)基于角色的訪問控制。這是從傳統(tǒng)的權(quán)限模型基礎(chǔ)上,改進而來并且相當成熟的權(quán)限模型。這里強調(diào)三個要素:用戶、角色、權(quán)限。用戶與角色是多對多關(guān)系,角色與權(quán)限是多對多關(guān)系。
關(guān)鍵元素:
- 用戶(員工):成功認證并登錄系統(tǒng)的操作員(主體:who);
- 權(quán)限:訪問資源的許可(how);
- 角色:權(quán)限的集合體;
- 業(yè)務(wù)系統(tǒng):每個獨立業(yè)務(wù)系統(tǒng),包括各業(yè)務(wù)系統(tǒng)中的菜單、操作按鈕等(what)
如圖所示:
大體思路
- 組織機構(gòu)與員工關(guān)聯(lián);
- 業(yè)務(wù)平臺與資源權(quán)限關(guān)聯(lián);
- 角色與業(yè)務(wù)平臺關(guān)聯(lián),維護該角色對應(yīng)的資源列表;
- 角色權(quán)限與系統(tǒng)角色關(guān)聯(lián);
產(chǎn)品具體設(shè)計說明
統(tǒng)一權(quán)限管理平臺主要包含了以下5個功能模塊:員工管理、角色管理、校區(qū)管理、安全設(shè)置、操作日志。其中員工管理、角色管理、機構(gòu)管理三個模塊相互聯(lián)系。如圖所示。
1. 機構(gòu)管理
機構(gòu)管理是對整個集團公司的員工所屬機構(gòu)進行維護、更新的管理。機構(gòu)的最高層次:如“XX總部”不可刪除、可以編輯,該機構(gòu)由超級管理員進行維護。根據(jù)業(yè)務(wù)梳理,其中4個大機構(gòu)不具備實際意義,只是方便與各個機構(gòu)的選擇。因此4個大機構(gòu)直接由開發(fā)設(shè)置。
具體設(shè)計如下:
機構(gòu)列表包括:機構(gòu)名稱、上級機構(gòu)、機構(gòu)位置、GPS定位、是否啟用、操作(編輯)
創(chuàng)建機構(gòu):彈窗錄入:機構(gòu)名稱、選擇上級機構(gòu)、機構(gòu)位置、GPS定位(方便員工進行考勤)、是否啟用。
2. 角色管理
角色往往基于業(yè)務(wù)需求而在系統(tǒng)內(nèi)設(shè)定好的標簽,每個角色對應(yīng)明確的業(yè)務(wù)系統(tǒng)權(quán)限,是眾由多最小權(quán)限顆粒的組成。通過把權(quán)限給這個角色,再把角色給賬號,從而實現(xiàn)賬號的權(quán)限,因此它承擔(dān)了一個橋梁的作用。
根據(jù)對業(yè)務(wù)的梳理,不同角色只能操作其對應(yīng)的業(yè)務(wù)平臺,由開發(fā)將業(yè)務(wù)平臺直接寫死,新增角色時,將角色與平臺進行掛鉤,方便對角色進行該業(yè)務(wù)平臺進行權(quán)限分配
具體設(shè)計如下:
新建角色:角色名稱,所屬平臺;
角色列表包括:角色名稱、所屬平臺、創(chuàng)建人、創(chuàng)建時間、操作(編輯、刪除、權(quán)限分配)
角色的權(quán)限分配:對應(yīng)跳轉(zhuǎn)到對應(yīng)平臺權(quán)限分配界面,即該業(yè)務(wù)平臺的資源(菜單/子菜單/按鈕/字段),目前已存在5個業(yè)務(wù)平臺,不同業(yè)務(wù)具備不同的資源;下圖只是其中一個業(yè)務(wù)平臺的部分權(quán)限。
刪除:彈窗提示:“刪除該角色后,員工所屬角色會自動移除,是否繼續(xù)?”。
3. 員工管理
員工歸屬不同的機構(gòu),是各個業(yè)務(wù)系統(tǒng)的具體操作者。員工按組織架構(gòu)新建/導(dǎo)入在對應(yīng)的組織上,一般是在機構(gòu)對應(yīng)的部門(一級部門–二級部門)下。根據(jù)公司實際情況直接將員工歸屬于各個不同的機構(gòu)。
員工可以在多個不同機構(gòu)擔(dān)任不同的角色、所以它與機構(gòu)、角色之間的關(guān)系都是1對n的關(guān)系。員工的權(quán)限取決于他在不同的機構(gòu)擔(dān)任角色的集合,即員工權(quán)限=同一機構(gòu)所屬角色權(quán)限集合(注:員工根據(jù)角色所屬平臺、操作不同的業(yè)務(wù)系統(tǒng))。
具體設(shè)計如下:
員工列表、查詢:用戶列表頁展示姓名(員工實際姓名)、手機(員工唯一登錄賬號)、狀態(tài)等有價值的信息。同時具備編輯、啟用、授權(quán)、重置密碼、離職功能。
員工新增、編輯、批量導(dǎo)入:本項目中,員工的新增均是通過統(tǒng)一權(quán)限管理平臺進行,并并分配各業(yè)務(wù)系統(tǒng)角色權(quán)限。其中手機號碼是員工唯一登錄業(yè)務(wù)系統(tǒng)的憑證。
離職:當出現(xiàn)用戶離職時,可以將用戶禁用,不可登錄系統(tǒng),防止業(yè)務(wù)數(shù)據(jù)流失。
重置密碼:當用戶多少輸入密碼錯誤時或忘記密角色碼時,這時可以進行重置密碼,恢復(fù)到默認密碼。
授權(quán):點擊授權(quán),由于同一個員工在不同機構(gòu)中擁有的角色是不一致的。所以需要對員工的不同機構(gòu)進行單獨角色配置,呈一一對應(yīng)的關(guān)系。利潤員工A在機構(gòu)A擁有角色A、角色C,在機構(gòu)B擁有其他角色等
4. 安全設(shè)置
此平臺默認一個超級管理員角色,這個賬號不可刪除,但可以進行密碼于密保手機修改(由開發(fā)人員創(chuàng)建)
該超級管理員角色主要對該平臺創(chuàng)建角色、與機構(gòu)并進行權(quán)限分配
5. 操作日志
操作日志是對用戶操作的記錄,記錄有操作IP、操作內(nèi)容和操作時間等。
數(shù)據(jù)權(quán)限梳理
對各角色的數(shù)據(jù)權(quán)限進行梳理,一些員工若存在所分配的角色權(quán)限之外,還需要一些權(quán)限需時。
可以與開發(fā)溝通,通過代碼寫死或者約定一定的規(guī)則,用角色編碼或崗位編碼實現(xiàn);
通過在角色管理設(shè)置特殊角色,進行單獨角色權(quán)限分配,但不在角色管理中顯示;
平臺上線試運行
平臺上線試運行期間,協(xié)助客戶對實際業(yè)務(wù)的新情況調(diào)整權(quán)限配置,讓客戶運營人員逐漸熟悉權(quán)限配置規(guī)則。
在使用過程中,對客戶提出一些新的特殊權(quán)限的需求進行評估,根據(jù)對現(xiàn)有權(quán)限框架的影響再決定是否變更。
以上就是一只產(chǎn)品汪對“權(quán)限管理平臺”的設(shè)計思路和對應(yīng)的實現(xiàn)方法,歡迎和同行一起交流產(chǎn)品設(shè)計。
本文由@浮生 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)允許,禁止轉(zhuǎn)載
題圖來自Unsplash, 基于CC0協(xié)議
請問,添加機構(gòu)的時候為什么需要機構(gòu)的GPS跟機構(gòu)的位置,意義在哪里
用于學(xué)員和講師進行打卡考勤
發(fā)現(xiàn)兩處有歧義的地方:
1、統(tǒng)一權(quán)限管理平臺主要包含了以下4個功能模塊:員工管理、角色管理、校區(qū)管理、安全設(shè)置、操作日志。——看著后面是5個功能模塊,是不是我沒理解哪個不算功能模塊。
2、機構(gòu)模塊出現(xiàn)了CPS定位這個詞匯,但是下文中又出現(xiàn)GPS定位,通過百度指導(dǎo)CPS是信息物理系統(tǒng)(CPS,Cyber-Physical Systems)的簡稱,不知道是否是這個意思。
謝謝,有兩個地方描述錯誤。
權(quán)限是設(shè)計完再考慮,還是設(shè)計的一開始就要考慮
在設(shè)計之前,就需要梳理
機構(gòu)是什么意思,沒理解員工分機構(gòu)的意思?角色跟平臺關(guān)聯(lián)能理解,機構(gòu)和平臺是什么關(guān)系?
相當不同的分公司,同一個員工可能在不同的分公司擔(dān)當不同的角色