RBAC(Role-Based Access Control),基于角色的权限访问控制。

RBAC支持公认的安全原则:最小特权原则、责任分离原则和数据抽象原则。

最小特权原则得到支持,是因为在RBAC模型中可以通过限制分配给角色权限的多少和大小来实现,分配给与某用户对应的角色的权限只要不超过该用户完成其任务的需要就可以了。

责任分离原则的实现,是因为在RBAC模型中可以通过在完成敏感任务过程中分配两个责任上互相约束的两个角色来实现,例如在清查账目时,只需要设置财务管理员和会计两个角色参加就可以了。

数据抽象原则是借助于抽象许可权这样的概念实现的,如在账目管理活动中,可以使用信用、借方等抽象许可权,而不是使用操作系统提供的读、写、执行等具体的许可权。但RBAC并不强迫实现这些原则,安全管理员可以允许配置RBAC模型使它不支持这些原则。因此,RBAC支持数据抽象的程度与RBAC模型的实现细节有关。

RBAC模型分为4种:

RBAC0:最基本的用户-角色-权限模型

一般情况下,用户与角色,角色与权限都是多对多关系,即一个用户可以对应多个角色,一个角色可以分配给多个用户,一个角色具有多个权限。

RBAC1:在RBAC0的基础上加入了子角色,引入了继承,子角色可以继承父角色的所有权限。

RBAC2:增加了对角色的一些限制:

角色互斥:不能为同一用户分配两个互斥的角色;

基数约束:某一角色对应的用户数量受限,分配得到该角色的用户数不能超过某个特定值,比如公司的副总不能超过多少人;

先决条件角色:要想获得高级别权限,首先得拥有低级别的权限;

运行时互斥:一个用户具有多个角色时,某些角色不可在运行过程中同时激活。

RBAC3:包含了RBAC1和RBAC2,综合了RBAC0、RBAC1、RBAC2的特点。

一个系统的权限大概可分为这几种:

功能权限:指系统的模块、页面、按钮、文本、元素等根据用户所具有的权限决定是否进行显示。

数据权限:指在页面中要显示的数据,针对不同用户显示的数据不同,比如公司的不同部门所能查看的文件列表不同。

操作权限:用户在系统中进行的所有动作、交互。

关于用户组:用户组是在用户量增多,权限维护较为繁琐时加入的概念。在系统中,可以为角色分配权限,再对具体的用户划分角色。也可以将具有同样权限的用户分配到同一用户组中,再对用户组所具有的权限进行统一维护,这样大大减少了权限维护人员的操作,比如按组织机构对应的部门来划分用户组,一个员工从A部门转到B部门,此时只需要将该员工的用户组从A变成B就完成了。

权限限制:下级角色的权限只能从上级角色的权限中进行配置,不能超过上级权限。

在建立角色的时候为角色分配权限,在建立用户的同时为用户分配角色;

在建立用户组的时候为用户组配置权限,再为用户组添加用户。

RBAC权限模型学习总结相关推荐

  1. RBAC权限模型及数据权限扩展的实践

    原文:RBAC权限模型及数据权限扩展的实践 话说大家对RBAC权限模型应该是耳熟能详了.但真正用的好的并不多.并且原始的RBAC模型并不包括数据权限的管理,网上也差点儿没有相关的文章可以參考.本人经过 ...

  2. RBAC权限模型详解

    RBAC模型概述 RBAC模型(Role-Based Access Control:基于角色的访问控制)模型是20世纪90年代研究出来的一种新模型,但其实在20世纪70年代的多用户计算时期,这种思想就 ...

  3. rbac java_RBAC:权限模型的初步理解

    近来部门接到一个外包项目,是基于现有的系统做一个知识文档库,类似于百度网盘一样的功能,只是在角色和权限上与网盘不同,这个项目我们部门称为KM,Knowledge Manager ,难点就在于文件的权限 ...

  4. 尚筹网 —— 4、[知识] RBAC 权限控制模型 和 Ajax请求

    目录 1.简介 1.1.为什么要进行权限控制? 1.2.什么是权限控制 1.3.如何进行权限控制 1.3.1.定义资源 1.3.2.创建权限 1.3.3.创建角色 1.3.4.管理用户 1.3.5.建 ...

  5. RBAC权限实战项目-佟刚-专题视频课程

    RBAC权限实战项目-346人已学习 课程介绍         本视频讲授RBAC权限模型的设计.以及在项目中的应用 . 1. 使用Maven进行项目构建 . 2. 页面设计采用响应式前端框架Boot ...

  6. 软件开发的权限系统功能模块设计,分享主流的九种常见权限模型

    软件系统的权限控制几乎是非常常见且必备的,这篇文章整理下常见的九种模型,几乎基本够你用了,主流的权限模型主要有以下9种: 1.ACL模型 访问控制列表 2.DAC模型 自主访问控制 3.MAC模型 强 ...

  7. RBAC权限管理总结

    2019独角兽企业重金招聘Python工程师标准>>> 一.简介 角色访问控制(RBAC) 引入了Role的概念,目的是为了隔离User(即动作主体,Subject)与Privile ...

  8. RBAC 权限设计(转载)

    来源 :https://blog.csdn.net/rocher88/article/details/43190743 这是我在网上找的一些设计比较好的RBAC权限管理 不知道,像新浪.搜狐.网易.百 ...

  9. RBAC权限模型库表设计

    本文来说下RBAC权限模型的库表应该如何来设计 文章目录 概述 概述

最新文章

  1. Kotlin for Android
  2. mac地址修改_优酷路由宝救砖时MAC和无线参数及SN恢复方法
  3. MySQL:从B树到B+树到索引再到存储引擎
  4. 云时代架构阅读笔记十五——架构设计思维(一)
  5. C语言试题十九之根据以下公式求p的值,结果由函数值带回。M与n为两个正整数,且要求m>n。 p=m!/n!(m-n)!
  6. java两个字符串前缀_java – 找到两个字符串的最长公共前缀
  7. 产品经理是个实战类科目
  8. 2019年容器突然火了,到底什么是容器?!
  9. android中如何通过代码检测是否有root权限?
  10. 简书红米MIUI-7.5兼容性缺陷:长按文字时弹出的复制粘贴菜单缺少背景色
  11. uartz Spring与Spring Task总结
  12. 关于http-server的备选方案-- browser-sync
  13. Java通过银行卡号获取卡属银行(含校验)
  14. 火星时代室内效果图风暴10CD B
  15. oracle cdb能存数据嘛,ORACLE 12C 非CDB迁移CDB之克隆非CDB数据库
  16. 超实用!!MySQL数据库——Amoeba读写分离
  17. hive打patch流程说明
  18. 阿里云免费服务器测试题答案
  19. robo3T-操作MongoDB数据库常用命令
  20. TLC2543驱动程序

热门文章

  1. 关于定时器setTimeout与setInterval的定时与关闭操作
  2. 如何隐藏控制台程序的窗口
  3. 油漆算法问题_不同类型的油漆(以及何时使用它们)
  4. DNS劫持,HTTP劫持、HTTPS劫持【流量劫持】
  5. POJ1008 玛雅历
  6. 毕设 JAVA.JSP二手车交易系统论文
  7. python自动化ppt_老男孩Python自动化开发12期完整精华版(含作业代码课件)
  8. ubuntu 网卡流量_详解Linux查看实时网卡流量的几种方式
  9. 关于CAJViewer阅读器如何修改做标记的颜色?
  10. Microsoft Outlook 2019 for mac(电子邮件和日历工具)