第一周学习总结

ABAC相关概念及特点

概念

  • abac是基于属性进行权限判断,通过对用户的属性,资源的属性和环境的属性来动态的进行判断该用户是否对该资源拥有某种操作权限

  • abac由请求者、被访问客体、具体的操作和环境条件组成,每种元素都是由属性来进行描述

特点

  • 优点

    • abac模型能够实现更加细粒度的权限管理,在一个场景中,可以通过修改属性信息或者因为环境属性的改变以达到更加细粒度的权限管理

  • 缺点

    • 当匹配规则较多,较为复杂的时候,会影响性能

基于casbin的abac简单使用

使用场景

  • 程序员只有在工作日09:00-17:00时间才能访问公司业务进行工作

建模

  • 上述场景意味着只有用户角色为程序员,环境为工作日的09:00-17:00才能对公司业务具有访问权限

    • 用户属性至少要包括角色Role

    • 资源属性至少要包括名字Name

    • 环境属性至少要包括时间Time

    • 具体操作为访问

    • 前三者可以用结构体实现,操作可以用字符串表示

  • model可定义如下

    • r = sub, obj, act, env

    • p = sub, obj, act, env

    • e = some(where (p.eft == allow)

    • m = r.sub.Role == "programmer" && r.obj.Name = "业务1" && (r.env.Time > 9 && r.env.Time < 17) && r.act == "access"

  • 对于该场景不需要采用策略来存储信息进行辅助判断

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值