`
henghengdh
  • 浏览: 157507 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基于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. 缺点
具体授权的方法必须通过不同的资源方法来实现控制,相对通用性比较差。
分享到:
评论

相关推荐

    基于RBAC模型的通用权限管理系统的设计(数据模型)

    基于RBAC模型的通用权限管理系统的设计(数据模型) 本文讨论了基于RBAC模型的通用权限管理系统的设计,主要阐述了RBAC模型的基本概念、RBAC模型的四个组件模型、核心对象模型设计和权限管理系统的设计思想。 ...

    基于RBAC模型的通用权限管理系统的设计

    基于RBAC(Role-Based Access Control,基于角色的访问控制)模型的通用权限管理系统是目前广泛采用的一种高效且灵活的解决方案。这种模型通过将权限与角色关联,而不是直接与用户绑定,从而降低了管理复杂性和开销...

    基于RBAC模型的通用权限组件的设计与实现系统

    权限管理一直以来都是每一个应用系统不可缺少的部分,而且几乎是每个应用系统都要重新对系统的权限进行重新设计,以满足不同系统用户的雪求,目前很少公司对权限管理形成一套通用,灵活,完全可复用而且易嵌入应用...

    基于RBAC的通用权限管理构件

    基于RBAC(Role-Based Access Control,基于角色的访问控制)的通用权限管理构件是一种广泛应用于企业级应用的解决方案,它通过角色来管理和控制用户的访问权限。下面将详细介绍这个系统以及与其相关的技术。 **...

    RBAC模型的通用权限管理系统的设计

    在IT领域,访问控制是确保信息安全的关键组成部分,它防止未经授权的资源访问,保障系统的稳定性与安全性。...在设计权限管理系统时,理解并合理运用RBAC模型的各项原则和组件,能够大大提高系统的安全性和易管理性。

    整合Spring+Spring security基于RBAC模型实现通用的权限控制和用户管理系统(适合新手了解学习权限相关技术)

    本项目基于Spring,整合Spring的security模块,实现用户管理和权限控制,是一套较为通用的权限控制功能,主要内容如下: 1.登录,包括“记住我”的功能; 2.加密,存储的密码不采用明文,初始密码1234; 3.拦截器...

    基于Django和Vue的RBAC权限控制后台管理系统源码

    项目概述:本源码为基于角色基础访问控制(RBAC)模型的中小型应用开发平台,采用前后端分离架构。...该平台为开发人员提供了一个具有完善权限控制的后台管理系统,支持快速开发具有复杂权限需求的中后台应用。

    构建基于RBAC模型的Spring与Spring Security集成系统:实现通用权限控制与用户管理(面向新手学习权限管理技术

    本项目基于Spring,整合Spring的security模块,实现用户管理和权限控制,是一套较为通用的权限控制功能,主要内容如下: 1.登录,包括“记住我”的功能; 2.加密,存储的密码不采用明文,初始密码1234; 3.拦截器...

    基于RBAC的通用访问控制系统源码工程 V2.8

    基于RBAC(Role-Based Access Control,角色基础的访问控制)的通用访问控制系统是一种广泛采用的权限管理模型,尤其适用于大型企业或组织。RBAC模型将权限与角色关联,用户通过扮演不同的角色来获得相应的操作权限...

    rbac模型的相关资料

    - RBAC模型的通用权限管理系统设计:通常包括角色创建、用户分配、权限设置、权限继承等功能,适用于各种规模的系统。 - RBAC扩展模型的Web系统权限控制:在Web环境中,RBAC模型可以结合会话管理、多租户、动态...

    毕业论文asp.net304基于RBAC的通用软件模块开发.doc

    测试结果表明,改进后的RBAC模型在ASP.NET环境中运行稳定,有效地提高了系统的安全性,同时也简化了权限管理的工作流程。 总之,本文通过对RBAC模型的深入研究和实践,展示了在ASP.NET框架下构建一个基于RBAC的通用...

    维基上的付费论文:一种基于RBAC扩展模型的WEB系统权限控制方法

    基于角色的访问控制(RBAC)模型是一种较为先进的权限管理方式,它通过将用户根据其执行功能和安全策略划分为不同的角色,并为每个角色分配相应的权限,从而简化了权限管理过程。这种方式可以显著减少权限授予和撤销...

    通用权限管理系统

    在信息化社会中,权限管理成为企业、组织甚至个人数据安全的重要保障,而通用权限管理系统则扮演着核心角色。本文将深入探讨这一系统的功能、架构以及实现原理。 一、权限管理概述 权限管理是控制用户访问资源的一...

    ZR.Admin.NET是一款前后端分离的、跨平台基于RBAC的通用权限管理后台。OR-Zr.Admin.NET.zip

    《ZR.Admin.NET:一款强大的前后端分离RBAC权限管理系统》 ZR.Admin.NET 是一款专为现代企业级应用设计的跨平台、前后端分离的通用权限管理后台系统。它基于角色(Role-Based Access Control,简称RBAC)的权限管理...

Global site tag (gtag.js) - Google Analytics