【权限管理】RBAC 和 ABAC的对比

RBAC

基于角色的访问控制(role-based access control RBAC)
在这里插入图片描述

三个组成部分

  • 用户
  • 角色
  • 权限

使用

  • 当用户访问系统时,根据用户具备什么角色,允许用户访问哪些菜单、允许访问那些资源。
  • 需要创建拥有不同权限组合的不同角色,比如A角色具有xx权限,B角色拥有yy权限。
  • 需要授予用户权限时,直接授予用户某个角色。
  • 当用户访问系统的某项资源时,如果具备相应的角色,那么系统认为可以访问。

在这里插入图片描述

优缺点

优点:

  • 便于职责的分离
  • 授权方便

缺点:

  • 新增资源时,需要维护所有相关的角色
  • 只能根据静态的参数进行判断

ABAC

基于属性的访问控制(attribute-based access control ABAC)
在这里插入图片描述

当用户访问系统时,根据用户请求时具备的属性,允许用户访问哪些菜单、允许访问那些资源。

属性

属性包括:

  • 用户属性:比如用户的职级、组织、角色。
  • 环境属性:比如访问的时间、访问的IP。
  • 资源属性:比如资源的创建日期、资源的敏感性。
  • 操作属性:增删改查

访问策略示例

当用户请求系统时,根据当前的属性,指定不同的访问策略:

  • 下班时间,不允许访问公司网络,或需要进一步校验身份。
  • 根据职级 + 资源敏感性,确定用户是否有访问权限。
  • 根据职级 + 职位 + 是否在公司内网, 决定用户是否可以下载代码。

在这里插入图片描述

优缺点

优点:

  • 更加灵活,控制更加细粒度,且根据上下文动态执行
  • 新增资源时,只需要维护较少的资源

缺点:

  • 模型构建相对复杂

RBAC 和 ABAC的对比

RBACABAC
基于角色基于属性
根据角色直接具有某些权限根据访问时属性,动态决定是否具有访问权限
新增资源较繁琐新增资源简单
模型简单模型复杂

【仅代表作者个人观点,欢迎大家讨论自己的理解,如有错误,欢迎指正!】


【如果对你有所帮助,希望可以点赞收藏支持一下!】

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

fyy-coding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值