Моделирование политик XACML: как моделировать политики для нескольких ресурсов?
У меня есть набор ресурсов. Каждый ресурс имеет свою собственную политику безопасности, которая является комбинацией правил безопасности.
Для создания этих политик в XACML, что я могу использовать: элемент Policy
или элемент PolicySet
?
Например:
- правило1: для чтения ресурса1 пользователь должен иметь роль администратора
- Правило 2: для записи на ресурсе 2 у пользователя должен быть адрес электронной почты с домена @ yahoo.com
- rule3: для чтения ресурса 3 пользователь должен быть из больницы Святого Георгия
- Правило 4: для записи на ресурсе 1 пользователь должен иметь роль медсестры.
В этом случае: я должен создать элемент политики для resource1 и еще один для ресурса 2 и так далее, все это в рамках элемента PolicySet? Или я должен создать элемент политики в соответствии с этим правилом безопасности 1 и 2 и так далее?
1 ответ
Вы можете выбрать модель по-разному. Здесь не обязательно правильно или неправильно. Когда я обучаю наших клиентов, я обычно рекомендую вам разработать политику, чтобы:
- Их легко понять
- Ими легко управлять
- Они могут легко вырасти, чтобы удовлетворить новые сценарии
- Они позволяют для сотрудничества.
Самым распространенным шаблоном является определение иерархии ресурсов. Например, у вас есть финансовое приложение> объект учетной записи> раздел личной информации> поле имени.
Затем вы можете начать смотреть на другие атрибуты, например, пользовательские атрибуты (роль, отдел...)
Обычно вы используете элемент PolicySet, пока не узнаете, что вам понадобится правило, и в этом случае вы переключитесь на политику. Помните, что элементы PolicySet могут содержать элементы PolicySet и Policy. Это учитывает структуру политики любой глубины. Если мы вернемся к нашему примеру, у нас будет: