RBAC 模型是什么?

美国国家标准与技术研究院(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)
RBAC 授权的过程可以抽象概括为:判断 Who 是否可以对 What 进行 How 的访问操作,以及这个逻辑表达式的值是否为 True 的计算过程。
Who、What、How 构成了访问权限三元组,Who 是权限的拥有者或主体(User、Role),What 是资源(Resource),How 是具体的权限。
RBAC 模型有什么特点?
RBAC 授权模型,最根本的初衷是简化权限管理,后来被越来越多的企业应用到了员工授权资源管理系统中。
随着用户的规模和复杂性增加,角色会变得非常有用。比如,将特定角色添加到特定组织成员中,并允许组织成员访问特定的程序。这在支持多租户和 SaaS 产品时特别有用,其中特定用户可能在一个组织中拥有特权角色,但在其他组织中没有。

RBAC 模型的优势:

减少授权管理的复杂性,降低管理成本;创建系统的、可重复的权限分配;轻松审核用户权限并纠正已发现的问题;快速更改角色,以及跨 API 实施角色;减少分配用户权限时出错的可能性;灵活地支持企业的安全策略,并且有很大的伸缩性;RBAC 适用于多对多的映射关系。

RBAC 模型的缺点:

RBAC模型没有提供操作顺序控制机制。这一缺陷使得 RBAC 模型很难应用于那些要求有严格操作次序的实体系统。
例如,公司采购流程就没有办法用 RBAC 模型授权控制采购过程中每一个流程中应该怎么样授权。
基本模型 RBAC0
RBAC0 是最基础也是最核心的模型,由五部分组成:用户(User)、角色(Role)、许可(Permission)、会话(Session)、操作(operations OPS)。

角色通过许可被授权资源,角色又授权到用户身上,通过会话管理用户和角色的授权关系,用户就继承了角色的访问资源权限。

例如:张三是一家企业的财务总监,同时他也是该企业对外的形象大使,财务总监有访问公司财务数据的权限,形象大使有访问公司市场部推
广计划和编辑发言稿的权限。那么张三既有访问公司财务数据的权限,又有访问公司市场部推广计划和编辑发言稿的权限。突然有一天公司决
定做职位调整,张三被任命为财务总监和人力资源总监,撤掉了形象大使。那么张三当前就只能访问财务总监和人力资源总监所对应的授权资
源。

角色分层模型 RBAC1

该模型主要是在 RBAC0 的基础上,增加了角色层级关系的继承逻辑,也就是说角色有了组织树的逻辑。

角色有了上下级关系,上一级的角色可以继承其下所有角色的授权资源。

例如:张三是一家企业的财务总监,同时他也是该企业对外的形象大使,财务总监有访问公司财务数据的权限,形象大使有访问公司市场部推广计划和编辑发言稿的权限。那么他的上级领导,比如是该公司的 CFO,既有访问公司财务数据的权限,又有访问公司市场部推广计划和编辑发言稿的权限。这是继承关系。

角色限制模型 RBAC2

该模型主要添加了授权约束。约束规定了权限被赋予角色时,或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。
责任分离包括:静态责任分离(SSD)和动态责任分离(DSD)。

SSD 是用户和角色的指派阶段加入的,主要是对用户和角色有如下约束:

互斥角色:同一个用户在两个互斥角色中只能选择一个。比如财务部有会计和审核员两个角色,他们是互斥角色,那么用户不能同时拥有这两个角色,体现了职责分离原则。基数约束:一个角色被分配的用户数量受限,一个用户可拥有的角色数目受限,同样一个角色对应的访问资源权限数目也受限,以控制高级权限在系统中的分配。比如李四是 COO,王五不能也是 COO。同样的李四不能既是 COO 又是 CTO 又是 CFO。COO 、CTO、 CFO 三个角色所能访问的资源权限也不能是一模一样的。先决条件约束:用户想要获得高级角色,首先必须拥有低级角色。

DSD 是会话和角色之间的约束,可以动态的约束用户拥有的角色。

如一个用户可以拥有两个角色,但是运行时只能激活一个角色。如一个人如果既是运动员又是教练,当比赛开始的时候,只能选择一个角色身份入场。

统一模型 RBAC3

RBAC3 是 RBAC1 与 RBAC2 的合集,所以 RBAC3 是既有角色分层又有约束的一种综合授权模型。

