我是XACML架构的新手,如果你能帮我解决下一个问题,我将不胜感激。
是否可以使用多个PIP,从一个PIP中提取的答案用作其他PIP的输入参数?
如果是这样,您能为我提供简单的XML请求示例吗?
提前致谢
是的,可以使用多个PIP,使PIP解析的属性可以用作另一个PIP的输入。
基于XACML architecture,由PDP决定如何使用PIP解析属性。
它如何在高水平上运作:
Subject-ID=Alice
Action-ID=Read
允许Subject-ID
,PDP尝试要求PIP或PIP解析Action-ID
,并为PIP提供Subject-ID
(来自输入请求)的值。例如,假设我们有2个PIP - PIP A可以从resource-ID
解析Subject-ID
而PIP B可以从Action-ID
解析resource-ID
resource-ID
from输入请求解析Subject-ID
,然后使用resource-ID
使用PIP B解析Action-ID
,然后由PDP使用它来评估策略。如果PIP B返回Alice,你得到一个permit
决定,否则它将是NotApplicable
请注意,这取决于如何使用链接PIP来解析属性的PDP,就像在您的用例中一样。
来自一家名为Axiomatics的公司的PDP能够执行链式PIP查找。
披露:我为Axiomatics工作,我们提供基于XACML的访问控制解决方案