En 400-6655-581
5
返回列表
> 資源中心 > 技術(shù)干貨 | 企業(yè)信息系統(tǒng)統(tǒng)一權(quán)限管理2:基于角色的權(quán)限實(shí)踐

技術(shù)干貨 | 企業(yè)信息系統(tǒng)統(tǒng)一權(quán)限管理2:基于角色的權(quán)限實(shí)踐

2020-04-10瀏覽次數(shù):1005

上一篇文章技術(shù)干貨 | 企業(yè)信息系統(tǒng)統(tǒng)一權(quán)限管理,我們對(duì)企業(yè)信息系統(tǒng)統(tǒng)一權(quán)限及基于角色的權(quán)限模型(RBAC)進(jìn)行了探討,而這一篇文章,我們將繼續(xù)沿著這條思路,給大家進(jìn)一步的分享企業(yè)如何基于角色的權(quán)限訪問(wèn)控制模型(RBAC)來(lái)做統(tǒng)一權(quán)限管理。


基于角色的權(quán)限訪問(wèn)控制


上一篇文章,我們提到企業(yè)為了解決權(quán)限管理復(fù)雜,以及系統(tǒng)權(quán)限設(shè)計(jì)的異構(gòu)性等問(wèn)題,通過(guò)在用戶和權(quán)限之間設(shè)計(jì)了角色,構(gòu)建起“用戶-角色-權(quán)限”的授權(quán)模型,來(lái)增加權(quán)限管理的靈活度,實(shí)現(xiàn)用戶的角色的身份可以隨著場(chǎng)所的不同而發(fā)生改變的難題。



上次我們只是對(duì)基于角色的權(quán)限訪問(wèn)控制中的RBAC 0進(jìn)行了探討,在RBAC家族里還有RBAC 1、RBAC 2、RBAC 3其余三種控制模型。


RBAC 1


相對(duì)于RBAC 0模型,RBAC 1引入了角色分層的模型,增加了???,引?了繼承概念,即???可以繼承???的所有權(quán)限。



例如:企業(yè)里的銷售部?,有銷售總監(jiān)、銷售經(jīng)理、銷售專員,銷售專員可以查看自己的商機(jī)和客戶;銷售經(jīng)理可以看自己的商機(jī)和客戶,并可以看下轄銷售專員的商機(jī)和客戶;銷售總監(jiān)可以查看所有的商機(jī)和客戶。簡(jiǎn)單點(diǎn)理解就是,銷售經(jīng)理的權(quán)限不能?于銷售總監(jiān),銷售專員的權(quán)限不能?于銷售經(jīng)理,這種情況,如果采?RBAC 0權(quán)限模型,極可能出現(xiàn)分配權(quán)限失誤,最終出現(xiàn)經(jīng)理?yè)碛锌偙O(jiān)都沒(méi)有的權(quán)限的情況。 


?RBAC 1模型就很好解決了這個(gè)問(wèn)題,創(chuàng)建完總監(jiān)??并配置好權(quán)限后,經(jīng)理??的權(quán)限繼承總監(jiān)??的權(quán)限,并且?持在總監(jiān)權(quán)限上刪減經(jīng)理權(quán)限。 


RBAC 2


相對(duì)于RBAC 0模型,RBAC 2增加了對(duì)角色的限制條件,引入了SSD(靜態(tài)職責(zé)分離)和DSD(動(dòng)態(tài)職責(zé)分離)的概念。



靜態(tài)職責(zé)分離(SSD)主要是應(yīng)用于用戶和角色之間的,主要是影響授權(quán)階段對(duì)用戶可授權(quán)的角色進(jìn)行約束:


1.??互斥:同??戶不能被授予互斥關(guān)系的??,這里的互斥??是指權(quán)限互相制約的兩個(gè)??。例如:一個(gè)信息系統(tǒng)的管理員角色、安全員角色、審計(jì)員角色要相互獨(dú)立,不能兼任;一個(gè)企業(yè)財(cái)務(wù)系統(tǒng)中,?個(gè)?戶不能同時(shí)被指派給會(huì)計(jì)??和審計(jì)員??。


