Kerberos/SPNEGO для SAML
SSO через SAML IdP и Kerberos/SPNEGO
Kerberos/SPNEGO позволяет выполнять аутентификацию в Пассворке без ручного ввода логина и пароля. Пассворк в этом сценарии — SP, внешний провайдер идентификации — IdP, а проверку пользователя выполняет IdP через Kerberos-интеграцию со службой каталогов.
Пассворк не выполняет Kerberos-аутентификацию и не принимает решение о том, применять ли бесшовный вход. Пассворк только отправляет SAML AuthnRequest в IdP и принимает SAML Response на ACS.
Что должн о быть обеспечено в инфраструктуре
- IdP принимает
AuthnRequestот Пассворка и возвращает SAMLResponseна 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.
Универсальный поток аутентификации
- Пользователь нажимает Войти через SSO в Пассворке.
- Пассворк формирует SAML
AuthnRequestи перенаправляет браузер на IdP. - IdP проверяет условия и выполняет Kerberos/SPNEGO-аутентификацию (или fallback).
- Браузер передает Kerberos ticket IdP без ручного ввода логина и пароля.
- IdP проверяет ticket, сопоставляет пользователя и формирует SAML
Response. - IdP возвращает SAML
Responseна ACS Пассворка (/api/v1/sso/acs). - Пассворк валидирует ответ, сопоставляет пользователя и открывает сессию.