簡體   English   中英

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

[英]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 模式和命名空間已經改變了一點):

  1. 多個“policyLocation”元素,例如:
<?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”擴展名的策略文件):
<?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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM