2

我是 XACML 架构的新手,如果您能帮助我解决下一个问题,我将不胜感激。

是否可以以从一个 PIP 提取的答案用作其他 PIP 的输入参数的方式使用多个 PIP?

如果是这样,你能给我提供一个简单的 XML 请求示例吗?

提前致谢

4

1 回答 1

2

是的,可以使用多个 PIP,这样一个 PIP 解析的属性可以用作另一个 PIP 的输入。

基于XACML 架构,由 PDP 决定如何使用 PIP 解析属性。

它是如何在高层次上工作的:

  1. 输入请求(来自 PEP)到 PDP 包含一个属性说Subject-ID=Alice
  2. PDP 根据输入请求的属性评估 XACML 策略。例如,政策说允许如果Action-ID=Read
  3. 由于策略中没有Subject-ID定义,PDP 尝试请求一个或多个 PIP 来解决Action-ID并为 PIP 提供它所具有的值Subject-ID(来自输入请求)。例如,假设我们有 2 个 PIP - PIP A可以解析resource-IDPIP B 可以解析Subject-IDAction-IDresource-ID
  4. 在这里,PDP 首先使用PIP Aresource-ID根据Subject-ID来自输入的请求进行解析,然后使用PIP B进行解析,然后 PDP 使用 PIP B 来评估策略。如果PIP B返回 Alice,你会得到一个决定,否则它将是resource-IDAction-IDpermitNotApplicable

请注意,这取决于如何实现 PDP以使用链式 PIP 解析属性,如在您的用例中。

一家名为Axiomatics的公司的 PDP能够执行链式 PIP 查找。

披露:我在Axiomatics工作,我们提供基于 XACML 的访问控制解决方案

于 2019-02-12T11:38:15.303 回答