RBAC控制权限模型介绍

xjtuer最好不要抄,五次作业都是去年优秀作业,被老师逮住全给0分就得不偿失了,放在这里是给大家一个思路不用再去查找很多资料,了解之后再自己总结写一写

RBAC控制权限模型介绍

RBAC(Role Based Access Control)中文全称是基于角色的访问控制。在RBAC模型中,权限与角色相关联,不同的角色有不同的权限,用户通过被分配为不同的角色从而获得不同角色的权限,从而简化用户的权限管理。用户与角色关联后,同能进行自主授权和权限专营,必须通过角色来控制授权信息,实现访问控制。

在此模型中,角色是用户和权限的中间层,是根据系统中需要的功能和职权来设置的,角色可以因为系统的需要而删除或者添加。与传统的用户----权限直接关联的访问控制模型相比,RBAC 模型的用户与一个或多个角色相关联,而角色与一个或多个权限相关联,用户与权限的关联是动态的,RBAC 基础模型示意图如下图所示。

image-20211026105915550.png

在RBAC中,访问的主体不再是传统访问控制中的用户,角色是RBAC中访问的主体。为了提高访问处理的效率,避免相同权限的重复设置,RBAC中还有“角色继承”的概念,让角色不仅有自己的属性,还可以继承其他角色的属性和权限,通过角色继承,RBAC模型就像是把一个具体组织的内部人员之间的关系抽象化。

模型介绍

上述RBAC模型是RBAC机制的基本模型,又称为RBAC0(Core RBAC),除此之外,还有一些在此基础上演化出来的模型,如角色分层模型RBAC1(Hierarchal RBAC)、角色限制模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC),接下来对这些RBAC模型簇进行大概介绍

以下图片均引用自网络https://blog.csdn.net/weixin_34405354/article/details/86398693

基本模型 RBAC0

RBAC0,它是RBAC0的核心,RBAC1、RBAC2、RBAC3都是先后在RBAC0上的扩展。RBAC0定义了能构成RBAC控制系统的最小的元素集合,RBAC0由四部分构成:

  • 用户(User)
  • 角色(Role)
  • 会话(Session)
  • 权限(Permission)

image-20211026110756389.png

角色分层模型 RBAC1

RBAC1,它是RBAC角色的分层模型,RBAC1建立在RBAC0基础之上,在角色中引入了继承的概念,有了继承那么角色就有了上下级或者等级关系,即子角色可以继承父角色的所有权限,但是子角色必须是在父角色的基础上减少权限点

image-20211026110922808.png

角色限制模型 RBAC2

RBAC2,它是RBAC的约束模型,RBAC2也是建立的RBAC0的基础之上的,在RBAC0基础上假如了约束的概念,主要引入了静态职责分离SSD(Static Separation of Duty)和动态职责分离DSD(Dynamic Separation of Duty)。

SSD是用户和角色的指派阶段加入的,主要是对用户和角色有如下约束:

  • 互斥角色:同一用户不能分配到一组互斥角色集合中的多个角色,互斥角色是指权限互相制约的两个角色。
  • 基数约束:一个角色被分配的用户数量受限,它指的是有多少用户能拥有这个角色。
  • 先决条件约束:指要想获得较高的权限,要首先拥有低一级的权限。
  • 运行时互斥:例如,允许一个用户具有两个角色的成员资格,但在运行中不可同时激活这两个角色

image-20211026111201782.png

统一模型 RBAC3

它包含了RBAC1和RBAC2,利用传递性,也把RBAC0包括在内,综合了RBAC0、RBAC1和RBAC2的所有特点

image-20211026111236049.png

模型关键点

模型要素

一个权限系统需要具备如下的几个关键要素:

  • 项目:对权限服务来说,一个项目,即为一个服务对象,不同项目间的权限数据是相互隔离的。
  • 权限点:业务系统定义的一个具体的权限,一般定义为一种动作,如:签约、审批、增、删、查、改等,都可以是一个权限点。权限点不直接分配给用户。
  • 角色:一定数量权限点的集合。权限分配的单位与载体,目的是隔离用户与权限点的逻辑关系。
  • 权限约束:对一个权限点的附加限制,可配置为权限点的数据范围或附加条件。
  • 角色属性:对一个角色的附加属性,如:虚拟角色。角色属性通过"全局权限点"实现。(业务系统可自行定义,自行解释角色属性)
  • 全局权限点:是一种特殊的权限点,角色关联全局权限点后,全局权限点约束的键、值将作为角色属性返回。
权限配置分类

我们平时使用的权限其实是有分类的,大体上分为三类:页面权限、操作权限、数据权限

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzMzMDg3MDAx,size_16,color_FFFFFF,t_70.png

该图片引自网络 https://blog.csdn.net/sinat_33087001/article/details/119842485

使用的时候,页面权限和操作权限通过配置成相应的权限点实现,数据权限通过配置约束并附着在操作权限上生效。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hydrion-Qlz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值