ABAC – 如何处理使用GET方法访问集合元素的访问权限?

huangapple go评论59阅读模式
英文:

ABAC - How to deal with access permissions for elements of collections using GET?

问题

ABAC 处理集合项的权限与处理集合的权限不同。用户可能对集合中的某些项有权限,但对其他项没有权限(例如,用户只能查看低于 10,000 欧元的订单)。

PDP 是否为列表中的每个对象创建单独的请求,还是接受请求列表并返回决策列表?由于 PIP 不知道集合可能会如何过滤,因此只能在获取所有对象之后才能做出访问权限的决定。

返回的集合项可能仅返回选定的字段。因此,PIP 需要发出另一个请求来获取缺失的属性。在获取属性和决定访问权限的过程中,数据可能已经发生了变化。这时的决策基于对象的不同状态。如何预防这种情况发生?

英文:

It is straight forward to check if a user has permission for a GET request on a collection (e.g. /orders), but how does ABAC deal with items of collections? The user may have permission for some items of the collection, but not for others (e.g. the user can only see orders below 10.000 Euro).

Is a separate request to the PDP created for each object in the list or does the PDP accept a list of requests and return a list of decisions? Since the PIP doesn't know how the collection might be filtered, the decision about access permission can only be made after all objects are fetched.

The returned collection items may only return selected fields. The PIP therfore needs to make another request to fetch the missing attributes. During the time the attributes are fetched and the access is decided the data can have changed. The decision is then based on different states of the objects. How is this prevented?

答案1

得分: 1

我在StackOverflow上搜索时找不到答案,但我继续搜索,通过Google找到了一个很好的StackOverflow答案:

https://stackoverflow.com/questions/50462996/xacml-how-to-efficiently-control-access-to-collections-lists-of-resources

英文:

I couldn't find an answer searching on stackoverflow, but I kept searching and found a great stackoverflow answer through google:

https://stackoverflow.com/questions/50462996/xacml-how-to-efficiently-control-access-to-collections-lists-of-resources

huangapple
  • 本文由 发表于 2023年4月11日 08:35:45
  • 转载请务必保留本文链接:https://go.coder-hub.com/75981652.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定