聊聊我所理解的B端權(quán)限體系
本文作者從權(quán)限體系的構(gòu)成出發(fā),結(jié)合項目實踐中的所思所想,對自己從0-1搭建及管理B端權(quán)限體系時遇到的問題進行了梳理分析。
作為產(chǎn)品小白,搭建B端核心系統(tǒng)兩年,希望通過復盤分享,提升自我能力,對你也有所幫助。
一、背景
主流的權(quán)限體系都是基于RBAC模型建立,套路很明確,這里僅進行簡單介紹,重點講解我從0-1搭建及管理B端權(quán)限體系時遇到的問題和思考。
二、權(quán)限體系的構(gòu)成
權(quán)限體系三要素:用戶、角色、權(quán)限
- 用戶:登錄平臺的使用者,通常需記錄用戶基本信息,姓名、ID、手機號、所屬部門、職位等;
- 角色:用于描述用戶在使用系統(tǒng)時,扮演什么人物,擁有該人物的哪些權(quán)利。B端系統(tǒng)最常見的幾種角色有超級管理員、平臺運營管理員、數(shù)據(jù)管理員等;
- 權(quán)限:是資源的集合,簡單點可以理解為用于決定用戶可以在該系統(tǒng)上看見什么、做什么操作。
通常分為菜單權(quán)限、功能權(quán)限、數(shù)據(jù)權(quán)限三種。菜單權(quán)限指用戶是否有訪問某菜單的資格,無菜單權(quán)限時,界面上可以直接隱藏該菜單的入口;當用戶進入某菜單后,是否可以點擊頁面的按鈕、是否可以對頁面的數(shù)據(jù)進行增刪查改等全部的交互動作都是由功能權(quán)限控制。最常見的應用場景是用戶A僅能查看頁面的數(shù)據(jù),無下載數(shù)據(jù)的按鈕或者點擊按鈕無效;數(shù)據(jù)權(quán)限用于保證數(shù)據(jù)的私密性,主要體現(xiàn)在以下兩種場景中:
(1)數(shù)據(jù)的查看、下載:清單、報表
根據(jù)公司的業(yè)務屬性,在底層數(shù)據(jù)的加工清洗中,加入必要字段,對數(shù)據(jù)打標,通過標識控制權(quán)限。通常可以利用報表、清單的篩選條件作為數(shù)據(jù)權(quán)限劃分的維度,例如:從分公司、銷售渠道等業(yè)務架構(gòu)區(qū)分,當用戶登錄系統(tǒng)時,根據(jù)其身份信息判斷用戶歸屬于分公司A,那么該用戶在報表中無法查看和下載歸屬分公司B的數(shù)據(jù)。
(2)數(shù)據(jù)的應用:大數(shù)據(jù)分群、畫像
針對不同的人群配置運營策略時,需要根據(jù)運營者和人群之間的關系,為該運營角色配置數(shù)據(jù)權(quán)限。例如:銷售渠道A的運營登錄系統(tǒng)后,只能針對歸屬于渠道A的客戶配置策略,無法選擇渠道B的客戶,或者即使界面上允許A選擇全量人群,底層數(shù)據(jù)也會根據(jù)A的角色信息對數(shù)據(jù)強制篩選區(qū)分,以避免各渠道業(yè)務交叉。
三者之間的關系如下所示:
- 一個用戶可以擁有多個角色
- 一個角色擁有若干權(quán)限
三、什么是好的權(quán)限體系
B端系統(tǒng)承載復雜的業(yè)務邏輯,功能往往涉及企業(yè)核心,因此在用戶權(quán)限體系的設計和管理上需要絕對嚴謹。好的權(quán)限體系可以:
- 避免無用功能對用戶產(chǎn)生干擾,影響工作效率;
- 避免非管理人員誤操作引發(fā)重大生產(chǎn)問題,保證系統(tǒng)安全;
- 避免數(shù)據(jù)交叉,造成重復運營,資源浪費;
- 避免不同職責之間的數(shù)據(jù)信息泄露。
四、我遇到的問題及思考
1. 關于用戶登錄信息的獲取
初期不熟悉公司業(yè)務,用戶登錄信息收集不完善,隨著系統(tǒng)業(yè)務線的擴張,用戶的登錄信息逐漸無法匹配權(quán)限控制規(guī)則,例如:數(shù)據(jù)權(quán)限的配置。如上描述,我們通過底層對數(shù)據(jù)打標可劃分數(shù)據(jù)權(quán)限,隨著數(shù)據(jù)標識的增加,權(quán)限判斷條件也增多,需要大量的用戶信息用于判斷。
所以在搭建時,應該詳細了解系統(tǒng)的業(yè)務范圍和長期規(guī)劃,梳理角色,并盡可能多的獲取用戶信息:
- 用戶注冊系統(tǒng)時,手工填寫身份信息,并預留字段以便后期補充;
- 通過內(nèi)部OA系統(tǒng),自動獲取。若角色與架構(gòu)強相關,還可以通過識別用戶的所屬部門、職位,智能授權(quán)相應的角色;
- 如果有強大的標簽畫像系統(tǒng),借助大數(shù)據(jù)的力量打標識別。
2. 關于用戶權(quán)限的長期維護
隨著系統(tǒng)的長時間運轉(zhuǎn),在權(quán)限管理上,可能會因為用戶換崗或離司,未及時更權(quán)限信息,而導致信息泄露。我們可以:
- 權(quán)限系統(tǒng)和企業(yè)OA互通;
- 若OA所獲取的信息無法滿足系統(tǒng)要求,需通過用戶手工補充信息,則最好支持管理員角色定期下載全量數(shù)據(jù),進行梳理;
- 系統(tǒng)也可設置自動清洗規(guī)則,如針對30天內(nèi)未登陸的用戶,取消權(quán)限,授權(quán)需重新申請。
3. 關于權(quán)限的通用規(guī)則
當一個系統(tǒng)非常龐大,由多個產(chǎn)品經(jīng)理負責時,如果沒有制定統(tǒng)一的權(quán)限規(guī)范,特別容易因產(chǎn)品提需求時忘記說明權(quán)限要求、或者理所當然認為開發(fā)應該知道如何控制權(quán)限,而造成新功能沒有做權(quán)限控制。
權(quán)限規(guī)范需按照系統(tǒng)的業(yè)務和架構(gòu)制定,這里想到比較淺的幾點,舉例說明一下:當系統(tǒng)中涉及數(shù)據(jù)清單、報表時,要求所有的報表區(qū)分數(shù)據(jù)權(quán)限;當平臺功能是模塊化、組件化時,要求權(quán)限也與之對應,支持分模塊獨立配置操作權(quán)限;當一個用戶擁有多重身份、多個角色時,其權(quán)限獲取的優(yōu)先級是什么等等。
4. 關于多個系統(tǒng)之間的權(quán)限
大的企業(yè),可能有上百個系統(tǒng),這些系統(tǒng)之間會由統(tǒng)一登錄中臺來管控內(nèi)部人員的賬號信息。各系統(tǒng)內(nèi)部又會在此基礎上根據(jù)業(yè)務屬性搭建各自的權(quán)限體系。當多個系統(tǒng)需要整合時,通常會采用SSO的方式,好處在于:
- 提高用戶的效率,無需登錄多個系統(tǒng)操作;
- 提高開發(fā)人員的效率。從系統(tǒng)A通過SSO進去系統(tǒng)B,系統(tǒng)B無需再驗證用戶的身份;
- 簡化對用戶權(quán)限的管理。
以上,是我對于系統(tǒng)權(quán)限搭建的理解,如有不妥,請多指教,謝謝。
本文由 @Holly 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
“各系統(tǒng)內(nèi)部又會在此基礎上根據(jù)業(yè)務屬性搭建各自的權(quán)限體系”文章末尾一段話,“業(yè)務屬性”如何理解呢?
權(quán)限還分為, 功能權(quán)限與數(shù)據(jù)權(quán)限, 這兩個基本的大類
請問如何聯(lián)系作者?
holly_chen102149
學習了
多交流
不錯誒
謝謝