復盤大集中模式下的角色權限設計

2021-01-08 人人都是產品經理

RBAC模型是通過分離權限與用戶的耦合關係,將權限關聯在角色上,用戶通過扮演適當的角色獲得合適的權限的權限管理方式。本文在RBAC模型的基礎下,整理權限設計過程中的客戶場景、總結設計思路。

一、項目背景

本項目是一個關於OA系統升級改造的ToG項目,涉及3000+單位5萬用戶,橫跨市–區縣–鎮街3層行政區劃。各單位之間業務信息交流頻繁,業務上經常需要跨單位、跨部門的協同運作。在系統層面,所有單位均在同一租戶下,由基礎平臺負責各業務子系統權限的統一管理。

二、從組織架構看權限的管理模式

回顧整個項目,在進行權限設計之前,必需先了解現場的組織架構。因為RBAC模型主要描述的只是用戶–角色–權限之間的關係,而決定RBAC模型複雜程度的是業務上的組織架構。

當組織架構達到一定量級的複雜程度後,根據系統部署的方式或管理理念的不同,會分化出不同的權限管理模式,不同的管理模式對系統權限設計也會有不一樣的要求。

下面以全市組織架構為例進行說明:

圖1 組織架構層級

1. 組織架構說明

以上的組織架構主要分為5種層級:

行政區劃:具有業務屬性的單位集合;可用於數據權限劃分時的區域劃分;集合:沒有業務屬性的單位集合;通過集合的歸類,讓用戶更便捷地找到所需單位;單位:基礎的權限單元,指機關、團體或企業;部門:基礎的權限單元,指單位的下級分支機構;用戶:組織架構組成的最小單元。2. 不同組織架構下的權限模型

1)基礎權限模型

適用場景:場景一 、場景二

基礎權限模型適用於單個單位或組織架構相對扁平的企業。系統完全交付後,通過系統管理員的管理即可滿足日常角色與權限的維護,各模塊業務數據需求明確,是基本的RBAC模型,其業務管理模式如下:

由系統管理員負責角色的權限及用戶分配。由系統管理員創建單位管理員角色,由單位管理員負責角色的權限及用戶分配。

因此,在這種模式下,系統管理經常兼任單位管理員的管理工作,對權限下放的設計要求不高,其角色樹如圖2所示。

圖2 系統管理員≥單位管理員>業務角色

RBAC模型已經定義了「用戶–角色–權限」的授權模式,將系統功能拆分為操作權限與數據權限兩個維度進行設計。在此框架下設計的權限模型,不管面向的企業對象如何變化,操作權限的設計思路都是不變的,僅需要對數據權限進行改造,即可滿足企業的業務使用。

2)多單位管理模型

適用場景:場景三 、場景四

多單位管理模型適用於大中型單位組織架構,單位之間存在上下級關係且業務交流頻繁。由於單位間的管理關係,需要橫向或縱向的跨單位數據管理,考驗權限對數據靈活配置的能力。

因此,大型系統的RBAC管理過程更為複雜,此時簡單的RBAC已不能滿足系統的訪問控制分級管理的要求。尤其在信息系統中存儲和管理大量企業單位的敏感數據,一旦這些數據被洩露或竊取,會給帶來難以彌補的損失。

另外在企業運營中經常需要對組織架構和人員工作進行調整,相應地需要修改系統中訪問控制主體和權限的關係。而系統管理員由於不了解調整內容導致授權工作滯後,即使修改後也不一定能準確反映調整狀態,常需要多次補充修改,導致授權效率較低,影響正常的業務工作進程。

為了解決信息系統中訪問控制管理的問題,適當簡化授權工作量,提高權限管理效率,需要建立基於角色的多單位授權管理模型,其業務管理模式如下:

由系統管理員負責角色的權限及用戶分配。由系統管理員負責角色的權限分配,同時賦予單位管理員對角色分配用戶的權限(定義標準角色,實現權限管理的部分下放)。由系統管理員負責創建單位管理員角色,由單位管理員負責角色的權限及用戶分配(不定義標準業務角色,實現權限的完全下放)。

在此模式下,系統管理員不再兼任單位管理員工作,需要實現權限的多級下放。

在場景四中,由於業務上對單位群進行劃分,需要系統管理員或特定區域管理員管理單位集合或超出單位管理員權限的特殊角色,角色樹較場景三更加複雜,具體角色樹如圖3所示。

圖3 系統管理員≥區域管理員>單位管理員>業務角色

3)多區域管理模型

適用場景:場景五

多區域管理模式是多單位管理模型的拓展。

首先是對數據管理的要求更高,除了系統、單位、科室、個人的層級外,需要新增區域層級以管理某一範圍內的數據信息。

其次,由於涉及多層級的權限管理,在滿足多級權限下放需求,需要充分考慮不同層級角色對某一角色的管理問題、小權限角色對大權限角色的管理問題等。例如:區域管理與單位管理對某業務角色進行管理時,由於自身權限不同,可下放給此角色的權限也不相同。

如何避免小權限角色對大權限角色造成影響,需要我們結合業務實際使用情況進行設計。

業務管理模式如下:

由系統管理員負責角色的權限分配,同時賦予區域管理員、單位管理員對角色分配用戶的權限(定義標準角色,實現權限管理的部分下放)。由系統管理員負責創建區域管理員角色,由區域管理員分配單位管理員角色,由單位管理員負責角色的權限及用戶分配(不定義標準業務角色,實現權限的完全下放)。

在此模式下,系統管理員也不再兼任區域管理員工作,角色樹如圖4所示。其中角色1-3為區域管理員,角色4-8為單位管理員。

圖4 系統管理員>區域管理員>單位管理員>業務角色

三、定義角色、職位、職務之間的關係

在我們用戶信息管理中,需要填寫用戶的職位或職務,在定義角色、職位與職務的關係之前,需要先明確職位與職務之間的關係。

職位:指企業的某個員工需要完成的一個或一組任務;例如:銷售總監 、銷售經理、財務/出納員、司機、倉庫管理員等。

職務:職員所具有的頭銜稱謂,包括職權和職責兩方面內容,隨著語義的拓展職位亦有此意思;例如:科員,主任,經理,總經理。

因此,職位包含職務的意義,職務基本也與職位相對應。而系統中的權限,是用戶在現實工作中的權限或工作範疇在系統中的映射。為了簡化角色與職位之間的關係,定義現實中用戶職位或職務中包含的權限,在系統上均通過角色進行管理設置。

四、角色權限的設計

角色設計主要分為角色管理、分配用戶及分配權限3個模塊,通過對這3個模塊的控制,實現多區域管理模型下的權限設計。

1. 角色管理

在多區域管理模型下,需要支持權限統一管理與多層級權限下放兩種場景。

分離角色的管理與使用權限,由創建單位對角色權限進行管理,創建單位與使用單位共同分配用戶,可滿足權限統一管理要求的同時,兼具各單位自行調整用戶的需求。

圖5 系統角色管理

2. 分配用戶

分配用戶的頁面,需要根據用戶當前管理的權限範圍進行控制,僅支持查看和分配管轄範圍內的用戶。例如單位管理員僅支持查看和分配自己單位的用戶,系統管理員可查看並分配系統內的所有用戶。

由於同一角色可能支持多個管理員分配用戶,為了系統安全與方便追溯,可通過操作人欄位記錄此用戶是由誰進行分配的。

圖6 分配用戶

3. 分配權限

為了實現對系統各模塊的權限管理,將每個模塊劃分為3個部分:菜單、頁面數據、按鈕。其中將菜單及按鈕納入操作權限,將頁面數據歸為數據權限。

由於各功能模塊都是根據業務具體場景進行設計開發的,因此權限也需要根據業務具體要求而進行劃分與設計。但為了系統的統一管理,可以建立統一的設計規範,以維持系統架構統一甚至減少開發工作量。

1)操作權限
操作權限用於控制此角色在系統中可對哪些模塊做哪種操作。

通過控制菜單,實現管理用戶控制特定模塊的需求;通過頁面按鈕,實現控制用戶在此模塊下可以進行的操作。