RBAC 模型是什么?相关推荐

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

    1 RBAC模型        访问控制是针对越权使用资源的防御措施.基本目标是为了限制访问主体(用户.进程.服务等)对访问客体(文件.系统等)的访问权限,从而使计算机系统在合法范围内使用:决定用户能 ...

  2. RBAC模型:设计思路

    RBAC模型 什么是RBAC RBAC(全称:Role-Based Access Control)基于角色的权限访问控制,作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在RBAC ...

  3. 参数化的RBAC模型

    1 动机 基于角色的访问控制(RBAC)模型被普遍认为是一种有效的访问控制模型,它比传统的自主访问控制(DAC)和强制访问控制(MAC)具有更高的灵活性和更好的扩展性. 在实际应用中,随着企业规模以及 ...

  4. 基于RBAC模型的通用企业权限管理系统

    1. 为什么我们需要基于RBAC模型的通用企业权限管理系统 管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全威胁.构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的.权限 ...

  5. 会话管理 轻量php框架_SpringSecurity+JWT权限管理训练营-1基于RBAC模型的权限管理系统...

    1.什么是权限管理系统? 权限管理是一个几乎所有后台系统的都会涉及的一个重要组成部分,可以说是后台项目的基本功,主要目的是对整个后台管理系统进行权限的控制,而针对的对象是员工,避免因权限控制缺失或操作 ...

  6. mysql 树形结构_结合RBAC模型讲解权限管理系统需求及表结构创建

    结合RBAC模型讲解权限管理系统需求及表结构创建 在本号之前的文章中,已经为大家介绍了很多关于Spring Security的使用方法,也介绍了RBAC的基于角色权限控制模型.但是很多朋友虽然已经理解 ...

  7. 权限系统设计方案 RBAC模型

    文章目录 1.权限模型 1.1 权限设计 1.2 为什么需要角色 1.3 权限模型的演进 1.3.1 RBAC模型 1.3.2 角色继承的RBAC模型 1.3.3 带约束的RBAC模型 1.4 用户划 ...

  8. 权限管理——RBAC模型总结

    权限管理,这是每个软件系统都会涉及到的,而且权限管理的需求本质往往都是一样,无在乎怎么的角色拥有怎样的权限,只要你充当了这个角色,你就拥有了这些功能. 举个简单例子:一个老师在学校教室她就拥有教书育人 ...

  9. gin框架学习-Casbin入门指南(ACL、RBAC、域内RBAC模型)

    目录 前言 一.Casbin概述 二.Casbin工作原理 三.Model语法 1.Request定义 2.Policy定义 3.Matcher定义 4.Policy effect定义 1)some( ...

  10. 权限系统设计及RBAC模型

    概述 对于一个企业级的平台或系统或站点,权限模块或系统是必不可少的.权限管控,即权力限制,不同的人由于拥有不同权力,他所看到的.能使用的东西不一样.对应到一个应用系统,其实就是一个用户可能拥有不同的数 ...

最新文章

  1. Timer 和TimerTask 的定时任务入门
  2. Linux route命令详解和使用示例(查看和操作IP路由表)
  3. 另外五个 PHP 设计模式
  4. 题目:社区人员登记管理系统(有源码链接免费下载)
  5. 安卓下使用GET方式向服务器端提交数据
  6. 从头搭建drbd+openfiler+corosync (二)
  7. OpenCV-尺寸调整cv::resize
  8. Python基础-佛祖镇楼
  9. 如何一步步学习到精通JavaScript
  10. 熟悉matlab工作环境实验报告,MATLAB上机实验实验报告
  11. android ps1 变量配置,安卓ps模拟器ePSXe使用图文教程
  12. 对于上海交通大学网络安全专业21考研823的一些总结以及22考研专业课如何准备的想法
  13. 国内外各大搜索引擎登录入口
  14. bingo update1
  15. vba操作ie关闭窗口
  16. 关于Hibernate中调用集合类时出现的 the owning Session was closed 错误解决方案
  17. Python同过百度翻译制作翻译程序
  18. 极验3forbidden,易盾d包
  19. 轩逸酷我音乐显示服务器错误,第14代轩逸车机系统体验:基本满足日常需求 随车流量模糊不清...
  20. 大聪明教你学Java | 深入浅出聊乐观锁与悲观锁(synchronized 悲观锁)

热门文章

  1. 升级 ArcGIS Server 9.2 sp3 补丁
  2. MTK手机充电原理分析及问题总结
  3. 2008中国优秀无线互联网站点50强
  4. Html光标跟随粒子特效
  5. 有什么软件可以测试U盘性能,最新版本:U盘性能检查测试软件简介
  6. SQL Server 2000安装教程
  7. SQL Server2000安装sp4补丁中的错误与破解
  8. C++描述 LeetCode 480. 滑动窗口中位数
  9. 河南高二计算机会考excel,(完整版)高中信息技术学业水平考试Word、Excel操作题考点总结...
  10. winform 企业ERP管理系统源码 c# C/S