Я читаю стандарт XACML и вижу эти элементы, но документация очень техническая, и я не могу найти примеры этих элементов.
Что делают элементы CombinerParameters
и CombinerParameter
в XACML?
Спасибо.
Я читаю стандарт XACML и вижу эти элементы, но документация очень техническая, и я не могу найти примеры этих элементов.
Что делают элементы CombinerParameters
и CombinerParameter
в XACML?
Спасибо.
Основная спецификация 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>
Другими словами, параметр объединителя: