[英]XACML Authzforce PDP configuration in multiple policy files
我正在使用 Authzforce PDP 引擎和配置 pdp.xml 文件运行 XACML,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<pdp xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://authzforce.github.io/core/xmlns/pdp/6.0"
version="6.0.0">
<rootPolicyProvider id="rootPolicyProvider"
xsi:type="StaticRootPolicyProvider" policyLocation="${PARENT_DIR}/policy.xml" />
</pdp>
现在,由 PDP 引擎通过 rootPolicyProvider 读取的文件${PARENT_DIR}/policy.xml
包含实际的 XACML 策略并且变得相当大。 所以,我想将XACML 策略分成多个文件policy1.xml、policy2.xml、policy3.xml 等。然后这些文件需要被PDP 引擎读取。
有谁知道 PDP 引擎配置 xml 文件是否能够使用多个 policyProviders 或其他方式指定它? 应该不会太难,但是在网上搜索了几个小时后,我还没有找到任何解决方案。
期待您的回复。
谢谢,杰克。
对于这个用例,我建议升级到 AuthzForce Core 14.0.0或更高版本。 然后你有两个选择(注意 XML 模式和命名空间已经改变了一点):
<?xml version="1.0" encoding="UTF-8"?>
<pdp xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://authzforce.github.io/core/xmlns/pdp/7.0" version="7.0.0">
<policyProvider id="refPolicyprovider" xsi:type="StaticPolicyProvider">
<policyLocation>${PARENT_DIR}/policy1.xml</policyLocation>
<policyLocation>${PARENT_DIR}/policy2.xml</policyLocation>
</policyProvider>
<rootPolicyRef>policy1</rootPolicyRef>
</pdp>
<?xml version="1.0" encoding="UTF-8"?>
<pdp xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://authzforce.github.io/core/xmlns/pdp/7.0" version="7.0.0">
<policyProvider id="refPolicyprovider" xsi:type="StaticPolicyProvider">
<policyLocation>${PARENT_DIR}/*.xml</policyLocation>
</policyProvider>
<rootPolicyRef>policy1</rootPolicyRef>
</pdp>
在这两种情况下,“rootPolicyRef”标识根策略(PDP 评估开始的地方)。 在这种情况下,根策略应该组合其他策略,即是一个 XACML 策略集,具有定义的 PolicyCombiningAlgId 和一个或多个 PolicyIdReferences 或其他策略的 PolicySetIdReferences。
您可以在authzforce github上找到使用通配符选项的完整示例。
您还可以在XML 模式中找到有关 PDP 配置格式(最新版本)的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.