ABAC 控制技术是什么
时间: 2024-03-11 08:42:39 浏览: 140
ABAC(Attribute-Based Access Control)是一种访问控制技术,它基于属性来决定用户是否有权访问资源。ABAC通过使用属性来描述用户、资源和环境,以及定义访问策略来控制访问权限。
在ABAC中,访问决策是基于一组规则和属性的组合。这些属性可以包括用户的身份、角色、组织关系、时间、位置等。资源也可以被赋予属性,例如敏感级别、所有者等。环境属性可以包括网络状态、设备类型等。
ABAC的核心思想是将访问控制策略从应用程序中分离出来,使其成为一个独立的服务。这样可以实现更灵活、可扩展和可管理的访问控制机制。ABAC还支持动态访问控制,可以根据实时的属性信息进行访问决策。
相关问题
编程实现基于属性的访问控制模型ABAC,创建主体S,客体O,环境E,操作O,创建访问控制策略,启用可信引用监测器,进行决策,决策结果为允许或拒绝,关于abac的元策略,出现拒绝时拒绝优先,缺乏匹配的策略时默认决策为拒绝
以下是一个基于属性的访问控制模型ABAC的简单实现:
1. 创建主体S,客体O和环境E
在这个例子中,我们将创建一个主体(用户)S,一个客体(资源)O和一个环境E。主体S代表用户Alice,客体O代表文档A,环境E代表当前的系统时间和地点。
2. 创建操作O
在这个例子中,我们将创建一个操作O,即“读取文档”。
3. 创建访问控制策略
访问控制策略将基于主体,客体和环境的属性来决定是否允许访问。在这个例子中,我们将使用以下属性:
- 主体属性:角色(role)和所在地点(location)
- 客体属性:所属部门(department)和文档类型(document_type)
- 环境属性:当前时间(current_time)
我们将创建一个访问控制策略,其中规定:
- 如果主体S的角色为“管理员”,则允许访问任何文档。
- 如果主体S的角色为“作者”,并且所在地点为“公司内部”,则允许访问所属部门为“技术部”的文档。
- 如果主体S的角色为“读者”,并且所在地点为“公司内部”,并且当前时间在工作时间范围内,则允许访问文档类型为“公告”的文档。
- 如果没有匹配的策略,则默认拒绝访问。
4. 启用可信引用监测器
在ABAC模型中,可信引用监测器(TAM)用于检查访问请求中的属性值是否可信。在这个例子中,我们将假设TAM已经启用,并且已经验证了主体S的身份。
5. 进行决策
现在我们可以进行决策,以确定是否允许Alice访问文档A。
首先,我们检查主体S的属性。假设Alice的角色为“读者”,所在地点为“公司内部”,并且当前时间为上午10点。
然后,我们检查客体O的属性。假设文档A所属部门为“技术部”,文档类型为“公告”。
最后,我们检查环境E的属性。我们已经知道当前时间为上午10点。
根据访问控制策略,我们发现没有匹配的策略,因此默认决策为拒绝。因此,Alice将被拒绝访问文档A。
需要注意的是,在ABAC模型中,若出现多个策略可匹配,拒绝优先的原则将会被遵循,即如果有一个策略拒绝访问,则不允许访问。
阅读全文