0

如果我有 API

https://api.example.org/api/v1/resources

并且可以访问具有 id 的资源

https://api.example.org/api/v1/resources/:id

如何编写 XACML 策略,其中资源是具有资源 ID 的 URL(上面的第二个 URL)?如何在其中放置占位符/变量以便为它编写规则?

4

1 回答 1

1

您是说需要为各种可能的 id 编写单独的策略吗?例如

处理对资源https://api.example.org/api/v1/resources/:1的访问的 P1和处理对资源https://api.example.org/api/v1/resources/:2等 的访问的 P2 .

如果是这样,想法将是使用属性 id,比如resource-id属性,在 PEP 端捕获idURL 中的值并将其传递给 PDP,并编写策略,其中目标指定为string-equals(resource-id,1)P1 和string-equals(resource-id,2)P2等

(编辑) 根据提供的说明,您可以按以下方式进行:

这种情况下的推理将是类似的。您编写一个策略来处理资源的所有规则,并将其目标指定为,string-equals(resource-type,"resources")并在该策略中为每个资源 ID 指定规则。在规则级别,目标是string-equals(resource-id,"1")string-equals(resource-id,"2")

于 2014-04-30T21:45:11.017 回答