RBAC模型概述

RBAC模型(Role-Based Access Control:基于角色的访问控制)模型是20世纪90年代研究出来的一种新模型,但其实在20世纪70年代的多用户计算时期,这种思想就已经被提出来,直到20世纪90年代中后期,RBAC才在研究团体中得到一些重视,并先后提出了许多类型的RBAC模型。

RBAC模型组成

在RBAC模型里面,有3个基础组成部分,分别是:用户、角色和权限(资源、菜单)。

RBAC通过定义角色的权限(资源、菜单),并对用户授予某个角色从而来控制用户的权限(资源、菜单),实现了用户和权限(资源、菜单)的逻辑分离,极大地方便了权限(资源、菜单)的管理。

他们三者的关系,如下

RBAC支持的安全原则

RBAC支持三个著名的安全原则:最小权限原则、责任分离原则和数据抽象原则

  • 最小权限原则:RBAC可以将角色配置成其完成任务所需的最小权限集合
  • 责任分离原则:可以通过调用相互独立互斥的角色来共同完成敏感的任务,例如要求一个计账员和财务管理员共同参与统一过账操作
  • 数据抽象原则:可以通过权限的抽象来体现,例如财务操作用借款、存款等抽象权限,而不是使用典型的读、写、执行权限

RBAC的优缺点

(1)优点:

  • 简化了用户和权限的关系
  • 易扩展、易维护

(2)缺点:

  • RBAC模型没有提供操作顺序的控制机制,这一缺陷使得RBAC模型很难适应哪些对操作次序有严格要求的系统

RBAC权限的功能分析

RBAC权限模型数据库设计

RBAC权限模型详解相关推荐

  1. kubernetes(k8s)之rbac权限管理详解

    kubernetes(k8s)之rbac权限管理详解 RBAC简介 RBAC(Role-Based Access Control) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 ...

  2. rbac权限管理5张表_PHP之常用的RBAC权限管理详解

    文章正文 在说权限管理前,应该先知道权限管理要有哪些功能: (1).用户只能访问,指定的控制器,指定的方法 (2).用户可以存在于多个用户组里 (3).用户组可以选择,指定的控制器,指定的方法 (4) ...

  3. Shiro权限管理详解(授权和注解开发)【面试点】

    Shiro权限管理详解 1. 权限管理 1.1什么是权限管理 1.2用户身份认证 1.2.1 概念 1.2.2 用户名密码身份认证流程 1.2.3 关键对象 1.3 授权 1.3.1 概念 1.3.2 ...

  4. 使用pickle保存机器学习模型详解及实战(pickle、joblib)

    使用pickle保存机器学习模型详解及实战 pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议. "Pickling"是将Python对象层次结构转换为字节 ...

  5. Transformer 模型详解

    Transformer 是 Google 的团队在 2017 年提出的一种 NLP 经典模型,现在比较火热的 Bert 也是基于 Transformer.Transformer 模型使用了 Self- ...

  6. TensorFlow Wide And Deep 模型详解与应用 TensorFlow Wide-And-Deep 阅读344 作者简介:汪剑,现在在出门问问负责推荐与个性化。曾在微软雅虎工作,

    TensorFlow Wide And Deep 模型详解与应用 TensorFlow Wide-And-Deep 阅读344  作者简介:汪剑,现在在出门问问负责推荐与个性化.曾在微软雅虎工作,从事 ...

  7. TensorFlow Wide And Deep 模型详解与应用

    Wide and deep 模型是 TensorFlow 在 2016 年 6 月左右发布的一类用于分类和回归的模型,并应用到了 Google Play 的应用推荐中 [1].wide and dee ...

  8. 数学建模——智能优化之模拟退火模型详解Python代码

    数学建模--智能优化之模拟退火模型详解Python代码 #本功能实现最小值的求解#from matplotlib import pyplot as plt import numpy as np imp ...

  9. 数学建模——智能优化之粒子群模型详解Python代码

    数学建模--智能优化之粒子群模型详解Python代码 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplo ...

最新文章

  1. reduce_sum() got an unexpected keyword argument 'keep_dims'
  2. 小米面试:字符串解码
  3. java中输出系统时间
  4. 星战7将映 追忆那些年存储你身边大数据
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的医学药品信息管理系统
  6. 怎么用python输入计算公式_如何从python3中的用户输入计算min和max
  7. 别人的1024程序员节VS你的1024程序员节
  8. 感谢大家对《软件性能测试与Loadrunner实战》的支持
  9. java 完全背包问题算法_算法笔记(c++)--完全背包问题
  10. 大型运输行业实战_day07_2_数据字典实现
  11. 38. PHP 错误与异常处理(2)
  12. Linux中的ls命令详细使用
  13. MATLAB深度学习layer、options参数浅析与文章推荐
  14. 三种 绘制奈奎斯特曲线 的方法
  15. gtid_executed和gtid_purged变量是如何初始化的
  16. 文科专业考计算机专业研究生,跨专业文科生考计算机研究生的经验
  17. 论如何冲破小游戏流量变现的瓶颈?
  18. python暑假培训班
  19. 信创操作系统--统信UOS桌面版(使用Systemd管理系统服务)
  20. 好男人都死到哪去了?

热门文章

  1. 按住说话 speex压缩
  2. 独立app开发和运行(使用篇)
  3. mysql中,设置数据ID从1开始
  4. SAE J1708协议
  5. 数显之家快讯:深圳华强北再添科技新物种-55寸双面旋转LED导向指示牌
  6. CTFHub-Web-密码口令-默认口令
  7. Java 密码复杂度校验
  8. Mac/Windows 磁盘工具格式化优盘【fat、fat32、ntfs、exfat 、Mac os扩展、ms-dos(fat)】
  9. MICCAI 2022:使用自适应条形采样和双分支 Transformer 的 DA-Net
  10. 如何绘制漂亮的Circos图