基于RBAC模型的通用企业权限管理系统
1. 為什么我們需要基于RBAC模型的通用企業(yè)權(quán)限管理系統(tǒng)
管理信息系統(tǒng)是一個(gè)復(fù)雜的人機(jī)交互系統(tǒng),其中每個(gè)具體環(huán)節(jié)都可能受到安全威脅。構(gòu)建強(qiáng)健的權(quán)限管理系統(tǒng),保證管理信息系統(tǒng)的安全性是十分重要的。權(quán)限管理系統(tǒng)是管理信息系統(tǒng)中代碼重用性最高的模塊之一。任何多用戶的系統(tǒng)都不可避免的涉及到相同的權(quán)限需求,都需要解決實(shí)體鑒別、數(shù)據(jù)保密性、數(shù)據(jù)完整性、抗否認(rèn)和訪問(wèn)控制等安全服務(wù)(據(jù)ISO7498-2)。例如,訪問(wèn)控制服務(wù)要求系統(tǒng)根據(jù)操作者已經(jīng)設(shè)定的操作權(quán)限,控制操作者可以訪問(wèn)哪些資源,以及確定對(duì)資源如何進(jìn)行操作。
目前,權(quán)限管理系統(tǒng)也是重復(fù)開(kāi)發(fā)率最高的模塊之一。在企業(yè)中,不同的應(yīng)用系統(tǒng)都擁有一套獨(dú)立的權(quán)限管理系統(tǒng)。每套權(quán)限管理系統(tǒng)只滿足自身系統(tǒng)的權(quán)限管理需要,無(wú)論在數(shù)據(jù)存儲(chǔ)、權(quán)限訪問(wèn)和權(quán)限控制機(jī)制等方面都可能不一樣,這種不一致存在如下弊端:
l 系統(tǒng)管理員需要維護(hù)多套權(quán)限管理系統(tǒng),重復(fù)勞動(dòng)。
l 用戶管理、組織機(jī)構(gòu)等數(shù)據(jù)重復(fù)維護(hù),數(shù)據(jù)一致性、完整性得不到保證。
l 由于權(quán)限管理系統(tǒng)的設(shè)計(jì)不同,概念解釋不同,采用的技術(shù)有差異,權(quán)限管理系統(tǒng)之間的集成存在問(wèn)題,實(shí)現(xiàn)單點(diǎn)登錄難度十分大,也給企業(yè)構(gòu)建企業(yè)門戶帶來(lái)困難。
采用統(tǒng)一的安全管理設(shè)計(jì)思想,規(guī)范化設(shè)計(jì)和先進(jìn)的技術(shù)架構(gòu)體系,構(gòu)建一個(gè)通用的、完善的、安全的、易于管理的、有良好的可移植性和擴(kuò)展性的權(quán)限管理系統(tǒng),使得權(quán)限管理系統(tǒng)真正成為權(quán)限控制的核心,在維護(hù)系統(tǒng)安全方面發(fā)揮重要的作用,是十分必要的。
2. 我們需要了解哪些知識(shí)點(diǎn)
2.1. RBAC模型
標(biāo)準(zhǔn)RBAC模型由4個(gè)部件模型組成,這4個(gè)部件模型分別是基本模型RBAC0(Core RBAC)、角色分級(jí)模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和統(tǒng)一模型RBAC3(Combines RBAC)
a. RBAC0定義了能構(gòu)成一個(gè)RBAC控制系統(tǒng)的最小的元素集合。在RBAC之中,包含用戶users(USERS)、角色roles(ROLES)、目標(biāo)objects(OBS)、操作operations(OPS)、許可權(quán)permissions(PRMS)五個(gè)基本數(shù)據(jù)元素,權(quán)限被賦予角色,而不是用戶,當(dāng)一個(gè)角色被指定給一個(gè)用戶時(shí),此用戶就擁有了該角色所包含的權(quán)限。會(huì)話sessions是用戶與激活的角色集合之間的映射。RBAC0與傳統(tǒng)訪問(wèn)控制的差別在于增加一層間接性帶來(lái)了靈活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的擴(kuò)展。
b. RBAC1引入角色間的繼承關(guān)系,角色間的繼承關(guān)系可分為一般繼承關(guān)系和受限繼承關(guān)系。一般繼承關(guān)系僅要求角色繼承關(guān)系是一個(gè)絕對(duì)偏序關(guān)系,允許角色間的多繼承。而受限繼承關(guān)系則進(jìn)一步要求角色繼承關(guān)系是一個(gè)樹結(jié)構(gòu)。
c. RBAC2模型中添加了責(zé)任分離關(guān)系。RBAC2的約束規(guī)定了權(quán)限被賦予角色時(shí),或角色被賦予用戶時(shí),以及當(dāng)用戶在某一時(shí)刻激活一個(gè)角色時(shí)所應(yīng)遵循的強(qiáng)制性規(guī)則。責(zé)任分離包括靜態(tài)責(zé)任分離和動(dòng)態(tài)責(zé)任分離。約束與用戶-角色-權(quán)限關(guān)系一起決定了RBAC2模型中用戶的訪問(wèn)許可。
d. RBAC3包含了RBAC1和RBAC2,既提供了角色間的繼承關(guān)系,又提供了責(zé)任分離關(guān)系。
2.2. 組織機(jī)構(gòu)
企業(yè)組織架構(gòu)包含三個(gè)方面的內(nèi)容:單位、部門和崗位。 一個(gè)單位可以設(shè)置多個(gè)部門,部門是組成單位的部分。一個(gè)部門可以設(shè)置多個(gè)崗位,崗位是職工職務(wù)、工作任務(wù)和責(zé)任、權(quán)限的統(tǒng)一。一個(gè)部門只能設(shè)定一個(gè)部門主管崗位,一個(gè)崗位可以由多個(gè)員工擔(dān)任,員工是指機(jī)構(gòu)中各種用工形式的人員。
相關(guān)術(shù)語(yǔ)
l 任務(wù) 是為了達(dá)到某一特定目標(biāo)或者完成領(lǐng)導(dǎo)交待的工作而進(jìn)行的一項(xiàng)活動(dòng)。
l 職務(wù) 指對(duì)職工所應(yīng)承擔(dān)事務(wù)的規(guī)定。它與職位的不同點(diǎn)在于強(qiáng)調(diào)所承擔(dān)的任務(wù)內(nèi)容,而不是指任務(wù)的地點(diǎn)。
l 責(zé)任 指份內(nèi)應(yīng)做的事。即職工在職務(wù)規(guī)定的范圍內(nèi)應(yīng)盡責(zé)盡職、保質(zhì)保量地完成任務(wù)。
l 職責(zé) 職務(wù)和責(zé)任的統(tǒng)一。專指須有一名職工擔(dān)負(fù)的各項(xiàng)任務(wù)組成的工作活動(dòng)。
3. 我們?cè)趺丛O(shè)計(jì)基于RBAC模型的通用企業(yè)權(quán)限管理系統(tǒng)
根據(jù)RBAC模型的權(quán)限設(shè)計(jì)思想,建立權(quán)限管理系統(tǒng)的核心對(duì)象模型。對(duì)象模型中包含的基本元素主要有:組織機(jī)構(gòu)(Organization)、部門(Department)、崗位(Post)、用戶(User)、角色(Role)、系統(tǒng)功能(Function)、權(quán)限(Permission)。主要的關(guān)系有:分配角色權(quán)限PA(Permission Assignment)、分配用戶角色UA(User Assignmen),具體描述如下:
a. 組織機(jī)構(gòu):使用系統(tǒng)的主體。
b. 部門:是組成單位的部分。
c. 崗位:是職工職務(wù)、工作任務(wù)和責(zé)任、權(quán)限的統(tǒng)一。
d. 用戶:是權(quán)限的擁有者或主體。用戶和權(quán)限實(shí)現(xiàn)分離,通過(guò)授權(quán)管理進(jìn)行綁定。
e. 角色:權(quán)限分配的單位與載體。角色通過(guò)繼承關(guān)系支持分級(jí)的權(quán)限實(shí)現(xiàn)。例如,科長(zhǎng)角色同時(shí)具有科長(zhǎng)角色、科內(nèi)不同業(yè)務(wù)人員角色。
f. 系統(tǒng)功能:是系統(tǒng)所要保護(hù)的資源(Resource),可以被訪問(wèn)的對(duì)象。
g. 權(quán)限:對(duì)受保護(hù)的資源操作的訪問(wèn)許可(Access Permission),是綁定在特定的資源實(shí)例上的。
h. 分配角色權(quán)限PA:實(shí)現(xiàn)操作和角色之間的關(guān)聯(lián)關(guān)系映射。
i. 分配用戶角色UA:實(shí)現(xiàn)用戶和角色之間的關(guān)聯(lián)關(guān)系映射。
我們對(duì)元素之間的關(guān)系作如下限制:
a. 一個(gè)單位可以設(shè)置多個(gè)部門
b. 一個(gè)部門可以設(shè)置多個(gè)崗位
c. 一個(gè)部門只能設(shè)定一個(gè)部門主管崗位
d. 一個(gè)崗位可以由多個(gè)員工擔(dān)任
e. 一人員工擔(dān)任多個(gè)崗位
f. 一個(gè)用戶可以擁有多個(gè)角色
g. 一個(gè)角色可以由多個(gè)用戶擁有
h. 系統(tǒng)功能與角色之間設(shè)置權(quán)限訪問(wèn)許可
i. 系統(tǒng)功能通過(guò)資源來(lái)限制訪問(wèn)
對(duì)象模型圖如下:
4. 優(yōu)缺點(diǎn)
4.1. 缺點(diǎn)
具體授權(quán)的方法必須通過(guò)不同的資源方法來(lái)實(shí)現(xiàn)控制,相對(duì)通用性比較差。
轉(zhuǎn)載于:https://www.cnblogs.com/cntosoft/archive/2011/10/05/2199650.html
總結(jié)
以上是生活随笔為你收集整理的基于RBAC模型的通用企业权限管理系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 冰霜幽暗密林在什么地方?我在地图上怎么看
- 下一篇: [windows phone 7 ]查看