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

本文介绍了基于角色的访问控制(RBAC)模型,包括RBAC0、RBAC1、RBAC2和RBAC3,强调了角色、用户和权限的关系以及责任分离的概念。此外,还提到了基于属性的访问控制(ABAC)模型,它通过动态计算属性来决定权限,提供更灵活的权限管理。
摘要由CSDN通过智能技术生成

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模式的任何产品的最低需

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值