Перейти к содержимому
Аладдин Р.Д.
Библиотека

Укрощение SAML 2.0: нюансы работы с протоколом

БиблиотекаБиблиотека

2025

Статья владельца линейки продуктов Avanpost Access Дмитрия Грудинина посвящена практическим аспектам работы с протоколом SAML 2.0. Современные веб-приложения и облачные сервисы требуют безопасной аутентификации и авторизации пользователей. Для этого используются протоколы: SAML 2.0 или OpenID Connect (OIDC) на базе OAuth. В данной статье мы простыми словами попробуем разобраться со сценарием использования протокола SAML.

SAML 2.0 применяется, когда нужно безопасно и удобно аутентифицировать пользователя через централизованный IdP. Основные варианты использования SAML:

Корпоративные системы с поддержкой SAML 2.0. Тут подключается уже внедрённая корпоративная система со встроенной поддержкой SAML-протокола в роли поставщика услуг (SP). Примеры – Microsoft Exchange Outlook Web Access, Microsoft RDWeb, Palo Alto VPN, Cisco AnyConnect или Citrix VPN, а также Citrix Virtual Apps and Desktops (XenApp/XenDesktop).

Облачные сервисы (SaaS), в которых SAML 2.0 позволяет связать корпоративную инфраструктуру с веб-приложениями. Они работают через интернет и предоставляют доступ множеству организаций. Примеры – “Яндекс 360”, CRM “Битрикс24” и консоль управления облачными ресурсами Yandex Cloud. SAML в данном случае используется для того, чтобы связать внутреннюю корпоративную аутентификацию с этими сервисами.

Ключевые отличия SAML 2.0 от OpenID Connect (OIDC)

SAML 2.0 и OpenID Connect предназначены для организации SSO и управления аутентификацией, но у них разные архитектурные подходы. SAML использует XML-формат и сложные цифровые подписи, передавая данные через браузер (HTTP Redirect / POST) и применяется в корпоративных системах. OIDC – это RESTful-протокол, который использует JWT и API-запросы, что делает его удобнее для веб-приложений, “облаков” и мобильных сервисов.

Недостатки SAML 2.0 в сравнении с OIDC

XML-фреймворк SAML, появившийся в начале 2000-х годов, можно по праву назвать архаичным в сравнении с OIDC. SAML 2.0 разработан для веб-приложений и не поддерживает мобильные приложения. При этом он решает только задачи аутентификации, но не авторизации.

Получается, что SAML не подходит для интеграции в современные мобильные сервисы ввиду своей негибкости и отсутствия масштабируемости. А вот его применение в корпоративных системах (VPN, VDI, к примеру, Citrix Virtual Apps and Desktops или Microsoft RDWeb, почта, к примеру, Exchange EWS/OWA/ECP и т.д.) по-прежнему актуально.

Наиболее частые ошибки при интеграции SAML 2.0

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

Неправильно указанные URL. Все адреса, включая SingleSignOnService и ACS, должны строго соответствовать настройкам IdP. Любое несовпадение приведёт к сбою аутентификации.

Проблемы с передачей атрибутов. IdP может не отправлять необходимые атрибуты или передавать их в неверном формате. Это наиболее трудно диагностируемая ошибка, особенно при работе с Microsoft ADFS, где логирование скудное. В Avanpost FAM эта задача решается проще благодаря встроенному интерфейсу отладки, который позволяет просматривать содержимое всех SAML-запросов и ответов.

Выводы

SAML 2.0, несмотря на возраст и появление OIDC, остаётся живым и востребованным протоколом, как RADIUS или Modbus. Он широко поддерживается корпоративными системами, отличается стабильностью и относительной простотой настройки, а также не требует прямого взаимодействия между приложением и IdP.

Его слабые места — сложность с Single Logout, боязнь трогать работающие интеграции и трудоёмкость начальной настройки новых систем.

Современные IdP, например Avanpost FAM, помогают сгладить эти недостатки: они предлагают удобные инструменты отладки, гибкую настройку атрибутов SAML Assertion и централизованное управление политиками безопасности. Всё это позволяет администраторам быстрее внедрять и сопровождать интеграции без правок в каждом приложении. Именно поэтому SAML остаётся надёжным компромиссным выбором для сложных корпоративных сред.

Это краткая аннотация статьи, полную версию читайте в первоисточнике.


Читать полную версию

Первоисточник: Хабр (блог Avanpost), 2025

Эксперт: Дмитрий Грудинин, Avanpost