Перейти к основному содержимому
Версия: 7.0

Kerberos/SPNEGO для SAML

SSO через SAML IdP и Kerberos/SPNEGO

Kerberos/SPNEGO позволяет выполнять аутентификацию в Пассворке без ручного ввода логина и пароля. Пассворк в этом сценарии — SP, внешний провайдер идентификации — IdP, а проверку пользователя выполняет IdP через Kerberos-интеграцию со службой каталогов.

Пассворк не выполняет Kerberos-аутентификацию и не принимает решение о том, применять ли бесшовный вход. Пассворк только отправляет SAML AuthnRequest в IdP и принимает SAML Response на ACS.

Что должно быть обеспечено в инфраструктуре

  • IdP принимает AuthnRequest от Пассворка и возвращает SAML Response на ACS Пассворка.
  • На стороне IdP корректно настроена SAML-интеграция с Пассворком: Entity ID, ACS URL, сертификаты/подписи.
  • IdP подключен к службе каталогов или инфраструктуре идентификации, которая поддерживает Kerberos-аутентификацию.
  • Для HTTP-сервиса IdP подготовлены Kerberos/SPNEGO credentials согласно требованиям конкретного IdP: service principal, SPN, keytab, service account или другой поддерживаемый механизм.
  • Пользователи и Kerberos principal корректно сопоставляются с учетными записями в службе каталогов.
  • Клиентские устройства получают Kerberos ticket для адреса IdP.
  • Браузеры доверяют адресу IdP для Integrated Authentication/SPNEGO через политики ОС, GPO, MDM или локальную конфигурацию.
  • DNS, TLS и сеть не ломают редиректы SAML и обращение браузера к IdP.
  • В IdP определены условия, когда используется Kerberos/SPNEGO, и fallback при несоответствии условий.

Действия в Пассворке

Для сценария SAML IdP + Kerberos/SPNEGO дополнительные настройки в Пассворке не требуются.

В Пассворке должна быть настроена стандартная SAML-интеграция с IdP. Все условия бесшовного входа определяются на стороне IdP, службы каталогов, Kerberos-инфраструктуры и клиентских устройств.

Требования к службе каталогов

Служба каталогов или связанная с ней инфраструктура должна поддерживать Kerberos-аутентификацию и позволять IdP проверять Kerberos ticket пользователя. Это может быть, например, Active Directory, FreeIPA или другая инфраструктура, где LDAP-каталог используется вместе с Kerberos KDC.

Если используется только LDAP без Kerberos KDC, бесшовная аутентификация через SPNEGO невозможна. В таком случае IdP будет проверять логин и пароль через LDAP.

Универсальный поток аутентификации

  1. Пользователь нажимает Войти через SSO в Пассворке.
  2. Пассворк формирует SAML AuthnRequest и перенаправляет браузер на IdP.
  3. IdP проверяет условия и выполняет Kerberos/SPNEGO-аутентификацию (или fallback).
  4. Браузер передает Kerberos ticket IdP без ручного ввода логина и пароля.
  5. IdP проверяет ticket, сопоставляет пользователя и формирует SAML Response.
  6. IdP возвращает SAML Response на ACS Пассворка (/api/v1/sso/acs).
  7. Пассворк валидирует ответ, сопоставляет пользователя и открывает сессию.