我正在阅读 XACML 标准并且看到了这些元素,但是文档非常技术性,我找不到有关这些元素的示例。
XACML中的元素CombinerParameters
和CombinerParameter
作用是什么?
谢谢。
我正在阅读 XACML 标准并且看到了这些元素,但是文档非常技术性,我找不到有关这些元素的示例。
XACML中的元素CombinerParameters
和CombinerParameter
作用是什么?
谢谢。
XACML ( xacml ) 核心规范由 OASIS 定义,可在此处找到。XACML 是一种实现基于属性的访问控制 ( abac ) 的语言。
该规范定义:
您的问题与语言本身有关。该语言包含许多不同的元素,其中:
组合器参数与组合算法一起使用。
当一个policyset
或一个policy
元素包含多个子元素时,这些子元素可能会发生冲突。例如,策略可以包含以下规则:
这 2 条规则是相互冲突的。哪一个赢了?这就是组合算法的作用(规范定义|博客文章|维基百科)。组合算法有助于确定哪些策略和规则获胜。例如,拒绝覆盖使拒绝决定胜过许可决定。
XACML 中的组合算法可以具有组合器参数来影响它们的工作方式。请注意,规范中定义的默认组合算法都没有使用组合器参数。如果您愿意,您可以实现一个自定义组合算法,该算法将使用组合器参数。
第一个元素包含以下定义的任意数量的第二个元素:
<xs:element name="CombinerParameters" type="xacml:CombinerParametersType"/>
<xs:complexType name="CombinerParametersType">
<xs:sequence>
<xs:element ref="xacml:CombinerParameter" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
第二个元素定义如下
<xs:element name="CombinerParameter" type="xacml:CombinerParameterType"/>
<xs:complexType name="CombinerParameterType">
<xs:sequence>
<xs:element ref="xacml:AttributeValue"/>
</xs:sequence>
<xs:attribute name="ParameterName" type="xs:string" use="required"/>
</xs:complexType>
它包含:
location
。属性值由以下部分组成:
Chicago
http://www.w3.org/2001/XMLSchema#string
XML 中的示例属性值如下所示:
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Chicago</AttributeValue>
换句话说,组合器参数是: