B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

2 評論 7684 瀏覽 60 收藏 12 分鐘

電商行業(yè)中,后臺會有客服、采購、財務(wù)等不同的角色,對應(yīng)展示不同權(quán)限、界面數(shù)據(jù)。在設(shè)計B端后臺權(quán)限模塊時,簡單的用權(quán)限勾選即可,然而復(fù)雜的需要涉及到多角色、多權(quán)限相互匹配的場景中,則需要引入一個概念——RBAC權(quán)限模型。本文作者對RBAC權(quán)限模型進行了介紹,一起來看一下吧。

這是一篇實戰(zhàn)經(jīng)驗+概念解釋文章。

想法來自近期在進行一個后臺產(chǎn)品中,涉及到權(quán)限管理的設(shè)計,需要設(shè)計多種角色、并需要對應(yīng)不同級別,需要區(qū)分不同權(quán)限的設(shè)計,說半天,上個圖!

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

大概意思就是在D的角色下會有A、B、C這3人,而C又包含角色A、B的權(quán)限,角色A、B下方又有A-1、B-1等人;而D擁有最大權(quán)限,對應(yīng)下分不同角色配對不同權(quán)限,而下一級又是不同權(quán)限!于是一層層套娃開始了!

做過電商行業(yè)的應(yīng)該都知道,在后臺會有客服、采購、財務(wù)等不同的角色,對應(yīng)展示不同權(quán)限、界面數(shù)據(jù)。

這就要求設(shè)計師在設(shè)計時,就要從業(yè)務(wù)角度上,去對每個角色進行代入、根據(jù)實際業(yè)務(wù)理解后進行設(shè)計。

通常在設(shè)計B端后臺權(quán)限模塊時,需要先厘清角色與權(quán)限之前的關(guān)系,比如對子賬號進行角色管理、權(quán)限分配等場景進行分類,如果簡單一點的模式設(shè)計就很好處理,用權(quán)限勾選即可,但復(fù)雜一點的就需要涉及到多角色、多權(quán)限相互匹配的場景中,簡單權(quán)限勾選就不足以支撐起權(quán)限模塊了。

因此,在B端后臺界面設(shè)計中,就需要引入一個概念:RBAC權(quán)限模型,現(xiàn)今權(quán)限設(shè)置幾乎都是在RBAC模型上進行擴展的,本文下面將會對RBAC權(quán)限模型進行簡略介紹。

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

一、RBAC模型定義

那說起RBAC權(quán)限模型,那我們來看下它在“維基”上的定義:

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

可以看到:RBAC是Role-Based Access Control的英文縮寫,意思就是以【角色】為基礎(chǔ)進行【權(quán)限】的【控制】。

換句話說:就是劃定【權(quán)限】范圍,賦予【角色】,再將【角色】賦予【賬戶】,這樣【賬戶】擁有了權(quán)限,權(quán)限邊界會很清晰,而去命定賬戶權(quán)限時只要去管理角色即可。

還是不懂?看圖?

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

例:RBAC簡單示例

再用王者榮耀來比喻:

  • 角色 == 英雄人物
  • 權(quán)限 == 英雄技能
  • 賬戶 == QQ/微信賬號

使用【英雄人物】的就是你的賬戶,賬戶可以擁有多個英雄人物,管理權(quán)限的時候只要去管理【英雄人物】就行了。

二、RBAC模型細項說明

在RBAC模型中,有三個比較重要的概念:

  1. 權(quán)限:原子級別功能,能夠訪問某個數(shù)據(jù)或者進行某個操作的資格或權(quán)力
  2. 角色:分子級別功能,對某一類共同擁有權(quán)限集合群體名稱
  3. 賬戶:組合功能,對擁有角色集合的群體名稱

下面對每個概念進行說明。

1. 權(quán)限說明

在計算機系統(tǒng)中,權(quán)限是指某個特定的用戶具有特定的系統(tǒng)資源的使用權(quán)力,在后臺管理中,系統(tǒng)資源指的是系統(tǒng)模塊、頁面、操作功能等。

大致可以將權(quán)限分為:功能操作權(quán)限、數(shù)據(jù)權(quán)限。

  • 功能操作權(quán)限:在系統(tǒng)的操作、交互都是功能權(quán)限,操作都需要頁面承載,所以包瀏覽頁面權(quán)限、操作按鈕權(quán)限都歸屬功能操作權(quán)限
  • 數(shù)據(jù)權(quán)限:對數(shù)據(jù)進行增刪改查

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

例:權(quán)限的構(gòu)成圖

2. 角色說明

角色是一定數(shù)量的權(quán)限的集合以及載體,很好理解,就是界定好哪幾個角色擁有哪些權(quán)限。

比如角色一擁有:查看訂單、修改訂單價格、確認發(fā)貨、訂單評價 等權(quán)限,那角色一其實定義的是客服角色,那就可以給角色一命名為【客服】。

如下圖所示:

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

例:新增角色操作界面

3. 賬戶說明

賬戶是對角色的囊括,也是角色集合的載體,即界定賬戶擁有哪些角色,對應(yīng)擁有哪些角色的權(quán)限。

如下圖所示:

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

例:賬戶對應(yīng)的角色

4. 升級模型:RBAC1模式

上述所有模型是基礎(chǔ)模型,實際業(yè)務(wù)中僅有基礎(chǔ)模式是不夠使用的。

比如一個系統(tǒng)中有了角色:管理員、客服、采購、財務(wù)等。

但財務(wù)下會有多種角色,例如:總賬會計、明細帳會計、出納等角色,故此對RBAC模型進行升級,會把一開始沒有上下級關(guān)系的稱為RBAC0模型,在RBAC0基礎(chǔ)上引入角色間的上下級關(guān)系,升級后稱為為RBAC1模型

如下圖所示:

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

例:RBAC1模型

在RBAC1之后還有RBAC2、RBAC3等關(guān)系,較為復(fù)雜,不在本次討論范圍之內(nèi)。

三、設(shè)計中引用RBAC模型的好處

RBAC中具有角色的概念,設(shè)想一下,如果系統(tǒng)中沒有角色,那么需要設(shè)置每個賬戶的權(quán)限,如果較復(fù)雜系統(tǒng)中,涉及到權(quán)限都非常多,每個賬戶都單獨設(shè)置一遍,無疑是一件繁瑣且工作量巨大的任務(wù),可以說引用RBAC模型可以大大提高生產(chǎn)力。

在還未引入模型時,需要對每個賬戶都進行權(quán)限限定,參考下圖,線條代表了需要操作的次數(shù)。

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

如果引入角色后,只需要給將角色給不同賬戶,給角色賦予權(quán)限,這樣賬戶擁有的角色就直接擁有了該角色下的所有權(quán)限。

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

四、實戰(zhàn):如何設(shè)計RBAC模型

1. 梳理權(quán)限

可以對頁面當中擁有哪些可操作項收集,通常權(quán)限都是由系統(tǒng)、頁面操作限定的,可以梳理一下產(chǎn)品整體框架,對所有權(quán)限進行分類。

比如千牛商家后臺,在【店鋪】一級頁面下,擁有【店鋪管理】【商戶中心】【神筆】【營銷管理】四大權(quán)限,在這四大權(quán)限之下又擁有次級頁面,在次級頁面下?lián)碛懈鱾€模塊的操作,這樣從功能操作+數(shù)據(jù)上實現(xiàn)了集合。

如下圖:

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

例:千牛商家自定義權(quán)限

2. 命定角色

從擁有【店鋪】整體權(quán)限來分析,其實更多是關(guān)于到整體運營層屬性,所以在歸屬【店鋪】權(quán)限,可以對應(yīng)到【運營組長】【運營專員】等角色。

如下圖:

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

例:千牛商家命定角色

3. 賬號限定

其實對賬號的限定很簡單,重點是對賬號擁有哪些角色范圍圈定,圈定角色之后就隸屬于哪個部門使用賬號的問題了

如下圖:

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

B端設(shè)計師必懂(一):RBAC權(quán)限系統(tǒng)

例:千牛商家命定賬號

大功告成!完成這3步就完成整體設(shè)定啦!

總結(jié)一下

B端后臺權(quán)限設(shè)計引入RBAC權(quán)限模型設(shè)計,是基于角色進行的權(quán)限訪問控制,再進行對角色進行賬號匹配。在進行產(chǎn)品設(shè)計時,盡量使用權(quán)限、賬號分開模式去設(shè)計,而使用角色——權(quán)限匹配模式來做解耦。

后臺類或者TO B內(nèi)部產(chǎn)品,不會像C端用戶一樣權(quán)限簡單,也不會追求極致用戶體驗,而是追求明確、結(jié)構(gòu)清晰,不要在交互操作或文字上,讓使用者有疑惑,尤其針對權(quán)限一塊,或涉及業(yè)務(wù)功能設(shè)計上,盡量減少歧義,避免造成返工、錯誤理解等情況。

另附帶RBAC模型升級概念解釋,下期見!

  1. RBAC0:是RBAC的核心思想
  2. RBAC1:RBAC基礎(chǔ)上增加了角色分層模型,即進行了角色上下級區(qū)分
  3. RBAC2:RBAC基礎(chǔ)上增加了約束模型,什么是約束呢,就是賬號想要獲得高級權(quán)限,必須先擁有低級權(quán)限,否則無法命定
  4. RBAC3:其實是RBAC2 + RBAC1,雙重限定條件

本文由 @無塵弟弟 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議。

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 蹲下期

    來自上海 回復(fù)
  2. 寫的真好 學(xué)到了

    來自天津 回復(fù)