Политика XACML с несколькими ресурсами с несколькими правилами и несколькими действиями

В сценарии с несколькими профилями решений я хочу создать политику для конкретного клиента и для корневых ресурсов, таких как клиент. Здесь мой сценарий таков, что у меня есть клиент T1, и арендатору T1 разрешен доступ к корневому ресурсу Customer. Клиент — это ресурс верхнего уровня, и он будет содержать дочерние ресурсы, такие как: Sub-Resources: name, email. В моем сценарии, как я могу создать политику, чтобы я мог применять несколько правил для каждого подресурса, например:

Правило-1: Разрешить администратору доступ к ресурсу- {name: create,read,update,delete}, {email: create,read,update,delete} Правило-2: Разрешить сотруднику доступ к ресурсу- {name: read,update}, {email: read} Пожалуйста, поделитесь структурой политики и форматом запроса для того же.

В формате запроса я хочу передать только идентификатор арендатора и ресурс корневого уровня Customer .


person Utsav    schedule 06.03.2014    source источник


Ответы (1)


В этом сценарии вам нужно передать интересующий вас идентификатор поля.

Запрос будет таким: «Может ли Алиса просмотреть поле имени записи клиента № 123»?

Вы можете выразить это как запрос множественного решения, например:

«Может ли Алиса просмотреть поля имени, адреса электронной почты и должности в записи клиента № 123»?

В любом случае ваша политика будет ориентирована на поле. Это защитит данное поле или набор полей. На самом деле вы можете определить набор неконфиденциальных полей и набор конфиденциальных полей. Вы также можете написать политику с точки зрения метаданных полей. Вместо того, чтобы говорить «пользователь может просматривать поле «электронная почта»», вы можете написать «пользователь может просматривать поле, если допуск пользователя> чувствительность поля».

В качестве альтернативы вы также можете использовать обратный запрос, хотя он специфичен для API Axiomatics. Обратный запрос позволяет выполнять следующие типы запросов/ответов:

  • Q: список полей, которые Алиса может просматривать
  • О: имя, электронная почта
person David Brossard    schedule 24.03.2014