RBAC介绍
2015-04-25 14:20
477 查看
RBAC)。其中,自主式太弱,强制式太强,二者工作量大,不便于管理。基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。其显著的两大特征是:1.减小授权管理的复杂性,降低管理开销;2.灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。对角色授权即基于角色的访问控制(RBAC)。
(The National Institute of Standards and Technology,美国国家标准与技术研究院)标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC)。
RBAC0
定义了能构成一个RBAC控制系统的最小的元素集合。在RBAC之中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。会话sessions是用户与激活的角色集合之间的映射。RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的扩展。RBAC0的模型如下图:
RBAC1
RBAC1引入角色间的继承关系,角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构。角色继承时继承角色的所有操作权限。RBAC1模型如下图:
RBAC2
模型中添加了责任分离关系。RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。责任分离包括静态责任分离和动态责任分离。约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可。 RBAC2模型如下图:
RBAC3
包含了RBAC1和RBAC2,既提供了角色间的继承关系,有提供了责任分离关系。RBAC3模型如下图:
一种对RBAC改进的访问控制权限模型:
RBAC) 是目前公认的解决大型企业的统一资源访问控制的有效方法。然而某些情况下需要对某个用户授予特殊的权限时,RBAC就显得有些不够灵活,如果授予用户所拥有的某种角色,则拥有该角色的所有用户都会拥有该权限或被授予角色的用户会拥有该角色的所有权限,显然这不符合需求,如果为了实现这一需求而单独创建一个角色又显得不合常理,因此,改进的访问控制模型综合了RBAC的理论,结合企业需要单独对用户授予权限的需要,设计了既可对角色授权又可对用户单独授权的访问控制模型如下图:
用户角色优先级:是指当给一个用户赋予多个角色时,角色之间有冲突的权限处理,高优先级的角色权限覆盖低优先级的角色权限,如一个员工既是系统管理员,又是研发人员,则对于系统管理的权限,系统管理员角色的权限覆盖研发人员角色权限。
这种既可以对角色授权,又可以对用户授权的模型中,如果用户和角色之间的权限冲突时,也需要制定权限优先级。
(The National Institute of Standards and Technology,美国国家标准与技术研究院)标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0(Core RBAC)、角色分级模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC)。
RBAC0
定义了能构成一个RBAC控制系统的最小的元素集合。在RBAC之中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)五个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。会话sessions是用户与激活的角色集合之间的映射。RBAC0与传统访问控制的差别在于增加一层间接性带来了灵活性,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的扩展。RBAC0的模型如下图:
RBAC1
RBAC1引入角色间的继承关系,角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系仅要求角色继承关系是一个绝对偏序关系,允许角色间的多继承。而受限继承关系则进一步要求角色继承关系是一个树结构。角色继承时继承角色的所有操作权限。RBAC1模型如下图:
RBAC2
模型中添加了责任分离关系。RBAC2的约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。责任分离包括静态责任分离和动态责任分离。约束与用户-角色-权限关系一起决定了RBAC2模型中用户的访问许可。 RBAC2模型如下图:
RBAC3
包含了RBAC1和RBAC2,既提供了角色间的继承关系,有提供了责任分离关系。RBAC3模型如下图:
一种对RBAC改进的访问控制权限模型:
RBAC) 是目前公认的解决大型企业的统一资源访问控制的有效方法。然而某些情况下需要对某个用户授予特殊的权限时,RBAC就显得有些不够灵活,如果授予用户所拥有的某种角色,则拥有该角色的所有用户都会拥有该权限或被授予角色的用户会拥有该角色的所有权限,显然这不符合需求,如果为了实现这一需求而单独创建一个角色又显得不合常理,因此,改进的访问控制模型综合了RBAC的理论,结合企业需要单独对用户授予权限的需要,设计了既可对角色授权又可对用户单独授权的访问控制模型如下图:
用户角色优先级:是指当给一个用户赋予多个角色时,角色之间有冲突的权限处理,高优先级的角色权限覆盖低优先级的角色权限,如一个员工既是系统管理员,又是研发人员,则对于系统管理的权限,系统管理员角色的权限覆盖研发人员角色权限。
这种既可以对角色授权,又可以对用户授权的模型中,如果用户和角色之间的权限冲突时,也需要制定权限优先级。
相关文章推荐
- 主页木马的制作方法
- 解密网页加密的两个方法
- 定义标题的最好方法
- Ruby简明教程之方法(Method)介绍
- Ruby基础知识之方法、代码段
- C#获取文件夹及文件的大小与占用空间的方法
- Delphi控件ListView的属性及使用方法详解
- VB6实现连接Access数据库的ADODB代码实现方法
- MySQL重定位数据目录的方法
- PowerShell中Get-Date对象的常用属性和方法介绍
- 在Linux上运行C#的方法
- C#实现绘制面形图表的方法详解
- ruby 流程控制 方法
- CSS清除浮动常用方法小结
- C#实现把dgv里的数据完整的复制到一张内存表的方法
- Oracle中插入特殊字符:&和'的解决方法汇总
- C#获取字符串后几位数的方法
- javascript下拉框不被选中大类的区别方法
- MySQL数据库安全之防止撰改的方法
- VC实现批量删除指定文件的方法