Процесс согласования метаданных SAML - PullRequest
0 голосов
/ 06 мая 2019

Я - поставщик услуг (SP), который хочет поддерживать несколько поставщиков удостоверений (IdP) через профиль единого входа в Интернет.

Я изо всех сил пытаюсь понять, как мне следует согласовывать функции SAML (например, подписывать / не подписывать AuthnRequests) с администраторами Identity Provider.

Вот мое текущее понимание:

  1. Я создаю один файл sp-metadata.xml, который я предоставляю всем IdP, которые хотят интегрироваться со мной.
  2. Чтобы интегрироваться со мной, администраторы IdP загружают свои idp-metadata.xml через мой веб-интерфейс. Я проверяю его по моему sp-metadata.xml. Если их функции метаданных не совпадают с моими функциями метаданных, я показываю им подробную ошибку при загрузке, чтобы они могли изменить свои настройки.

Вопросы:

  1. Это правильный и распространенный подход?
  2. Как мне написать метаданные SP для поддержки всех или большинства IdP «из коробки»? Например, я должен поставить "AuthnRequestsSigned = false" или "AuthnRequestsSigned = true"? Похоже, что профиль единого входа в Интернет не дает строгих указаний по этому вопросу.

1 Ответ

0 голосов
/ 07 мая 2019

Около 2: Вы не можете на самом деле проверять метаданные IdP с вашими метаданными SP. Большинство IdP не сообщают, принимают ли они подписанный SAML AuthnRequest с цифровой подписью. Они также обычно не сообщают, какой алгоритм подписи или размеры ключей они поддерживают.

Некоторые реализации IdP даже не создают файлы метаданных, соответствующие схеме метаданных SAML.

Если вы заботитесь о безопасности, вам следует поставить цифровую подпись в SAML AuthnRequest и попросить IdP проигнорировать подпись, если ваш SP отправит ее.

Также обратите внимание, что в течение некоторого времени в спецификации есть некоторое обновление ... см. Новые правила обработки.

Альтернатива: во время загрузки спросите (флажок / переключатель), могут ли они обрабатывать SAML AuthnRequest и какой алгоритм подписи должен использоваться.

т.е. Microsoft ADFS и Azure AD выдают неописательный ответ об ошибке SAML, если они не могут обработать SAML AuthnRequest.

...