RBAC权限控制系统
2024-08-26 09:16:04
1、概述
RBAC(Role-Based Access Control )基于角色的访问控制。
RBAC的权限控制可以抽象概括为:判断【Who是否可以对What进行How的访问操作(Operator)】这个逻辑表达式的值是否为True的求解过程。
即将权限问题转换为Who、What、How的问题。who、what、how构成了访问权限三元组。
2、安全原则
最小特权原则、责任分离原则和数据抽象原则。
- 最小特权原则得到支持,是因为在RBAC模型中可以通过限制分配给角色权限的多少和大小来实现,分配给与某用户对应的角色的权限只要不超过该用户完成其任务的需要就可以了。
- 责任分离原则的实现,是因为在RBAC模型中可以通过在完成敏感任务过程中分配两个责任上互相约束的两个角色来实现,例如在财务核算时,需要设置财务管理员和会计两个角色。
- 数据抽象是借助于抽象许可权这样的概念实现的,如在账目管理活动中,可以使用信用、借方等抽象许可权,而不是使用操作系统提供的读、写、执行等具体的许可权。但RBAC并不强迫实现这些原则,安全管理员可以允许配置RBAC模型使它不支持这些原则。因此,RBAC支持数据抽象的程度与RBAC模型的实现细节有关。
3、RBAC 模型族
RBAC96模型族,其中包括了RBAC0~RBAC3四个概念性模型。
- 基本模型RBAC0----定义支持RBAC概念的任何系统的需求。
- RBAC1和RBAC2均包含RBAC0,但各自增加了不同的特性,它们被成为高级模型。
- RBAC1----增加了角色分级的概念,一个角色可以从另一个角色继承许可权。
- RBAC2----增加了一些限制,强调在RBAC的不同组件中在配置方面的一些限制。
- RBAC3称为统一模型,它包含了RBAC1和RBAC2,利用传递性,也把RBAC0包括在内。这些模型构成了RBAC96模型族。
4、补充待续...
最新文章
- php json_encode
- eclipse下打包实践
- Webpack 入门指南 - 2.模块
- Opengles 管线编程介绍
- Source Tree for MAC1.6
- NYOJ298点的转换(矩阵十大问题之一)
- C#实现中国天气网JSON接口测试
- google-perftools 分析JAVA 堆外内存
- nova分析(8)—— nova-compute
- JAVA 异常对于性能的影响
- 开发资源列表【Worldsing分享】
- registerClassAlias()函数和getClassByAlias()函数
- 解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
- httpclient 文件上传
- linux—find指令常见用法示例
- Emacs操作指南
- java程序员理解js中的闭包
- 【腾讯云的1001种玩法】 Laravel 整合万向优图图片管理能力,打造高效图片处理服务
- 初识python函数
- HttpClient使用小结
热门文章
- 关于ThinkPHP执行长时间任务可能导致PHP使用内存越来越大的问题
- POJ - 2151 (概率dp)
- 转载 线程池之ThreadPool类与辅助线程 - <;第二篇>;
- Qt+QGis二次开发:创建临时图层并添加要素
- android ActionBarSherlock使用说明
- Zephyr的Time、Timer、sleep
- Maven学习笔记-03-Eclipse和Maven集成
- oracle-union all与order by联合使用
- MVC4程序运行报错
- LOJ #559. 「LibreOJ Round #9」ZQC 的迷宫