XACML 如何处理策略冲突?如果 PAP(策略管理点)在包含<policy>
的两个文件中有两个不同的元素,policy.xml
其中两个策略具有相同Target
的 ,那么将评估哪一个?这两个策略都是独立的,包含<policy>
在不同的文件中。
如果两个<policy>
元素都在 a 内<PolicySet>
,它将使用PolicyCombiningAlgId
. 但是由于它们存在隔离,XACML 引擎如何处理这个问题?
XACML 如何处理策略冲突?如果 PAP(策略管理点)在包含<policy>
的两个文件中有两个不同的元素,policy.xml
其中两个策略具有相同Target
的 ,那么将评估哪一个?这两个策略都是独立的,包含<policy>
在不同的文件中。
如果两个<policy>
元素都在 a 内<PolicySet>
,它将使用PolicyCombiningAlgId
. 但是由于它们存在隔离,XACML 引擎如何处理这个问题?
(注意:我清理了您的问题,因为您有很多 XACML 不准确之处)。
XACML 中有两种解决冲突的方法。这些都是:
您的问题与您配置了具有多个策略的策略决策点 (PDP)(而不是您所写的 PAP)的情况最为相关。哪一个赢了?由于它们都没有被包装,因此没有任何组合算法可供选择。此行为未在 XACML 标准中定义,将取决于您使用的 XACML 引擎。
例如, Axiomatics XACML 引擎强制您始终选择根策略(集),即引擎将考虑作为其入口点的策略(集)。仅当根策略引用它们时,才会使用传递给 PDP 的任何其他策略。
如果您想了解有关组合算法的更多信息,请查看我最近写的这篇博文。