基于RBAC的工作流管理系统授权约束方法
- 格式:pdf
- 大小:253.89 KB
- 文档页数:3
RBAC的用户权限管理原理1 问题描述当我们谈到一个应用或者网站的时候,一般情况下是受不了用户的。
而每个用户能做的事情肯定是受到限制的,我们能让用户做的事情就放心交给用户,不能的我们就不会给这个机会。
这就要谈到用户权限的问题。
今天学习的内容就是RBAC的权限管理原理。
2 问题分析一个系统或者应用程序的使用者就有用户和管理员,用户也会有不同的等级或者说不同的用户也会有不同的权限。
我们就需要将用户能使用的权限授予给用户。
这样的目的是起到安全的作用,同时保证用户的体验,以及方便管理。
那么RBAC是如何管理权限的呢?3 解决方案RBAC全称为Role-Based Access Control,正文名字叫基于角色的访问控制,百度百科上说基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。
在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。
这就极大地简化了权限的管理。
在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。
角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。
角色与角色的关系可以建立起来以囊括更广泛的客观情况。
RBAC认为授权就是who、what、how的关系,就相当于说,一个人,扮演了什么角色,这个角色能做什么。
比如:我这个人,是一个学生,我可以考试。
RBAC将权限最小化,然后角色对应权限,用户对应角色。
简单的说就是讲角色和权限连在一起,扮演这个角色就会拥有这个权限,一个拥有多少权限就得看他扮演了多少角色。
当一个用户要执行某个操作的时候,我们直接就可以通过判断角色来判断用户是否拥有权限。
在RBAC中还有group和session的概念,这个概念就是讲拥有相同权限的角色分为一个group,儿sessein是将一个用户拥有的权限作为一个映射。
扩展RBAC用户角色权限设计方案RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。
简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。
这样,就构造成“用户-角色—权限”的授权模型。
在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。
(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体.例如:一个论坛系统,“超级管理员”、“版主”都是角色.版主可管理版内的帖子、可管理版内的用户等,这些是权限。
要给某个用户授予这些权限,不需要直接将权限授予用户,可将“版主”这个角色赋予该用户。
当用户的数量非常大时,要给系统每个用户逐一授权(授角色),是件非常烦琐的事情。
这时,就需要给用户分组,每个用户组内有多个用户。
除了可给用户授权外,还可以给用户组授权。
这样一来,用户拥有的所有权限,就是用户个人拥有的权限与该用户所在用户组拥有的权限之和。
(下图为用户组、用户与角色三者的关联关系)在应用系统中,权限表现成什么?对功能模块的操作,对上传文件的删改,菜单的访问,甚至页面上某个按钮、某个图片的可见性控制,都可属于权限的范畴。
有些权限设计,会把功能操作作为一类,而把文件、菜单、页面元素等作为另一类,这样构成“用户-角色-权限—资源”的授权模型.而在做数据表建模时,可把功能操作和资源统一管理,也就是都直接与权限表进行关联,这样可能更具便捷性和易扩展性。
(见下图)请留意权限表中有一列“权限类型”,我们根据它的取值来区分是哪一类权限,如“MENU”表示菜单的访问权限、“OPERATION”表示功能模块的操作权限、“FILE”表示文件的修改权限、“ELEMENT”表示页面元素的可见性控制等.这样设计的好处有二。
其一,不需要区分哪些是权限操作,哪些是资源,(实际上,有时候也不好区分,如菜单,把它理解为资源呢还是功能模块权限呢?)。
其二,方便扩展,当系统要对新的东西进行权限控制时,我只需要建立一个新的关联表“权限XX关联表”,并确定这类权限的权限类型字符串.这里要注意的是,权限表与权限菜单关联表、权限菜单关联表与菜单表都是一对一的关系.(文件、页面权限点、功能操作等同理).也就是每添加一个菜单,就得同时往这三个表中各插入一条记录。
扩展RBAC用户角色权限设计方案RBAC(Role—Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。
这样,就构造成“用户-角色-权限"的授权模型.在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。
(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。
例如:一个论坛系统,“超级管理员"、“版主”都是角色。
版主可管理版内的帖子、可管理版内的用户等,这些是权限.要给某个用户授予这些权限,不需要直接将权限授予用户,可将“版主"这个角色赋予该用户。
当用户的数量非常大时,要给系统每个用户逐一授权(授角色),是件非常烦琐的事情。
这时,就需要给用户分组,每个用户组内有多个用户。
除了可给用户授权外,还可以给用户组授权。
这样一来,用户拥有的所有权限,就是用户个人拥有的权限与该用户所在用户组拥有的权限之和。
(下图为用户组、用户与角色三者的关联关系)在应用系统中,权限表现成什么?对功能模块的操作,对上传文件的删改,菜单的访问,甚至页面上某个按钮、某个图片的可见性控制,都可属于权限的范畴。
有些权限设计,会把功能操作作为一类,而把文件、菜单、页面元素等作为另一类,这样构成“用户—角色-权限—资源”的授权模型.而在做数据表建模时,可把功能操作和资源统一管理,也就是都直接与权限表进行关联,这样可能更具便捷性和易扩展性。
(见下图)请留意权限表中有一列“权限类型",我们根据它的取值来区分是哪一类权限,如“MENU”表示菜单的访问权限、“OPERATION”表示功能模块的操作权限、“FILE”表示文件的修改权限、“ELEMENT”表示页面元素的可见性控制等。
这样设计的好处有二.其一,不需要区分哪些是权限操作,哪些是资源,(实际上,有时候也不好区分,如菜单,把它理解为资源呢还是功能模块权限呢?)。
扩展RBAC用户角色权限设计方案RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。
简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。
这样,就构造成“用户-角色-权限”的授权模型。
在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。
(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。
例如:一个论坛系统,“超级管理员”、“版主”都是角色。
版主可管理版内的帖子、可管理版内的用户等,这些是权限。
要给某个用户授予这些权限,不需要直接将权限授予用户,可将“版主”这个角色赋予该用户。
当用户的数量非常大时,要给系统每个用户逐一授权(授角色),是件非常烦琐的事情。
这时,就需要给用户分组,每个用户组内有多个用户。
除了可给用户授权外,还可以给用户组授权。
这样一来,用户拥有的所有权限,就是用户个人拥有的权限与该用户所在用户组拥有的权限之和。
(下图为用户组、用户与角色三者的关联关系)在应用系统中,权限表现成什么?对功能模块的操作,对上传文件的删改,菜单的访问,甚至页面上某个按钮、某个图片的可见性控制,都可属于权限的范畴。
有些权限设计,会把功能操作作为一类,而把文件、菜单、页面元素等作为另一类,这样构成“用户-角色-权限-资源”的授权模型。
而在做数据表建模时,可把功能操作和资源统一管理,也就是都直接与权限表进行关联,这样可能更具便捷性和易扩展性。
(见下图)请留意权限表中有一列“权限类型”,我们根据它的取值来区分是哪一类权限,如“MENU”表示菜单的访问权限、“OPERATION”表示功能模块的操作权限、“FILE”表示文件的修改权限、“ELEMENT”表示页面元素的可见性控制等。
这样设计的好处有二。
其一,不需要区分哪些是权限操作,哪些是资源,(实际上,有时候也不好区分,如菜单,把它理解为资源呢还是功能模块权限呢?)。
其二,方便扩展,当系统要对新的东西进行权限控制时,我只需要建立一个新的关联表“权限XX关联表”,并确定这类权限的权限类型字符串。
教务管理系统中基于RBAC的权限管理方案
熊国华;李振坤
【期刊名称】《计算机安全》
【年(卷),期】2007(000)007
【摘要】该文分析了传统教务管理系统中权限管理存在的不足,将基于RBAC的权限管理的基本思想引入到系统的权限管理中,提出了一种改进的RBAC权限管理模型,该模型通过加入用户组和系统功能项机制,不仅减少了用户角色分配的工作量,同时也增强了对数据库访问的安全性.该方案已在实际教务系统中加以应用,取得了良好的效果.
【总页数】3页(P56-58)
【作者】熊国华;李振坤
【作者单位】广东工业大学,计算机学院,计算机工程研发中心,广东,广州,510006;广东工业大学,计算机学院,计算机工程研发中心,广东,广州,510006
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于RBAC的权限管理在切削数据库中的应用 [J], 孟德浩;王杰;徐鹏;付先武
2.基于RBAC权限管理在生产管理系统中的应用与实现 [J], 张少应;燕敏
3.RBAC权限管理在教务管理系统中的应用与实现 [J], 鞠宏军;杜丽娟
4.基于RBAC的权限管理在地震数据共享平台系统中的设计与实现 [J], 张鑫; 杨振中; 刘帅; 黄猛
5.基于RBAC的权限管理在地震数据共享平台系统中的设计与实现 [J], 张鑫; 杨振中; 刘帅; 黄猛
因版权原因,仅展示原文概要,查看原文内容请购买。
B端权限规则模型:RBAC模型导读:B端项目上,需要设计实现一个权限管理模块,就要知道到一个很重要的RBAC模型,所以整理总结了RBAC的一些知识。
目前,使用最普遍的权限管理模型正是RBAC(Role-Based Access Control)模型,这篇文章主要是介绍基于RBAC 的权限管理系统,将会从RBAC是什么、如何设计RBAC两部分来介绍。
一、RBAC模型是什么?1. RBAC模型概述RBAC模型(Role-Based Access Control:基于角色的访问控制)模型是20世纪90年代研究出来的一种新模型,但其实在20世纪70年代的多用户计算时期,这种思想就已经被提出来,直到20世纪90年代中后期,RBAC才在研究团体中得到一些重视,并先后提出了许多类型的RBAC模型。
其中以美国George Mason大学信息安全技术实验室(LIST)提出的RBAC96模型最具有代表,并得到了普遍的公认。
RBAC认为权限授权的过程可以抽象地概括为:Who是否可以对What进行How 的访问操作,并对这个逻辑表达式进行判断是否为True的求解过程,也即是将权限问题转换为What、How的问题,Who、What、How构成了访问权限三元组,具体的理论可以去调查RBAC96的研究文件,这里就不做详细的展开介绍,让大家有个了解和即可。
2. RBAC的组成在RBAC模型里面,有3个基础组成部分,分别是:用户、角色和权限。
RBAC通过定义角色的权限,并对用户授予某个角色从而来控制用户的权限,实现了用户和权限的逻辑分离(区别于ACL模型),极大地方便了权限的管理。
下面在讲解之前,先介绍一些名词:User(用户):每个用户都有唯一的UID识别,并被授予不同的角色Role(角色):不同角色具有不同的权限Permission(权限):访问权限用户-角色映射:用户和角色之间的映射关系角色-权限映射:角色和权限之间的映射它们之间的关系如下图所示:例如下图,管理员和普通用户被授予不同的权限,普通用户只能去修改和查看个人信息,而不能创建创建用户和冻结用户,而管理员由于被授予所有权限,所以可以做所有操作。
基于RBAC的权限设计模型权限分析文档基于RBAC的权限设计模型:1RBAC介绍RBAC模型作为目前最为广泛接受的权限模型。
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 RBAC 0模型RBAC0定义了能构成一个RBAC控制系统的最小的元素集合在RBAC之中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。
会话sessions是用户与激活的角色集合之间的映射。
RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的扩展。
l RBAC1引入角色间的继承关系角色间的继承关系可分为一般继承关系和受限继承关系。
一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。
而受限继承关系则进一步要求角色继承关系是一个树结构。
l RBAC2模型中添加了责任分离关系RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。
责任分离包括静态责任分离和动态责任分离。
约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可。
l RBAC3包含了RBAC1和RBAC2既提供了角色间的继承关系,又提供了责任分离关系。
rbac原理讲解一个权限可2 NIST标准NIST(The National Institute of Standards and Technology,美国国家标准与技术研究院)标准RBAC模型由4个部件模型组成:1.基本模型RBAC0(Core RBAC)2.角色分级模型RBAC1(Hierarchal RBAC)3.角色限制模型RBAC2(Constraint RBAC)4.统一模型RBAC3(Combines RBAC)1. 基本模型RBAC0RBAC0定义了能构成一个RBAC 控制系统的最小的元素集合。
在RBAC 之中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)五个基本数据元素,此模型指明用户、角色、访问权限和会话之间的关系。
每个角色至少具备一个权限,每个用户至少扮演一个角色;可以对两个完全不同的角色分配完全相同的访问权限;会话由用户控制,一个用户可以创建会话并激活多个用户角色,从而获取相应的访问权限,用户可以在会话中更改激活角色,并且用户可以主动结束一个会话。
2.角色分级模型RBAC1RBAC1引入角色间的继承关系,角色间的继承关系可分为一般继承关系和受限继承关系。
一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。
而受限继承关系则进一步要求角色继承关系是一个树结构,实现角色间的单继承。
3. 角色限制模型RBAC2RBAC2模型中添加了责任分离关系。
RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。
责任分离包括静态责任分离和动态责任分离。
约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可,此约束有多种,主要包括:互斥角色:同一用户只能分配到一组互斥角色集合中至多一个角色,支持责任分离的原则。
基于e-CARGO模型的RBAC授权管理研究开题报告一、选题背景随着信息化时代的到来,企业内部对于数据的管理和安全保障变得越来越重要。
其中,企业内部的权限管理是至关重要的一环,它可以保障企业数据的安全、合规、隐私等方面的问题。
而基于RBAC(Role-Based Access Control,基于角色的访问控制)的授权管理系统是一种比较常见的权限管理模式。
在RBAC模型中,管理员需要先创建相应的角色,然后再将该角色赋予相应的权限。
当用户需要访问某些资源的时候,只需要将相应的角色授权给该用户即可,而无需对每个用户单独进行权限的设置。
基于RBAC模型的授权管理系统不仅可以提高工作效率,还可以有效地保障企业数据的安全和隐私。
然而,在RBAC模型中,管理员需要手动创建角色和权限,然后再将角色赋予相应的用户,这一过程比较繁琐。
而e-CARGO模型则是基于RBAC模型的扩展,可以自动分析用户的权限需求,生成相应的角色和权限,并自动授权给用户。
这种模型相比于传统的RBAC模型,具有更高的效率和准确性。
二、研究内容本次研究的主要内容是基于e-CARGO模型的RBAC授权管理系统的设计与实现,包括以下几个方面:1. 系统架构设计根据e-CARGO模型的特点,设计授权管理系统的架构,包括前端、后端和数据库三个层次。
前端主要负责用户界面的设计和交互功能的实现,后端主要负责业务逻辑的实现,而数据库则负责数据的存储和管理。
2. 系统功能实现在系统设计完成后,需要实现相应的系统功能。
其中,包括用户管理、角色管理、权限管理、资源管理等功能。
在e-CARGO模型中,需要加入根据用户历史行为自动生成角色和权限的功能,可以借助机器学习等技术实现。
3. 系统性能优化为了提高系统的性能和稳定性,需要对系统进行优化。
其中,主要包括数据库的优化、前端交互体验优化、系统错误处理优化等方面。
三、研究意义本次研究的主要意义在于:1. 探究基于e-CARGO模型的RBAC授权管理系统的设计与实现方法,对于企业内部的权限管理具有一定的借鉴意义。