【问题标题】:Resolving XACML policy conflicts解决 XACML 策略冲突
【发布时间】:2015-07-04 15:00:44
【问题描述】:

XACML 如何处理策略冲突?如果 PAP(策略管理点)在两个 policy.xml 文件中包含两个不同的 <policy> 元素,其中两个策略具有相同的 Target,则将评估哪一个?这两个策略在不同文件中的<policy> 中是自包含的。

如果两个<policy> 元素都在<PolicySet> 内,它将使用PolicyCombiningAlgId。但是由于它们存在隔离,XACML 引擎如何处理这个问题?

【问题讨论】:

    标签: authorization access-control xacml abac


    【解决方案1】:

    (注意:我清理了你的问题,因为你有很多 XACML 不准确之处)。

    有两种方法可以解决 XACML 中的冲突。它们是:

    • 策略组合算法。这些设置在 PolicySet 元素中,用于组合 PolicySet 子元素(Policy 和 PolicySet 元素的混合)的结果。
    • 规则组合算法。这些设置在 Policy 元素中,用于组合 Rule 子项的结果。

    您的问题与您配置了具有多个策略的策略决策点 (PDP)(而不是您所写的 PAP)的情况最为相关。哪一个赢了?由于它们都没有被包装,因此没有任何组合算法可供选择。此行为未在 XACML 标准中定义,取决于您使用的 XACML 引擎。

    例如,Axiomatics XACML 引擎强制您始终选择根策略(集),即引擎将其视为其入口点的策略(集)。仅当根策略引用它们时,才会使用传递给 PDP 的任何其他策略。

    如果您想了解更多关于组合算法的信息,请查看我最近写的blog post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多