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