Я работаю с распределенным сценарием, в котором у меня есть несколько экземпляров PEP и PDP, в таком сценарии, как PDP будет проверять, что запрос XACML поступает из моего доверенного PEP.Как управлять доверием между PEP и PDP
ответ
Могут быть разные способы доверять PEP. Это явно не упоминается в спецификации. Но упоминается, что вы должны использовать SSL и механизм аутентификации (например, аутентификацию Basic/Digest). Также есть профиль SAML-XACML, в котором говорится о связи PEP-PDP. Но я предполагаю, что можно использовать два простых способа.
Базовая аутентификация с использованием SSL. Каждому PEP предоставляется пользователь/пароль. Когда PEP отправляет запрос XACML, пользователь/пропуск должен быть отправлен в заголовки Basic auth. PDP могут проверять пользователя/пароль, обрабатывая заголовки Basic Auth. Все PDP могут быть подключены к одному хранилищу учетных данных.
Взаимный SSL. (двухсторонний SSL). Вы можете реализовать PDP для поддержки взаимного SSL. Затем PEP должен создать сеанс SSL, обмен сертификатами. PEP должен иметь свой собственный сертификат (частная, открытая пара ключей). Чтобы доверять PEP, сертифицированные PDP, они должны находиться в хранилище доверия PDP (или менее подписаны доверенным ЦС). Затем PDP может доверять сертификату PEP.