Политика XACML на основе ресурсов и дочерних ресурсов
Привет мне нужна политика, где я могу иметь несколько дочерних ресурсов. Политика основана на Ресурсе, где Ресурс верхнего уровня - это Клиент, а дочерние ресурсы, соответствующие этому: 1. Имя, 2. Фамилия
Customer --
-- 1. firstname
-- 2. lastname
Как выполнить эту Политику, используя идентификационный сервер WSO2 и плагин Axiomatics Alfa, или есть ли другой способ добиться этой политики. Мне нужна структура политики и запрос на ту же политику.
1 ответ
Ваша проблема не техническая проблема, а просто проблема моделирования. Вы должны договориться о том, что ваш ресурс и какова ваша иерархия ресурсов.
То, что я иногда делаю, имеет тип ресурса == запись клиента (в вашем случае), а затем идентификатор поля == имя.
То, что я делаю, представляет 2 атрибута для моделирования иерархии ресурсов:
- Ресурс типа
- Поле Идентификатор
Это один простой способ заставить все работать.
РЕДАКТИРОВАТЬ - образец политики:
policy documentAccess{
target clause resourceType=="document" and actionId=="view"
apply firstApplicable
rule viewSSN{
target clause fieldId=="ssn"
condition subjectId==assignedPerson
permit
}
rule viewBalance{
target clause fieldId=="balance"
condition subjectId==assignedPerson
permit
}
rule viewOtherFields{
target clause fieldSensitive == false
permit
}
}