Моделирование политик XACML: как моделировать политики для нескольких ресурсов?

У меня есть набор ресурсов. Каждый ресурс имеет свою собственную политику безопасности, которая является комбинацией правил безопасности.

Для создания этих политик в XACML, что я могу использовать: элемент Policy или элемент PolicySet?

Например:

  • правило1: для чтения ресурса1 пользователь должен иметь роль администратора
  • Правило 2: для записи на ресурсе 2 у пользователя должен быть адрес электронной почты с домена @ yahoo.com
  • rule3: для чтения ресурса 3 пользователь должен быть из больницы Святого Георгия
  • Правило 4: для записи на ресурсе 1 пользователь должен иметь роль медсестры.

В этом случае: я должен создать элемент политики для resource1 и еще один для ресурса 2 и так далее, все это в рамках элемента PolicySet? Или я должен создать элемент политики в соответствии с этим правилом безопасности 1 и 2 и так далее?

1 ответ

Решение

Вы можете выбрать модель по-разному. Здесь не обязательно правильно или неправильно. Когда я обучаю наших клиентов, я обычно рекомендую вам разработать политику, чтобы:

  1. Их легко понять
  2. Ими легко управлять
  3. Они могут легко вырасти, чтобы удовлетворить новые сценарии
  4. Они позволяют для сотрудничества.

Самым распространенным шаблоном является определение иерархии ресурсов. Например, у вас есть финансовое приложение> объект учетной записи> раздел личной информации> поле имени.

Затем вы можете начать смотреть на другие атрибуты, например, пользовательские атрибуты (роль, отдел...)

Обычно вы используете элемент PolicySet, пока не узнаете, что вам понадобится правило, и в этом случае вы переключитесь на политику. Помните, что элементы PolicySet могут содержать элементы PolicySet и Policy. Это учитывает структуру политики любой глубины. Если мы вернемся к нашему примеру, у нас будет:

Структура политики XACML

Другие вопросы по тегам