XACML, объединяющий PIP в политике

Я новичок в архитектуре XACML и буду признателен, если вы поможете мне со следующим вопросом.

Можно ли использовать несколько PIP таким образом, чтобы ответ, извлеченный из одного PIP, использовался в качестве входного параметра для другого PIP?

Если да, можете ли вы предоставить мне простой пример запроса XML?

заранее спасибо

1 ответ

Решение

Да, можно использовать несколько PIP таким образом, чтобы атрибут, разрешенный PIP, можно было использовать в качестве входных данных для другого PIP.

Основываясь на архитектуре XACML, PDP должен решить, как разрешать атрибуты с помощью PIP.

Как это работает на высоком уровне:

  1. Входной запрос (от PEP) к PDP содержит атрибут say Subject-ID=Alice
  2. PDP оценивает политику XACML на основе атрибутов из входного запроса. Например, политика говорит, что разрешить, если Action-ID=Read
  3. Так как нет Subject-ID определенный в политике, PDP пытается запросить PIP или PIP для разрешения Action-ID и обеспечивает PIPs значение, которое он имеет, который Subject-ID(из запроса на ввод). Например, допустим, у нас есть 2 пипса - PIP A может решить resource-ID от Subject-ID и PIP B может решить Action-ID от resource-ID
  4. Здесь происходит то, что PDP сначала разрешает resource-ID на основе Subject-IDиз запроса ввода, используя PIP A, а затем использует resource-ID Разрешить Action-ID используя PIP B, который затем используется PDP для оценки политики. Если PIP B возвращает Алису, вы получаете permit Решение еще было бы NotApplicable

Обратите внимание, что это зависит от того, как реализован PDP для разрешения атрибутов с использованием цепочек PIP, как в вашем случае использования.

PDP от компании под названием Axiomatics способен выполнить цепной поиск PIP.

Раскрытие информации: я работаю в Axiomatics, где мы предоставляем решения для контроля доступа на основе XACML

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