如何解决PIP的正确属性值?它应该具有哪种接口才能解决属性值?例如,我需要获取用户角色,在这种情况下,我只需要传递用户ID的属性。现在让我们把这个任务变得更加复杂。如果我有上下文,用户角色可能会改变,所以单个用户ID在这里是不够的。在这种情况下,我需要传递我们正在尝试获取用户角色的访问级别。
因此,在这个例子中,我们可以看到,接口将随着每次的变化而改变,唯一合适的接口将是接受所有内容的接口。
在这种情况下,PIP通常如何实现?
更新:
示例: 我们有以下层次结构:
因此,在这个例子中,我们可以看到,接口将随着每次的变化而改变,唯一合适的接口将是接受所有内容的接口。
在这种情况下,PIP通常如何实现?
更新:
示例: 我们有以下层次结构:
Level 0 1 2
Organization < tenants < documents.
符号 < 表示右侧是左操作数的子节点。
每个层级上,用户可能具有管理员或普通用户角色。如果用户在第 n 级拥有管理员角色,则可以访问该级别以及第 n+1、n+2、n+3 ... 级别的所有内容。同时,用户在所有级别 n-1、n-2、n-3 ... 上都将具有普通用户角色。
例如:
user admin admin
Organization < tenants < documents
这是第一部分。第二部分涉及文档。比如,我们有一些属性,例如publicTenant和publicDocument。在不同层级上的相互关系并不相关,并且需要了解不仅用户标识,还要知道我们所在的级别和资源属性,例如organizationId、tenantId和documentId才能正确解决不仅用户角色,而且还要考虑资源属性。
在ABAC中如何正确实现呢?当前的解决方案是混合使用ACL/RBAC/ABAC。ACL和RBAC隐藏在ABAC下面,并作为主体的属性使用,但这种方式并不合适。