XACML, объединяющий PIP в политике - PullRequest
0 голосов
/ 12 февраля 2019

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

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

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

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

1 Ответ

0 голосов
/ 12 февраля 2019

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

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

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

  1. Входной запрос (от PEP) к PDP содержит атрибут скажем Subject-ID=Alice
  2. PDP оценивает политику XACMLна основе атрибутов из входного запроса.Например, политика гласит: разрешить , если Action-ID=Read
  3. Поскольку в политике не определено Subject-ID, PDP пытается запросить PIP или PIP для разрешения Action-ID и предоставляет PIP.значение, которое оно имеет Subject-ID (из запроса ввода).Например, допустим, у нас есть 2 PIP - 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.

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

...