RBAC图形化编辑器
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
RBAC标准模型
2.1.1 RBAC的基本概念
内核
RBAC内核包含了RBAC最重要的方面。RBAC最基本的概念是分配给角色的用户,分配给角色的权限,用户通过成为角色成员获得权限。RBAC内核中,用户与角色、权限与角色的映射关系是多对多的映射关系。就是说同样的用户可以分配许多角色,并且单一的角色可以有很多用户,同样的,对权限来说,同一个权限可以分配给许多角色,单一的角色可以赋予很多权限。RBAC内核还包含用户被指派相关角色过程的检查,即我们凭什么决定将角色赋予一个指定的用户或者将用户被指派给特定的角色。类似的对于角色被赋予相关权限的检查同样作为一个高级检查功能。RBAC内核包括用户会话的概念,即允许角色的激活和撤销激活,最后,RBAC内核还包括用户可以同时操作不同角色的权限。这就排除了对于用户只能在同一时间激活成一个角色的限制。
RBAC内核抓住了操作系统一直以来执行的基于组的访问控制的典型特点,现在己经成为了常见的一种技术,RBAC内核的这些特性对于任何形式的RBAC都可以揭示其本质。RBAC内核主要定义了决定要排除的特性,这个建议标准定义了RBAC内核的一个最小特性集。尤其这些特性适合于传统的基于组的访问控制。不是每一种基于用户组的访问控制机制都适于放在内核中,对于RBAC内核来说忽略了角色被赋予相关权限的检查,尽管这个检查很重要,但是对于很多被广泛接受的RBAC系统来说都不提供这个特性。对于用户被指派并且同时可以被激活成多个角色的要求适合于我们有很多种变化大的角色,成千上百个,可能不适合于很少的角色,因此毫不置疑被认为对一个核心模型来说是这个要求太高了。 think58
定义核心模型的目的就是希望在标准化发展过程中定义一个比较精简的内核模型。 think58好,好think58 [资料来源:THINK58.com]
等级
RBAC等级要求支持角色等级。等级定义了角色之间的资历关系,在数学上是一种偏序关系,上级角色可以获得他们的下级角色的权限, 下级角色获得上级角色的成员资格,这个标准认可两种类型的角色等级
RBAC等级分为以下两种情况:
(1) 一般的等级RBAC,在这种情况下,支持任意一种角色层次的偏序关系,包括权限和用户资格的多继承。
(2) 受限制的等级RBAC。一些系统会在角色层次上强加一些限制条件,一般情况下,级别层次会被限制成树型结构或者倒叉树的结构。
角色之间通常会有重叠,即属于不同角色的用户可能被赋予相同的权限。并且,在许多组织中,有大量的通用的权限被许多用户使用,为了提高效率和支撑组织结构,RBAC明显包括了角色等级的概念,RBAC等级是除了RBAC内核之外的最重要的特性。
静态职责分离一用于解决利益冲突的一种强制措施,在基于角色的系统中,利益冲突表现为一个用户获得了两个相互冲突的角色的权限。一种阻止这种利益冲突的的办法是静态职责分离,就是说对于用户被指派角色的过程强加约束条件。一个静态约束的例子就是两个互斥的角色。比如,一个角色是费用支出另一个是要监督这个费用支出的,组织禁止同一个用户被赋予互斥的角色,SSD(Static Separation of Duty)策略可以在管理中心制定并统一实施,由于关于静态职责分离和角色继承关系上的潜在矛盾,不论角色层次存不存在,我们认为静态职责分离策略是必须的。
think58.com [资料来源:www.THINK58.com]
SSD-静态职责分离
根据静态职责分离的规则,一个用户一旦被指派某个角色那么就不会成为另外一个角色或更多的其他的角色。
角色层次存在时,派生的角色同样也要考虑执行这个限制条件。
可以用(角色集,n)来描述SSD规则,即用户不能分配在这个定义的角色集超过n个以上的角色,例如,一个用户不能在指定的角色集里面赋予全部角色,而这种强加的特性限制用户不能同时分配两个或多个 角色。
DSD(Dynamic Separation of Duty)-动态职责分离,同SSD关系一 样,限制用户的操作权限,然而DSD不同于SSD,通过上下文来强加这 种限制,这种限制仅仅考虑用户被激活的角色之间的相互关系(即激基于角色的访问控制(RBAC)及应用研究活的角色是否相互互斥)
RBAC参考模型
NIST RBAC模型根据四个模型组件来定义的:RBAC内核,RBAC等级,静态职责分离和动态职责分离。RBAC内核定义了RBAC元素的最小集合,包括元素集、关系,还包括用户与角色赋值关系、权限与角色赋值关系,除此之外,RBAC内核引入了角色激活的概念,RBAC内核是在任何RBAC系统中需要的,但是其他的组件是各自独立的,并且可能独自实施。
RBAC等级组件支持角色层次。
RBAC等级定义数学上的偏序关系,角色间的角色资历关系,为什么上级角色可以获得下级角色的权限,下级角色可以获得上级角色的成员资格,除此之外,等级RBAC走出了简单的用户、权限同角色这种简单的赋值,引入了授权用户和权限的角色集概念。第三个模型组件,SSD,增加了关于用户分配角色的互斥关系,由于SSD关系和角色层次继承的潜在矛盾,SSD模型组件定义了角色等级存在和不存在时的角色互斥关系。第四个组件,DSD定义了用户对话中被激活的角色的互斥关系。
think58 [资料来源:http://www.THINK58.com]
每个模型组件包括下列子组件
(1) 基本元素组件
(2) 元素集之间的关系
(3) 功能表
重要的是要注意RBAC参考模型定义了RBAC特性的分类法,这些特可以组成很多的特性包,虽然试图定义RBAC特性的完整集合,但是模型关注的是提供标准术语定义许多显著的特性,表现在已有的模和已经实施的商业产品中。 think58.com
[资料来源:http://www.THINK58.com]
内核组件
RBAC核心的模型元素集以及相互关系如图2.1所示,包括五种纂本的数据:用户,角色,主体,操作,权限。RBAC核心包含了一系列的会话,会话是一种用户和激活的角色子集之间的映射。
用户的定义:是一个人,也可以拓展定义成机器、网络、聪明的代理,为简单起见,本文中的用户指人。
角色的定义:是一种组织中关于权利和职责的工作的功能,通过分配角色授予给用户。
权限的定义:一种RBAC保护下的客体的操作的认可。
操作的定义:一个程序可操作的反映。
这种RBAC控制的操作和客体根据系统要执行的类型而定。比如,一个文件系统,操作包括读、写、执行;在一个数据库管理系统中,操作包括插入、删除、添加、更新。
任何一种访问控制机制的目的是为保护系统资源。然而,为了将RBAC用到计算机系统中,我们将资源称为保护客体。为了和早期的访问控制系统模型兼容,一个客体是一个包含或接收信息的实体,为实现RBAC系统,客体可以代表信息容器比如,操作系统中的文件和目录,数据库系统中的列、行、表以及示图,客体可以代表可以耗尽的系统资源,包括打印机、硬盘、CPU时钟周期。
RBAC的重点是角色关系,图2-1描述了用户赋值和权限赋值之间的关系。这个箭头表示一个多对多关系,一个用户可以赋给一个或多个角色,一个角色可以赋给一个或多个用户,这种安排提供了为权限到角色的分配和用户到角色的分配中提供了灵活性和粒度。 内容来自think58 [版权所有:http://think58.com]
[资料来源:http://www.THINK58.com]