`

基于RBAC模型的权限管理系统的设计和实现

阅读更多

0
引言
管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全威胁。构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的。权限管理系统是管理信息系统中可代码重用性最高的模块之一。任何多用户的系统都不可避免的涉及到相同的权限需求,都需要解决实体鉴别、数据保密性、数据完整性、防抵赖和访问控制等安全服务(据ISO7498-2)。例如,访问控制服务要求系统根据操作者已经设定的操作权限,控制操作者可以访问哪些资源,以及确定对资源如何进行操作。
目前,权限管理系统也是重复开发率最高的模块之一。在企业中,不同的应用系统都拥有一套独立的权限管理系统。每套权限管理系统只满足自身系统的权限管理需要,无论在数据存储、权限访问和权限控制机制等方面都可能不一样,这种不一致性存在如下弊端:
a.系统管理员需要维护多套权限管理系统,重复劳动。
b.用户管理、组织机构等数据重复维护,数据一致性、完整性得不到保证。
c.由于权限管理系统的设计不同,概念解释不同,采用的技术有差异,权限管理系统之间的集成存在问题,实现单点登录难度十分大,也给企业构建企业门户带来困难。
采用统一的安全管理设计思想,规范化设计和先进的技术架构体系,构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的权限管理系统,使得权限管理系统真正成为权限控制的核心,在维护系统安全方面发挥重要的作用,是十分必要的。
本文介绍一种基于角色的访问控制RBAC(Role-Based policies Access Control)模型的权限管理系统的设计和实现,系统采用基于J2EE架构技术实现。并以讨论了应用系统如何进行权限的访问和控制
 
1 采用J2EE架构设计
采用J2EE企业平台架构构建权限管理系统。J2EE架构集成了先进的软件体系架构思想,具有采用多层分布式应用模型、基于组件并能重用组件、统一完全模型和灵活的事务处理控制等特点。
系统逻辑上分为四层:客户层、Web层、业务层和资源层。
a. 客户层主要负责人机交互。可以使系统管理员通过Web浏览器访问,也可以提供不同业务系统的API、Web Service调用。
b. Web层封装了用来提供通过Web访问本系统的客户端的表示层逻辑的服务。
c. 业务层提供业务服务,包括业务数据和业务逻辑,集中了系统业务处理。主要的业务管理模块包括组织机构管理、用户管理、资源管理、权限管理和访问控制几个部分。
d. 资源层主要负责数据的存储、组织和管理等。资源层提供了两种实现方式:大型关系型数据库(如ORACLE)和LDAP(Light Directory Access Protocol,轻量级目录访问协议)目录服务器(如微软的活动目录)。
2 RBAC模型
访问控制是针对越权使用资源的防御措施。基本目标是为了限制访问主体(用户、进程、服务等)对访问客体(文件、系统等)的访问权限,从而使计算机系统在合法范围内使用;决定用户能做什么,也决定代表一定用户利益的程序能做什么[1]
企业环境中的访问控制策略一般有三种:自主型访问控制方法、强制型访问控制方法和基于角色的访问控制方法(RBAC)。其中,自主式太弱,强制式太强,二者工作量大,不便于管理[1]。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其显著的两大特征是:1.减小授权管理的复杂性,降低管理开销;2.灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。
NIST(The National Institute of Standards and Technology,美国国家标准与技术研究院)标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC)[1]。RBAC0模型如图1所示。
 
图1 RBAC0模型
 
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,既提供了角色间的继承关系,又提供了责任分离关系。
3核心对象模型设计
根据RBAC模型的权限设计思想,建立权限管理系统的核心对象模型。如图2所示。

对象模型中包含的基本元素主要有:用户(Users)、用户组(Group)、角色(Role)、目标(Objects)、访问模式(Access Mode)、操作(Operator)。主要的关系有:分配角色权限PA(Permission Assignment)、分配用户角色UA(Users Assignmen描述如下:
                                              
图2 权限管理系统核心类图
分享到:
评论
3 楼 sp42 2007-08-10  
简介:http://www.mispb.com/rbac/rbac.htm
学术论文:http://www.mispb.com/rbac/papers.htm
2 楼 waxd 2007-07-19  
大哥,有没有RBAC的资料啊
1 楼 hyl1234 2007-04-26  
我刚学RBAC!
请问如何确定操作和控制对象,
就是在具体实现的时候该怎么处理!
新手!谢谢

相关推荐

    基于rbac模型的权限管理系统

    综上所述,基于RBAC模型的权限管理系统是现代企业信息化建设中的重要一环,它通过角色、权限和用户三者的有效结合,实现了安全、高效和易于管理的权限分配机制。在实际应用中,我们需要根据具体的业务场景和安全需求...

    基于RBAC的权限管理系统的实现

    本文将深入探讨基于RBAC的权限管理系统的实现原理、设计思路以及关键组件。 首先,RBAC模型主要由三个核心概念构成:用户(User)、角色(Role)和权限(Permission)。用户通过扮演不同的角色来获取相应的权限。...

    基于RBAC的权限管理系统

    在IT行业中,权限管理系统是确保数据安全和操作合规性的重要组成部分。基于RBAC(Role-Based Access Control,...通过理解RBAC模型的基本要素和工作原理,我们可以更好地设计和实施适应各种业务场景的权限管理系统。

    一个基于RBAC的权限管理系统

    综合以上信息,这个基于RBAC的权限管理系统采用了分层架构设计,实现了用户、角色和权限的灵活配置,以支持MIS系统的安全访问控制。系统采用C#语言开发,并且依赖于.NET框架,数据存储可能使用的是SQL Server数据库...

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

    本文讨论了基于RBAC模型的通用权限管理系统的设计,主要阐述了RBAC模型的基本概念、RBAC模型的四个组件模型、核心对象模型设计和权限管理系统的设计思想。 RBAC模型的基本概念: 访问控制是针对越权使用资源的...

    基于RBAC模型的权限管理改进研究与实现.pdf

    在实现方面,我们使用了JavaScript脚本语言和SSH框架,开发了一个基于RBAC模型的权限管理系统。该系统能够动态地创建、分配和撤销权限,实现资源分离和多级权限管理。 我们的研究结果表明,基于RBAC模型的权限管理...

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

    资源的类别和实例的区分对于明确权限管理系统和应用系统各自的职责至关重要。权限管理系统关注资源类别的权限,而应用系统负责具体资源实例的权限管理。 资源的权限设计中,需要考虑资源实例的权限相关性。例如,若...

    基于RBAC权限模型搭建的高效智能权限管理系统.pdf

    "基于RBAC权限模型搭建的...本文档提供了基于RBAC模型的智能权限管理系统的设计和实现,并讨论了电子商务中安全性要求高的系统平台的设计和实现。同时,还讨论了安全性技术在电子商务中的应用和电子商务数据库的设计。

    基于RBAC权限管理数据库表设计

    在IT行业中,权限管理系统是确保数据安全和操作合规性的重要组成部分。基于RBAC(Role-Based Access Control,基于角色的访问控制)的权限管理是一种广泛采用的策略,它将权限与角色关联,而不是直接分配给单个用户...

    【RBAC权限管理】基于springboot+mybatis+redis的RBAC模型下的权限管理系统.zip

    基于springboot+mybatis+redis的RBAC模型下的权限管理系统.zip 介绍 基于RBAC数据库模型下的权限管理系统 可实现用户、角色模块、角色、权限模块、权限的CRUD 实现登录的过滤和权限的拦截 使用技术 springboot、...

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

    而且权限管理这个模块在对任何应用系统中都给设计人员和开发人员带来了很大的负担,设计人员和开发人员必须针对每一个系统都要重新设计并开发这个权限管理模块,给不是很熟悉权限管理的设计人员,开发人员带来了很大...

    基于RBAC的权限设计模型

    文档"基于RBAC的权限设计模型.doc"可能会涵盖如何设计和实现这样的模型,包括数据库表结构设计、权限分配策略、用户角色交互流程以及相关的开发工具和技术。通过阅读这份文档,你可以更深入地了解如何在具体项目中...

    基于RBAC的权限管理设计

    基于RBAC的权限管理系统设计与实现,充分利用了Spring框架的优势,结合MVC模式,实现了用户和权限的有效分离,以及权限的直观分配和良好扩展性。通过在控制层利用拦截器进行权限验证,确保了系统的安全性,满足了...

    基于RBAC权限管理模型的实现

    在IT行业中,权限管理是系统安全的关键组成部分,而基于RBAC(Role-Based Access Control,基于角色的访问控制)的权限管理模型是一种广泛应用的解决方案。RBAC模型通过将用户权限与角色关联,使得权限分配更加灵活...

    基于RBAC和SSH的权限管理系统的设计和实现

    ### 基于RBAC和SSH的权限管理系统的设计和实现 #### 1. RBAC模型概述及改进 ##### 1.1 RBAC模型基础 基于角色的访问控制模型(Role-Based Access Control,简称RBAC)是一种高效且灵活的权限管理方式,它能够有效...

Global site tag (gtag.js) - Google Analytics