以角色管理頁面為例,分配角色管理菜單的用戶,即可查看對應的角色數據,再通過對「新增」「刪除」「啟用」「禁用」等按鈕的控制,限制用戶在此模塊下的操作。

部分頁面的欄位還需要區分「只讀」「可改」,以實現各角色在相同頁面中不同的管理需求。

圖7 操作權限

2)數據權限

數據權限是權限管理中最核心的部分,隨著組織架構的複雜,數據權限的設計也逐漸複雜甚至需要個性化開發。但從通用性上可以將數據權限劃為兩種類型:管理範圍、列表欄位。

管理範圍用於管理當前模塊的數據範圍,在多區域管理模式下,主要將數據分為個人、部門、單位、區域及自定義五個維度。

為了支持業務中個性化的數據管理要求,可以通過自定義實現數據的個性化管理;另外區域維度需要組織架構支持,如果區域較少時,可以直接考慮通過自定義來實現。

列表欄位用於同一列表同一數據範圍下繼續細分的數據權限管理,以實現同一數據下對部分敏感信息的隱藏。

圖8 數據權限

五、寫在最後

從產品角度出發,在RBAC權限模型下,對業務數據的靈活配置,支持數據、操作權限的多層級下放,是滿足最多管理場景的設計模式。

但在項目角度,需要做好產品現狀及改造的成本評估,結合現場培訓、推廣及後續維護的工作難度,選擇合適的權限管理方式,才能儘快滿足項目驗收。

以本次項目為例,由於涉及單位較多,大型單位有頻繁的角色調整需求,部分一級單位需要查看附屬單位業務數據,但鎮街級單位或部分附屬單位人員較少,對系統使用要求不高。如果所有單位都自行管理系統角色,不僅增加了小型單位人員的工作量,還提高了前期推廣的培訓成本。

因此,對系統進行權限設計時,需要最大化場景考慮,以支持現場根據管理模式進行靈活調整。但現場也需要從實際業務出發,從自身成本與客戶利益角度選擇最優的管理方案。

我們規劃大型系統平臺時,除了關注系統功能之外,還需要了解客戶的管理模式,從更宏觀的角度觀察整個業務的布局。因此在本次復盤中,除了對權限設計的總結外,還嘗試歸納不同組織架構下權限的管理方式。

希望與各位一同進步,在ToB領域乘風破浪一往無前!

 

本文由 @龐龐  原創發布於人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基於CC0協議

相關焦點

  • 復盤分析的方法論&應用技巧
    大到項目立項,小到版本迭代,我們任何一項工作的開展,都不能忘了初衷和目的。在工作開展的過程中,應當始終朝著所設定的目標去努力實現。但理想與現實往往都有偏差,有各種各樣的因素存在,也有各種各樣的情況會出現,最終導致不同結果的發生。所以復盤分析的第一步,是回顧目標。走到了今天,不妨回過頭去看看當初的目標。
  • Spring boot + Spring Security實現權限管理
    權限管理主要是管控下面三個方面:哪些頁面要設置權限哪些操作要設置權限哪些數據要設置權限下面的例子就是控制頁面的訪問權限:使用Spring Security的FormLogin模式實現登錄認證相信大家看過上面HttpBasic模式後發現實際項目應用中它並不適合,因為我們往往都是自己開發一個自定義的登陸頁面,Spring Security的FormLogin模式就支持這種需求,下面我們使用FormLogin模式來改寫我們的登錄認證
  • 公主連結pcr日服新角色技能怎麼樣 發布新角色介紹
    這個角色在實裝之前就是在劇情中以主角方的身份出現,現在這顆巨大的衛星終於落地,而晶強大的技能也是讓她出道即巔峰,不知道在之後實裝專武以及6... 公主連結的日服在8月31日於日服登場了新的七冠角色迷宮女王晶。
  • 正略諮詢:集團化能源企業的組織模式和管控模式分析
    2.部門職能設計健全度、協同性欠佳在改革開放30年來高增長的大環境和資源優勢背景下,部分能源企業未能根據市場的變動進行內部精簡和調整,存在部分職責區分不明晰、部門設置紛繁的現象。如某煤炭集團經營管理部和安全環保部均對礦井生產安全進行檢查和管理,造成職責交叉、管理衝突。
  • 高峽:數據倉庫下資料庫設計模式變遷
    今天是12日下午的專場8:數據倉庫設計和管理。對於聽了三天大會的朋友來說,真是辛苦了,短短三天,腦子塞了滿滿的資料庫、大數據、數據分析、資料庫設計模式等知識,我在這裡奉勸一下,走的時候留點神,避免情緒過於激動,動作過於猛烈,以防知識從腦子裡掉出來,哈哈!
  • 進步之六——復盤的分類及框架
    本文轉載自【微信公眾號:丁紅韻,ID:dcj19199】經微信公眾號授權轉載,如需轉載與原文作者聯繫前幾天講了復盤的幾大好處和作用。那麼復盤到底分為哪幾類呢?【一】對盤面的整體的復盤報告復盤分為盤面的分析,和對盤面的品種的發現與跟蹤。具體到——主要是對熱點板塊,關聯品種和熱點品種的跟蹤。一是對熱點板塊的判斷。
  • UI設計模式大閱兵
    互動設計師在設計線框圖原型時,熟知常見的Web設計模式很有幫助,做到「心中有數」才能創造出符合需求,用戶易學易用的界面來。常見的設計模式有哪些呢?在商業中有哪些案例呢?某公司互動設計師張雅秋寫了一篇博文對此進行了總結,現轉載於此,全文如下:互動設計師在設計線框圖原型時,熟知常見的Web設計模式很有幫助,做到「心中有數」才能創造出符合需求,用戶易學易用的界面來。所謂「沒有必要重複發明輪子」,模式往往容易解決常見問題,正確的模式能幫用戶熟悉界面、提高效率。常見的UI設計模式如下圖:
  • 核心知識資源管理中,會博通系統權限管理的3個高效扳手
    1、多維度、細粒化的權限設置會博通的權限管理體系,具有高度的靈活性和適應性。首先,系統內的每一個分類都可以單獨進行權限設置;並且,授權對象、權限內的可訪問密級及可進行的操作行為,均可根據工作需要靈活設置。
  • 案例分享 | 工程總承包模式下的設計實踐及思考
    ,從設計管理的角度出發,對比分析EPC模式與傳統模式的區別和聯繫,歸納出EPC項目中設計管理在不同階段的工作要點,探討民航領域在EPC模式下的項目特點和發展趨勢。,具有很強的技術性、專業性,且項目投資大、建設周期長、成本控制嚴格,還需不停航施工作業,在規定的時間內按照傳統模式,無法完成既定任務,後續的設計變更引起的索賠和超預算等風險也較難把控。
  • 10月產品總結|全面復盤分析,開展規劃Workshop
    從用戶到場景,從場景到產品使用路徑,全面的梳理復盤過程產生的新的需求點,對於簡單需求形成各方滿意的初步方案。本月復盤內容簡述現狀問題:司機拉不上來,沒有司機貨主的貨就沒有人拉。GMV就上不去。怎麼解決?
  • 協作的下午:避免協作5個誤區,撬動機會的關鍵4要素,授權與復盤
    除了珍惜時間外,隨著科技不斷進步,在新的商業模式下,職場人要具有獨立、協作、共贏的共性才能在競爭中獲勝。我們要開展良性協作要避開哪些誤區?二.良性協作應避免5個誤區如何能讓每一個個體實現良性協作?我們需要避免5個誤區。1.把「管理」當管家《原則》橋水基金創始人瑞達利歐提到:「出色的管理者重視協調,而非親力親為。」
  • 從理論到實踐,我是如何完成這份互動設計的?
    往往是午飯回來後,相關設計人員才會突然意識到,好像在不同的模塊出現了一致性問題,出現了出口入口的流程方向問題,還出現了忽略網站協同,單純的在思考移動端深層行為問題…而產品在Q(質量)C(成本)T(時間)模型中如何權衡取捨,如何構建具有競爭力的模式,如何通過設計和運營變現,也因為被帶入深度的細節討論忽略了全局。
  • 復盤「吐血罰跑」實操過程,解析官方應對謠言的四種模式
    先復盤一個輿情:「吐血罰跑」。第一步:5月30日網民@小島裡的大海 發微博稱老師體罰哮喘學生,致吐血微博博主@小島裡的大海 配圖描繪了一個老師體罰哮喘學生,致學生吐血、高燒住院,且事後襲擊家長的故事,並配上了極其衝擊力的帶血照片,隨即引發數以百萬計的轉發,迅速成為網絡熱點。
  • 設計模式之狀態模式(java實現)
    在網上買東西都見過一件9折,兩件5折,限購兩件等等這樣的宣傳語,我們買不同數量的衣服,就會有不同的折扣,這就是今天所講的狀態模式。一、認識狀態模式1、概念狀態模式允許一個對象在其內部狀態改變的時候改變其行為。這個對象看上去就像是改變了它的類一樣。
  • 想要學會復盤?先掌握這4個核心步驟
    「學而時習之 不亦說乎」,在自身沒有高人指點的下,如何再重複且枯燥對工作/項目中成長自我,此時自我復盤反而成為一種最低成本且富含價值的一種方法。一、明確原則問題:逃避不能解決問題多數人的工作都是枯燥泛味的,無論是產品還是運營,都會遇到重複的工作,而這類工作會極大降低我們的思考能力,讓我們變成只會執行的工(she)作機(chu)器。
  • 為啥手機APP要獲取權限?這些權限不能隨便同意
    大數據時代只要用個人信息登錄手機App、註冊網站帳號等,如果個人信息被別有用心的人利用,可以說我們在網際網路上沒有任何秘密可言。移動網際網路時代,手機App在運營的時候都會向我們索取用戶權限,一些軟體在用戶不給予權限的情況下回使用不了,更有惡劣的App不給權限直接閃退。
  • 飛豬復盤「雙11」 「後疫情時代」掘金提速
    600多商家湧進大會,復盤「雙11」只是其一,更多的人想在疫情仍不明朗的當下,尋找下一步的機會。「從旅遊人次和交易規模看,飛豬核心業務快速復甦,國慶開啟了同比正增長,」莊卓然也同時公布了「雙11」的飛豬成績單,商品成交額同比增82%,交易用戶數同比增61%。
  • 樂言商學院|天貓雙11全景復盤,4大維度診斷運營效率
    雙十一大促結束,各大店鋪紛紛曬出成績單,面對今年平臺規則和玩法的改變,商家們在應對措施上都做了不小的調整。對於雙十一戰果,如何高效復盤從而保駕雙十二,才是這一階段的重中之重。此次,樂言商學院特邀萬堂書院資深講師家洛,通過雙十一實戰案例,從店鋪GMV統籌復盤、雙11活動糾錯復盤、各渠道推廣三步復盤法、復盤問題與優化4個方面,詳細分析數據復盤的各個維度。
  • 黑暗模式大勢所趨,盤點常見APP黑暗模式設計
    3.沉浸式設計的關鍵是吸引,用戶的視線首先被吸引過來,深色首先讓用戶感知到的是注意力迅速集中起來,不然總覺得看不清或者會錯過什麼?所以說深色更容易讓人進入沉浸式體驗模式, 在設計上被引用的很多4.注意:簡潔模式下暫無黑暗模式場景化設計的改變04 需要注意的設計細節1. 文字顏色在深色界面下,文字顏色儘量不要使用純白。
  • 《鐵鍋燉大ne/鵝》劇本殺故事復盤+兇手是誰+真相答案解析
    完整復盤:百度搜:【吾愛劇本殺】《鐵鍋燉大ne/鵝》劇本殺內容開局復盤_角色兇手真相題材:歡樂 / 機制 / 情感 工作室:不止工作室人數:6人 (2女4男)時長:3-4小時《鐵鍋燉大ne/鵝》劇本殺故事復盤: