发表于 2021-12-18 13:45:16
基于属性的访问控制 (ABAC) 是一种不同的访问控制方法,其中通过使用由共同工作的属性组成的策略来授予访问权限。ABAC 使用属性作为构建块来定义访问控制规则和访问请求。这是通过称为可扩展访问控制标记语言 (XACML) 的结构化语言完成的,该语言与自然语言一样易于阅读或编写。
在基于属性的访问控制系统中,使用任何类型的属性(例如用户属性和资源属性)来确定访问权限。这些属性与定义的静态值或什至与其他属性进行比较,从而将其转换为基于关系的访问控制。属性以键值对的形式出现,例如“Role=Supervisor”,可用于限制对系统特定功能的访问。在这种情况下,只有指定为主管或更高级别的用户才能访问该功能或系统。
在 ABAC 系统中,规则是使用 XACML 编写的。例如,规则可以说明:
“允许经理访问财务数据,前提是他们来自财务部门。”
这将允许具有 Role=Manager 和 Department=Finance 属性的用户访问具有 Category=Financial 属性的数据。这使得其他类型的用户甚至无法进入登录屏幕并阻止某些类型的攻击,如暴力破解和库攻击。 |
|