1 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所示。
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核心对象模型设计
根据RBAC模型的权限设计思想,建立权限管理系统的核心对象模型.对象模型中包含的基本元素主要有:用户(Users)、用户组(Group)、角色
(Role)、目标(Objects)、访问模式(Access
Mode)、操作(Operator)。主要的关系有:分配角色权限PA(Permission Assignment)、分配用户角色UA(Users
Assignmen描述如下:
a .控制对象:是系统所要保护的资源(Resource),可以被访问的对象。资源的定义需要注意以下两个问题:
1.资源具有层次关系和包含关系。例如,网页是资源,网页上的按钮、文本框等对象也是资源,是网页节点的子节点,如可以访问按钮,则必须能够访问页面。
2.这里提及的资源概念是指资源的类别(Resource Class),不是某个特定资源的实例(Resource
Instance)。资源的类别和资源的实例的区分,以及资源的粒度的细分,有利于确定权限管理系统和应用系统之间的管理边界,权限管理系统需要对于资源
的类别进行权限管理,而应用系统需要对特定资源的实例进行权限管理。两者的区分主要是基于以下两点考虑:
一方面,资源实例的权限常具有资源的相关性。即根据资源实例和访问资源的主体之间的关联关系,才可能进行资源的实例权限判断。
例如,在管理信息系统中,需要按照营业区域划分不同部门的客户,A区和B区都具有修改客户资料这一受控的资源,这里“客户档案资料”是属于资源的类别的范
畴。如果规定A区只能修改A区管理的客户资料,就必须要区分出资料的归属,这里的资源是属于资源实例的范畴。客户档案(资源)本身应该有其使用者的信息
(客户资料可能就含有营业区域这一属性),才能区分特定资源的实例操作,可以修改属于自己管辖的信息内容。
另一方面,资源的实例权限常具有相当大的业务逻辑相关性。对不同的业务逻辑,常常意味着完全不同的权限判定原则和策略。
b.权限:对受保护的资源操作的访问许可(Access
Permission),是绑定在特定的资源实例上的。对应地,访问策略(Access
Strategy)和资源类别相关,不同的资源类别可能采用不同的访问模式(Access
Mode)。例如,页面具有能打开、不能打开的访问模式,按钮具有可用、不可用的访问模式,文本编辑框具有可编辑、不可编辑的访问模式。同一资源的访问策
略可能存在排斥和包含关系。例如,某个数据集的可修改访问模式就包含了可查询访问模式。
c.用户:是权限的拥有者或主体。用户和权限实现分离,通过授权管理进行绑定。
d.用户组:一组用户的集合。在业务逻辑的判断中,可以实现基于个人身份或组的身份进行判断。系统弱化了用户组的概念,主要实现用户(个人的身份)的方式。
e.角色:权限分配的单位与载体。角色通过继承关系支持分级的权限实现。例如,科长角色同时具有科长角色、科内不同业务人员角色。
f.操作:完成资源的类别和访问策略之间的绑定。
g.分配角色权限PA:实现操作和角色之间的关联关系映射。
h.分配用户角色UA:实现用户和角色之间的关联关系映射。
该对象模型最终将访问控制模型转化为访问矩阵形式。访问矩阵中的行对应于用户,列对应于操作,每个矩阵元素规定了相应的角色,对应于相应的目标被准予的访
问许可、实施行为。按访问矩阵中的行看,是访问能力表CL(Access
Capabilities)的内容;按访问矩阵中的列看,是访问控制表ACL(Access Control Lists)的内容。
数据模型图如下:
希望各位多提意见 ,再完善
相关推荐
AIX中的RBAC(基于角色的访问控制)是一种先进的安全机制,旨在降低超级用户root的依赖,从而提高系统的整体安全性。这一概念自AIX 4.2版本开始引入,并在AIX 6中得到了显著增强,允许用户自定义授权,为特定任务...
RBAC基本原理详细介绍 RBAC(Role-Based Access Control,基于角色的访问控制)是一种广泛应用的权限模型,具有强大的访问控制功能。作为目前最广泛接受的权限模型,RBAC 模型由四个部件模型组成,分别是基本模型 ...
在本项目中,“VC++写的RBAC访问控制程序”是一个采用微软的Visual C++编程语言实现的角色基础访问控制(Role-Based Access Control,简称RBAC)系统。RBAC是一种广泛应用于现代软件系统中的权限管理模型,它通过...
本文将详细介绍RBAC的基本原理,并对相关技术细节进行探讨。 #### 二、RBAC的基本概念 1. **角色(Role)**:是系统中一种抽象的概念,代表了一组权限或操作的集合。例如,“管理员”、“财务人员”等都是常见的...
在"用java写的RBAC角色访问控制系统"中,我们可以预见到以下关键知识点: 1. **角色(Role)与用户(User)的关系**:系统中的用户可以被分配一个或多个角色,角色定义了一组允许的权限集合。例如,管理员角色可能...
RBAC 安全数据模型
### AIX 中的 RBAC(基于角色的访问控制) #### 一、引言 随着信息技术的发展,企业级应用越来越依赖于稳定且安全的操作系统环境。作为一款强大的商用UNIX操作系统,AIX不仅以其卓越的性能和稳定性著称,还提供了...
图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书馆rbac设计图书...
在IT行业中,权限控制是系统安全的关键组成部分,而Role-Based Access Control(RBAC)是一种广泛采用的权限模型。本文将深入探讨"RBAC权限控制代码"的相关知识点,以及如何通过监听器、过滤器和拦截器实现这一机制...
以下是对RBAC简易设计的一些关键知识点的详细说明: 1. **角色(Role)**:角色是一组权限的集合,代表了用户在系统中的某种职责或功能。例如,"管理员"角色可能包含所有权限,而"普通用户"角色则可能只包含特定的...
**ThinkPHP RBAC架构代码详解** 在Web开发中,权限管理是不可或缺的一部分,尤其是对于大型企业级应用。Role-Based Access Control(RBAC)基于角色的访问控制是一种有效的权限管理模式,它将用户与权限通过角色...
5. **Readme.md文件**:这个文件详细介绍了模块的安装、配置和使用方法,是理解并开始使用该模块的关键。通常会包括如何设置中间件,如何创建和分配角色,以及如何在视图中进行权限检查等步骤。 总的来说,这个基于...
RBAC权限设计模型 RBAC(Role-Based Access Control,基于角色的访问控制)是一种基于角色的权限设计模型,旨在解决权限管理的复杂性和灵活性问题。RBAC模型认为权限授权实际上是Who、What、How三个问题的结合,也...
介绍参数化的RBAC模型
下面我们将详细阐述RBAC的基本原理、核心概念以及在Java环境下的实现方法。 1. **RBAC模型概述** RBAC模型是一种广泛应用的权限管理系统,它将权限与角色关联,用户通过被分配不同的角色来获得相应的操作权限。...
Exchange 2010角色基础访问控制(Role-Based Access Control, RBAC)是Microsoft Exchange Server 2010中引入的一项重要安全特性,它改变了管理员和用户权限管理的传统方式。在以往版本的Exchange中,权限通常通过...
首先,"秦乐11.4(一周).doc"和"秦乐11.11(二周).doc"可能是课程资料或笔记,可能详细介绍了RBAC的概念和实现过程,包括角色的创建、用户的分配、权限的设置等。这些文档可能涵盖了RBAC的基础理论和实际操作步骤,是...
RBAC用户角色权限,RBAC用户角色权限设计方案