RBAC权限模型详解
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权限模型详解相关推荐
- kubernetes(k8s)之rbac权限管理详解
kubernetes(k8s)之rbac权限管理详解 RBAC简介 RBAC(Role-Based Access Control) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 ...
- rbac权限管理5张表_PHP之常用的RBAC权限管理详解
文章正文 在说权限管理前,应该先知道权限管理要有哪些功能: (1).用户只能访问,指定的控制器,指定的方法 (2).用户可以存在于多个用户组里 (3).用户组可以选择,指定的控制器,指定的方法 (4) ...
- Shiro权限管理详解(授权和注解开发)【面试点】
Shiro权限管理详解 1. 权限管理 1.1什么是权限管理 1.2用户身份认证 1.2.1 概念 1.2.2 用户名密码身份认证流程 1.2.3 关键对象 1.3 授权 1.3.1 概念 1.3.2 ...
- 使用pickle保存机器学习模型详解及实战(pickle、joblib)
使用pickle保存机器学习模型详解及实战 pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议. "Pickling"是将Python对象层次结构转换为字节 ...
- Transformer 模型详解
Transformer 是 Google 的团队在 2017 年提出的一种 NLP 经典模型,现在比较火热的 Bert 也是基于 Transformer.Transformer 模型使用了 Self- ...
- TensorFlow Wide And Deep 模型详解与应用 TensorFlow Wide-And-Deep 阅读344 作者简介:汪剑,现在在出门问问负责推荐与个性化。曾在微软雅虎工作,
TensorFlow Wide And Deep 模型详解与应用 TensorFlow Wide-And-Deep 阅读344 作者简介:汪剑,现在在出门问问负责推荐与个性化.曾在微软雅虎工作,从事 ...
- TensorFlow Wide And Deep 模型详解与应用
Wide and deep 模型是 TensorFlow 在 2016 年 6 月左右发布的一类用于分类和回归的模型,并应用到了 Google Play 的应用推荐中 [1].wide and dee ...
- 数学建模——智能优化之模拟退火模型详解Python代码
数学建模--智能优化之模拟退火模型详解Python代码 #本功能实现最小值的求解#from matplotlib import pyplot as plt import numpy as np imp ...
- 数学建模——智能优化之粒子群模型详解Python代码
数学建模--智能优化之粒子群模型详解Python代码 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplo ...
最新文章
- reduce_sum() got an unexpected keyword argument 'keep_dims'
- 小米面试:字符串解码
- java中输出系统时间
- 星战7将映 追忆那些年存储你身边大数据
- 基于JAVA+SpringMVC+Mybatis+MYSQL的医学药品信息管理系统
- 怎么用python输入计算公式_如何从python3中的用户输入计算min和max
- 别人的1024程序员节VS你的1024程序员节
- 感谢大家对《软件性能测试与Loadrunner实战》的支持
- java 完全背包问题算法_算法笔记(c++)--完全背包问题
- 大型运输行业实战_day07_2_数据字典实现
- 38. PHP 错误与异常处理(2)
- Linux中的ls命令详细使用
- MATLAB深度学习layer、options参数浅析与文章推荐
- 三种 绘制奈奎斯特曲线 的方法
- gtid_executed和gtid_purged变量是如何初始化的
- 文科专业考计算机专业研究生,跨专业文科生考计算机研究生的经验
- 论如何冲破小游戏流量变现的瓶颈?
- python暑假培训班
- 信创操作系统--统信UOS桌面版(使用Systemd管理系统服务)
- 好男人都死到哪去了?