XACML中的元素CombinaterParameters和CombinaterParameter



我正在阅读XACML标准,我看到了这些元素,但文档非常技术性,我找不到关于这些元素的示例。

元素CombinerParametersCombinerParameter在XACML中起什么作用?

谢谢。

背景

XACML(XACML)核心规范由OASIS定义,可以在此处找到。XACML是一种实现基于属性的访问控制(abac)的语言。

规范定义:

  1. 架构
  2. 政策语言
  3. 一种发送授权请求和接收授权响应的方式

语言元素-组合器参数

你的问题与语言本身有关。该语言包含许多不同的元素:

  • CombinaterParameter(此处定义)
  • CombinaterParameters(此处定义)

组合器参数与组合算法一起使用。

什么是组合算法

policysetpolicy元素包含多个子元素时,这些子元素可能会发生冲突。例如,一个策略可能包含以下规则:

  • 经理可以查看其部门中的文档
  • 经理无法查看机密文档

这两条规则相互冲突。哪一个获胜?这就是组合算法的步骤(规范定义|博客文章|维基百科)。组合算法有助于确定哪些策略和规则获胜。例如,拒绝覆盖使拒绝决策胜过许可决策。

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>

它包含:

  • 属性值序列
  • 参数名称,例如CCD_ 5

属性值由以下部分组成:

  • 一个值,例如Chicago
  • 数据类型,例如http://www.w3.org/2001/XMLSchema#string

XML中的一个示例属性值如下所示:

<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">Chicago</AttributeValue>

换句话说,组合器参数为:

  • 标识符,例如位置
  • 一个值由值本身(例如"Chicago")和数据类型(例如字符串)组成

相关内容

  • 没有找到相关文章

最新更新