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