首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个策略文件中的XACML Authzforce PDP配置

多个策略文件中的XACML Authzforce PDP配置
EN

Stack Overflow用户
提问于 2019-12-25 03:06:05
回答 1查看 151关注 0票数 2

我正在使用Authzforce PDP引擎和一个配置pdp.xml文件运行XACML,该文件如下所示:

代码语言:javascript
复制
<?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-file是否能够使用多个policyProviders或其他方式指定?这应该不会太难,但在网上搜索了几个小时后,我还没有找到任何解决方案。

期待您的回复。

谢谢,杰克。

EN

回答 1

Stack Overflow用户

发布于 2019-12-27 10:16:58

对于此用例,我建议升级到AuthzForce核心14.0.0或更高版本。然后您有两个选择(注意XML模式和名称空间有一点变化):

  1. 多个'policyLocation‘元素,例如:

代码语言:javascript
复制
<?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>

  1. 使用通配符模式作为'policyLocation',例如(包括所有扩展名为'.xml‘的策略文件):

代码语言:javascript
复制
<?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评估开始的位置)。在这种情况下,根策略应该组合其他策略,即是具有定义的PolicyCombiningAlgId的XACML PolicySet,以及到其他策略的一个或多个PolicyIdReferences或PolicySetIdReferences。

您可以在authzforce github上找到使用通配符选项的完整示例。

此外,您还可以在XML schema中找到有关PDP配置格式(最新版本)的更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59472630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档