聊聊基于業務和中臺的權限管理
隨著系統用戶角色的增多,這個時候,權限管理系統就應運而生了,結合權限管理系統,企業可以讓用戶只能訪問自己被授權的資源。那么企業怎么基于RBAC基本模型和業務形態,搭建合適自身的權限管理模型呢?一起來看看作者的解讀。
隨著企業的發展,就會出現不同權限和不同的崗位的員工,針對不同權限或者工作職責的員工就會產生不同的權限;系統也是一樣的,隨著一個系統用戶或者角色的增多,針對不同用戶和角色的權限控制就會應運而生。
一、什么是權限管理
什么是權限管理?了解什么是權限管理前,我們得先明白什么是資源?
我們通常在設計或者使用系統時會聽到“菜單”“按鈕”“查看”等。沒錯,資源可以理解為一個“菜單”、一個“按鈕”、一個“查看”,只要你理解的可控制可操作可查看的一個東西,那么他就可以稱之為一個“資源”。
那么我們再來看什么是權限管理,權限管理就是根據系統設置的安全規則或者安全策略,用戶可以訪問而且只能訪問自己被授權的資源。
說白了,就是配置用戶能夠點開的菜單、能夠操作的按鈕、能夠查看的數據,能夠操作的數據。
二、RBAC模型是什么
1. RBAC模型怎么來的
權限管理作為一個系統必不可少的功能,在20世紀90年代就有大量的專家進行了深入研究,其中以美國George Mason大學信息安全技術實驗室(LIST)提出的RBAC96模型最具有系統性,得到普遍的公認。
主要以“最小特權原則”“責任分離原則”和“數據抽象原則”三個安全原則創建出了RBAC96模型(包含RBAC0、RBAC1、RBAC2、RBAC3四個概念模型)。
2. RBAC模型的組成
RBAC模型中包括用戶、角色、許可權三個基本數據元素,這三個元素也是組成權限控制最基礎的東西。有了這三個元素,我們就能夠搭建起一套簡單的權限管理模塊。
3. RBAC的4種模型
上文我們已經提到RBAC96有4種模型,分別是RBAC0、RBAC1、RBAC2、RBAC3,隨著0~3的遞進,對用戶權限的管理也越來越細致和精確以及復雜。
1)RBAC0
通過將權限賦予角色,再將角色賦予用戶的形式。將權限分配給用戶,其中用戶和角色,以及角色和權限都是多對多的關系,這就實現了身兼多職用戶的權限開放和管理。
2)RBAC1
RBAC1就是建立在RBAC0之上,只是在角色中多增加了繼承的概念。實際業務上看就是主管也擁有下屬的功能權限。主要實現了權限的繼承。
3)RBAC2
針對多個角色的用戶,根據不同的使用場景控制角色的激活。舉個例子。
4)RBAC3
RBAC3就是整合0~2的統一模型,既包含角色控制權限的功能,也有繼承和各種規則的限制。
三、針對業務衍生的權限控制
針對不同的業務或者領域,會依據特殊情況而對權限管理進行調整。例如,在設計履約類或者財務類的數據為主領域的系統時,我們就要將結合功能權限和數據權限做一套復雜的結合型權限模塊。再比如像系統需要根據不同屬性(IP地址、職級、時間等)來對進行權限控制。
四、中臺模式的權限管理
當一家公司系統多了以后,出于能夠統一管理以及方便管理的目的,就會建立一個管理系統IAM(身份與訪問管理),因為公司不單單要考慮單個系統的權限管理,也要考慮多系統的權限管理,甚至多租戶的權限管理。
其中最常見的問題就是因為業務管理和行政管理上的差異而導致的多系統組織和中臺組織有沖突的時候,這個問題要分三種情況來看。
情況一
各系統組織需要共用,這種類型的系統也是比較常見的,場景更多因為用戶池內的用戶為企業員工(包含HRM、CRM等內部管理系統),此時組織和行政組織是一致的。各系統之間沒有因為復雜的業務形態衍生出來與行政組織不一致的組織,只需要根據公司的管理方式考慮權限是收攏在管理系統控制還是分散在各個系統進行管理。
情況二
各系統有自我的組織,但是各系統的權限授權是統一管理,那么數據權限在這個時候就出現了業務組織和行政組織沖突的情況。
針對這種情況,一般會采用行政組織和業務組織剝離的方式,即用戶的組織關系使用行政組織管理,業務的組織關系獨立設立,再將用戶和業務組織掛鉤,業務組織和行政組織進行關聯,從而實現用戶在不同系統權限控制和組織數據權限控制。通過這樣的方式方法來解決組織出現不一致的問題。
五、最后
不同企業會有不一樣的權限管理需求,我們需要基于RBAC基本的模型再結合業務形態搭建合適自身的權限管理模型。
本文由 @L.Hwang 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
行政組織、業務組織區別是什么?
這是子系統多了并且公司制度嚴謹,因為業務延伸出來的一種東西。行政組織一般是使用公司發文制度的組織架構,業務組織是為了滿足業務管理或者業務開展而設立不同于公司發文的組織結構。