零信任架构和访问控制模型ABAC

近几年,权限访问控制模型被反复提及,目前常用的是RBAC(Role-Based Access Control),RBAC是迄今为止最为普及的权限设计模型,其优点是简单,实现起来非常容易。
但是随着授权需求复杂度的提升和对控制逻辑灵活性的高度要求,ABAC(attribute-based access control)访问控制模型将会越来越普及。近期火爆的零信任架构里,ABAC模型就比RBAC更加合适。

ABAC既然是针对属性(attributes)的,那我们先来看看它一般是针对哪些属性进行授权控制的。属性可以是任意的对象,一般会涉及的属性主要是以下四类:

1、访问主体属性:访问者自带的属性,比如年龄,性别,部门,角色等;

2、动作属性:比如读取,删除,查看等;

3、对象属性:被访问对象的属性,比如一条记录的修改时间,创建者等;

4、环境属性:比如时间信息,地理位置信息,访问平台信息等。

基于属性,ABAC可以设置很多灵活的策略来进行访问的控制,比如:

1、当一个文档的所属部门跟用户的部门相同时,用户可以访问这个文档;

2、当用户是一个文档的额拥有者并且文档的状态是草稿,用户可以编辑这个文档;

3、早上九点前禁止A部门的人访问B系统;

4、在除了上海以外的地方禁止以管理员身份访问A系统。

看起来是不是挺强大的。

因为模型是基于策略,而策略又是基于各种灵活的属性动态控制的,所以ABAC模型里通常有配置文件(XML、YAML等)或DSL配合规则解析引擎使用。规则引擎负责控制逻辑的处理,配置文件负责策略的定义和描述。

XACML(eXtensible Access Control Markup Language)就是基于ABAC访问模型的一个实现(可能也是最复杂的一种实现)。

在XACML的架构中,有5种控制节点:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值