Есть ли способ определять переменные извне из политики XACML и ссылаться на них изнутри правил политики

#authorization #xacml #abac #xacml3 #alfa

#авторизация #xacml #abac #xacml3 #альфа

Вопрос:

Я использую XACML с несколькими наборами политик и политиками. Эти политики используют одни и те же переменные, и я хочу иметь возможность определять их в каком-то «глобальном» словаре. Хотя это кажется довольно простым требованием, я не смог найти никакой документации, примера или обсуждения такого варианта. Есть ли какой-либо способ сделать это?

Спасибо.

Ответ №1:

Единственная функция, которую XACML предоставляет OOTB, — это понятие определений переменных и ссылок на переменные. Однако он не полностью выполняет то, что вы ищете.

Для начала определения переменных определяются глобально, но могут использоваться только внутри правил. Вы не можете использовать их внутри целевых объектов. Определения переменных состоят из выражения XACML, т.Е. Всего, что может быть выражено в условии (например, строка, функция и многое другое).

Определения переменных определяются в политике, и их видимость ограничивается этой политикой. Это ограничивает их полезность.

Если вам нужна переменная / константа с перекрестной политикой, вам нужно будет сделать это вне XACML, определить свои политики, а затем обработать их, чтобы заменить ваши заполнители вашими значениями. Если вы работаете непосредственно с XML, вы можете сделать это, например, с помощью XSLT. В противном случае это будет во многом зависеть от используемой вами IDE.

Источник: eXtensible Access Control Markup Language (XACML) версии 3.0 Плюс ошибки 01

Комментарии:

1. Спасибо, Дэвид! Я использую определения переменных, и точная проблема с ними заключается в том, что они не являются перекрестными политиками. Они даже не могут быть определены внутри набора политик, которые должны охватываться, по крайней мере, внутренними политиками набора. Параметр постобработки политики по-прежнему будет навязчивым, поскольку он будет реплицировать все значения словаря внутри всех политик, расширяющих документ. Но я ценю ваш ответ и отмечаю его как правильное решение.

2. Да, у меня была та же проблема, что и у вас. Стоит отправить электронное письмо в технический комитет OASIS XACML. В своем комментарии вы, похоже, беспокоитесь о размере политики. Я не думаю, что это имеет большое значение, по крайней мере, больше. Что действительно важно, так это управляемость политикой и удобство обслуживания.