XACML在策略中结合了PIP

时间:2019-02-11 21:01:29

标签: authorization xacml abac xacml3 alfa

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

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

如果可以的话,您可以为我提供简单的XML请求示例吗?

预先感谢

1 个答案:

答案 0 :(得分:1)

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

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

它是如何工作的:

  1. (来自PEP的)PDP输入请求包含一个说为Subject-ID=Alice的属性
  2. PDP根据输入请求中的属性评估XACML策略。例如,该政策说 permit if Action-ID=Read
  3. 由于该策略中未定义Subject-ID,因此PDP尝试要求一个或多个PIP解析Action-ID,并从输入中提供PIP为其具有的值Subject-ID(请求)。 例如,假设我们有2个PIP- PIP A 可以从resource-ID PIP B中解析Subject-ID 可以从Action-ID解析resource-ID
  4. 在这里,发生的事情是PDP首先使用 PIP A 根据输入请求中的resource-ID解析Subject-ID,然后使用resource-ID解析{{1 }}使用 PIP B ,然后PDP将其用于评估策略。如果 PIP B 返回Alice,您将得到一个Action-ID的决定,否则将是permit

请注意,这取决于使用PDP的方式,以像在您的用例中那样,使用链接的PIP来解析属性。

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

公开信息:我在Axiomatics工作,我们提供基于XACML的访问控制解决方案