权限系统设计二: DAC、MAC、RBAC、ABAC模型

1

基于角色的访问控制

 

(RBAC: Role-Based Access Control)

 

 

在DAC、MAC的基础上, RBAC出现了,RBAC是迄今为止最为普及的权限设计模型。RBAC模型中在用户、权限之间引入“角色(Role)”概念。

 

RBAC把权限管理过程抽象为“判断逻辑表达式的值是否为True”的求解过程,而逻辑表达式为:

 

Who是否可以对What进行How的访问操作(Operator)

 

将权限问题转换为Who、What、How的问题。并把who、what、how作为访问权限三元组。

 

  • Who:权限的拥用者或主体(如Principal、User、Group、Role、Actor等等)

  • What:权限针对的对象或资源(Resource、Class)。

  • How:具体的权限(Privilege,正向授权与负向授权)。

  • Operator:操作。表明对What的How操作。也就是Privilege+Resource

  • Role:角色,一定数量的权限的集合。权限分配的单位与载体,目的是隔离User与Privilege的逻辑关系.

  • Group:用户组,权限分配的单位与载体。权限不考虑分配给特定的用户而给组。组可以包括组(以实现权限的继承),也可以包含用户,组内用户继承组的权限。User与Group是多对多的关系。Group可以层次化,以满足不同层级权限控制的要求。

 

RBAC的关注点在于Role和User,Permission的关系。称为User assignment(UA)和Permission assignment(PA).关系的左右两边都是Many-to-Many关系。就是user可以有多个role,role可以包括多个user。

 

RBAC96提供了四个概念模型:RBAC0~RBAC3

 

1、基本模型-RBAC0:定义了支持RBAC模式的任何产品的最低需求。

2、高级模型-RBAC1、RBAC2:包含RBAC0,各自增加了独立的特点。

RBAC1增加了角色分级概念,一个角色可以从另一个角色继承许可权。

RBAC2增加了一些限制,强调在RBAC的不同组件中配置方面的一些限制。

3、统一模型-RBAC3:包含了RBAC1、RBAC2,RBAC0。

 

 

01

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值