2013-02-28 3 views
0

Я пишу политику с заказами-разрешениями-переопределениями для правил.Тема правила XACML

Правило 1 разрешает доступ ко всему контенту для людей с соответствующим уровнем безопасности.

Правило 2 разрешает доступ к некоторому контенту (3 ресурса) любому, у кого есть альтернативные полномочия.

Правило 3 отрицает доступ ко всему остальному. Это отказоустойчиво, если у пользователя нет уровня безопасности или учетных данных.

Моя проблема в том, что я могу заставить свой сервер запускать программу, а правило 1 работает нормально. Для правила 2 единственным результатом, который я получаю, если я даю требуемые значения, является «отрицание», и если я оставлю пустое, это «неопределенно». Я думаю, что в политике не работает мое правило 2, несмотря на использование упорядоченных разрешений-переопределений.

Я попытался запустить скрипт с правилом 3 закомментирован, и результат будет только «неопределенным» или «неприменимым».

В правиле 1 я оставил цель пустой. Для правила 2 я определил ресурсы, но не темы. Нужно ли указывать темы, чтобы заставить это правило работать? Есть ли что-то еще, что может привести к тому, что мои первые и третьи правила будут действовать, но не моя вторая.

+0

Я решил проблему. Я назвал тот же ресурс в политике и в правиле 1, поэтому я не мог повторить его. Ресурсы должны быть взаимоисключающими в XACML. Ресурсом был мой пакет, а вспомогательные ресурсы - страницы. – Nicholas

+0

... Я решил это, объявив тему в Правиле 1 с высоким уровнем зазора и оставив условие пустым. Правило было правилом разрешения. – Nicholas

ответ

0

Было бы здорово, если бы вы могли поделиться своей политикой здесь, чтобы мы могли посмотреть. Что вы используете для написания и проверки политики.

Как вы знаете, неопределенный из-за ошибки внутри PDP, например. вам требуется, чтобы атрибут присутствовал, но вы его не отправляете, или вы используете функцию «только один-на-один» (или любую функцию «-то-и-только») для отсутствующего атрибута.

Кстати, почему бы вам не использовать в первую очередь как комбинирующий алгоритм?

Заканчивать плагин ALFA для Eclipse (это бесплатно), чтобы иметь возможность быстро написать свою политику без необходимости знать синтаксис XACML: http://www.axiomatics.com/axiomatics-alfa-plugin-for-eclipse.html