2.基數(shù)約束:一個(gè)用戶擁有的角色是有限的,一個(gè)角色擁有的許可是有限的,它指的是有多少?戶能擁有這個(gè)??。例如:一個(gè)企業(yè)往往只會(huì)有一個(gè)董事長(zhǎng),而系統(tǒng)中董事長(zhǎng)這個(gè)角色就需要被基數(shù)約束,它的基數(shù)值為1,只能有1個(gè)用戶被授予為董事長(zhǎng)角色。


3.先決條件約束:一個(gè)角色想要分配高級(jí)權(quán)限,那它必須要先得到低級(jí)權(quán)限。例如:一個(gè)用戶要先有副總經(jīng)理的權(quán)限,才能被授予總經(jīng)理的權(quán)限。


動(dòng)態(tài)職責(zé)分離(DSD)主要是應(yīng)用于會(huì)話和角色之間的,主要是影響使用階段對(duì)用戶進(jìn)行約束,對(duì)用戶所授權(quán)的角色進(jìn)行限制。例如某個(gè)用戶被授予集團(tuán)副總經(jīng)理和分公司總經(jīng)理兩個(gè)角色,我們?cè)谶\(yùn)行時(shí)只能激活一個(gè)角色,不能同時(shí)激活。


RBAC 3


RBAC 3被稱為統(tǒng)?模型,它包含了RBAC 1和RBAC 2,利?傳遞性,也把RBAC 0包括在內(nèi),綜合RBAC 0、RBAC 1和RBAC 2的所有特點(diǎn)。




基于角色的統(tǒng)一權(quán)限實(shí)踐


當(dāng)企業(yè)在進(jìn)行基于角色的權(quán)限管理的時(shí)候,我們應(yīng)該以哪種方式進(jìn)行推進(jìn),應(yīng)該按照哪種步驟進(jìn)行呢?


在經(jīng)過(guò)了大量的基于角色的統(tǒng)一權(quán)限項(xiàng)目實(shí)踐,我們?cè)谧龌诮巧慕y(tǒng)一權(quán)限時(shí),可以簡(jiǎn)單理解其本質(zhì)是對(duì)企業(yè)整個(gè)信息化系統(tǒng)角色的統(tǒng)一,通過(guò)統(tǒng)一角色來(lái)實(shí)現(xiàn)統(tǒng)一權(quán)限管理。我們往往會(huì)按照以下步驟進(jìn)行:



① 業(yè)務(wù)組織架構(gòu)梳理:對(duì)企業(yè)業(yè)務(wù)組織架構(gòu)進(jìn)行梳理,并在應(yīng)用系統(tǒng)中進(jìn)行還原,在應(yīng)用系統(tǒng)中建立起對(duì)應(yīng)的組織架構(gòu),最終實(shí)現(xiàn)應(yīng)用系統(tǒng)的業(yè)務(wù)場(chǎng)景還原,建立起“崗位-角色”的對(duì)應(yīng)關(guān)系。


② 角色運(yùn)營(yíng)體系建立:我們?cè)趯?duì)業(yè)務(wù)組織架構(gòu)梳理的同時(shí),還需要建立起角色的運(yùn)營(yíng)體系,我們需要明確的是角色的梳理、角色的確立不是一蹴而就的,而應(yīng)該是循序漸進(jìn)逐步完善的。企業(yè)在建立角色運(yùn)營(yíng)體系時(shí),需要從整體上考慮,把信息部門(mén)、人事部門(mén)、業(yè)務(wù)部門(mén)等都納入運(yùn)營(yíng)體系中,各司其職。


③ 標(biāo)準(zhǔn)角色梳理:對(duì)企業(yè)現(xiàn)有崗位職能進(jìn)行抽象和拆分形成一套職能角色,職能范圍顆粒度細(xì)于人事崗位,通過(guò)一人多角色解決崗位職責(zé)大于角色,用戶兼職等問(wèn)題。


④ 標(biāo)準(zhǔn)角色運(yùn)營(yíng):當(dāng)企業(yè)初步完成標(biāo)準(zhǔn)角色的梳理后,我們需要對(duì)標(biāo)準(zhǔn)角色進(jìn)行持續(xù)的運(yùn)營(yíng)。在運(yùn)營(yíng)過(guò)程中,我們首先要明確工作職能場(chǎng)景所對(duì)應(yīng)的角色修訂規(guī)則,例如什么場(chǎng)景進(jìn)行角色新增、什么場(chǎng)景進(jìn)行角色修訂等等;其次還要明確標(biāo)準(zhǔn)角色的運(yùn)營(yíng)流程,例如以周為單位,周一下發(fā)最新版角色信息,周一到周四收集角色修訂意見(jiàn)并審核下發(fā)至各業(yè)務(wù)系統(tǒng),周四到周日在業(yè)務(wù)系統(tǒng)中進(jìn)行配置調(diào)整,周一又下發(fā)新一版角色信息,以此循環(huán)。


⑤ 員工角色信息自我完善:我們?cè)谶M(jìn)行標(biāo)準(zhǔn)角色的確立、修訂過(guò)程中,員工的參與是不可缺失的,一方面員工可以通過(guò)自身的使用對(duì)標(biāo)準(zhǔn)角色信息提出修訂意見(jiàn);另一方面員工也可以根據(jù)自身的工作職責(zé)新增角色。后續(xù),這里我們往往會(huì)和流程系統(tǒng)對(duì)接,員工自助提出角色新增申請(qǐng),通過(guò)業(yè)務(wù)部門(mén)、信息部門(mén)審批完成后自動(dòng)添加。


⑥ 角色系統(tǒng)權(quán)限表:當(dāng)我們建立標(biāo)準(zhǔn)角色與崗位的對(duì)應(yīng)關(guān)系后,我們會(huì)根據(jù)崗位在系統(tǒng)中的權(quán)限梳理出一張,“角色-系統(tǒng)權(quán)限”對(duì)應(yīng)表,實(shí)現(xiàn)角色權(quán)限標(biāo)準(zhǔn)化梳理。


⑦ 業(yè)務(wù)系統(tǒng)改造:當(dāng)我們前面的梳理工作完成,建立起角色系統(tǒng)權(quán)限表以后,我們就需要對(duì)業(yè)務(wù)系統(tǒng)進(jìn)行改造以實(shí)現(xiàn)角色的統(tǒng)一,最終系統(tǒng)相關(guān)權(quán)限設(shè)置在“系統(tǒng)角色”上,“系統(tǒng)角色”直接關(guān)聯(lián)“標(biāo)準(zhǔn)角色”,“標(biāo)準(zhǔn)角色”再關(guān)聯(lián)到用戶組、部門(mén)、崗位、人員,以實(shí)現(xiàn)企業(yè)基于角色的統(tǒng)一權(quán)限管理。


總的來(lái)說(shuō),企業(yè)在構(gòu)建統(tǒng)一權(quán)限管理時(shí),難免會(huì)在系統(tǒng)業(yè)務(wù)上做一些差異化的業(yè)務(wù)考量,所以完全遵循RBAC模型是很難的。而RBAC對(duì)企業(yè)來(lái)說(shuō),是一種權(quán)限管理的模型,更多的是一種權(quán)限管理的思想,就思想而言,不是要你完全遵照,而是你在這個(gè)基礎(chǔ)之上,融入企業(yè)的自身特點(diǎn),賦予企業(yè)的業(yè)務(wù)之上,適用于企業(yè)業(yè)務(wù)即可。


同時(shí),從我們以往的實(shí)踐經(jīng)驗(yàn)來(lái)看,如果企業(yè)能夠通過(guò)IAM平臺(tái)進(jìn)行統(tǒng)一權(quán)限管理,是一種比較容易落地的方式。整個(gè)企業(yè)通過(guò)IAM進(jìn)行人員、標(biāo)準(zhǔn)角色的管理,并對(duì)下游應(yīng)用系統(tǒng)進(jìn)行統(tǒng)一供給,而下游應(yīng)用系統(tǒng)只需要梳理系統(tǒng)角色與標(biāo)準(zhǔn)角色的對(duì)應(yīng)關(guān)系即可,最終通過(guò)IAM平臺(tái)和業(yè)務(wù)系統(tǒng)之間標(biāo)準(zhǔn)角色的傳遞實(shí)現(xiàn)企業(yè)全局化的統(tǒng)一權(quán)限管理。