Подробно об аутентификации SAML
Что такое SAML в едином входе с Salesforce
В области аутентификации SAML (Security Assertion Markup Language) играет ключевую роль в обеспечении беспрепятственного доступа между приложениями. Давайте глубже разберемся в SAML, поймем его значение для единого входа (SSO) и посмотрим, как он реализован в Salesforce.
Контекст
Представьте, что у вас есть две организации Salesforce: поставщик удостоверений (IDP) и поставщик услуг. У поставщика услуг есть нужные вам данные, но вместо нескольких наборов учетных данных вы хотите обойтись одним. Идея звучит просто, но механика за кулисами может быть непростой.

Ключевые термины SAML
Доступ пользователя: Когда пользователь пытается обратиться к защищенному ресурсу поставщика услуг до прохождения аутентификации.
Перенаправление: Если пользователь не аутентифицирован, поставщик услуг перенаправляет его к поставщику удостоверений с запросом SAML. При необходимости вместе с ним может передаваться relay state (URL, который пользователь изначально хотел открыть).
Аутентификация в IDP: Поставщик удостоверений проверяет личность пользователя — обычно по имени пользователя, паролю или с помощью многофакторной аутентификации.
Утверждение SAML: После аутентификации IDP отправляет поставщику услуг утверждение SAML.
Доверие поставщика услуг: Поставщик услуг проверяет утверждение SAML, извлекает данные пользователя и предоставляет доступ. Если ранее был передан relay state, поставщик услуг переходит именно по этому URL.

Преимущества единого входа
Упрощенный доступ: Пользователям нужен лишь один набор учетных данных для доступа к нескольким сервисам.
Безопасность: SAML использует цифровые подписи, чтобы обеспечить целостность данных и предотвратить их подделку.
Совместимость: Будучи стандартным протоколом, SAML может взаимодействовать с разными IDP и поставщиками услуг на разных технологических стеках.
Глубже: разбор потоков SAML
Запрос SAML: Инициируется поставщиком услуг и направляется в IDP с просьбой аутентифицировать пользователя.

Ответ SAML: Сообщение от IDP после аутентификации, содержащее сведения о пользователе.

Утверждения (assertions): Это заявления IDP о пользователе, включающие такие атрибуты, как имя пользователя или адрес электронной почты.
Цифровые подписи: Используются для проверки утверждений и гарантируют, что они не были изменены неправомерно.
Relay state: Глубокая ссылка (URL), которая гарантирует, что после аутентификации пользователь будет перенаправлен туда, куда изначально собирался попасть.
Когда пользователь запрашивает доступ, в IDP отправляется запрос SAML, и после проверки IDP возвращает утверждение SAML. Когда поставщик услуг проверит это утверждение, пользователь получает нужный доступ.

С помощью таких инструментов, как SAML Tracer для браузеров, этот поток можно визуализировать. Так процесс аутентификации становится прозрачным — от первого запроса до последнего перенаправления после аутентификации.
Меры безопасности в утверждениях SAML
Для противодействия возможным угрозам:
Метки времени используются для предотвращения атак повторного воспроизведения: утверждение SAML действительно лишь в коротком окне времени.
Цифровые подписи гарантируют, что данные не были подделаны при обмене.
Кроме того, утверждения могут содержать атрибуты пользователя, например адреса электронной почты или типы пользователей, что позволяет более детально управлять доступом на стороне поставщика услуг.
Заключение
По сути, SAML — это протокол на основе XML, содержащий ключевые элементы для аутентификации. Он может показаться магией, но на самом деле это результат продуманной технологии, созданной для отражения атак типа «человек посередине» (man-in-the-middle) или повторного воспроизведения.
Способность связывать множество поставщиков услуг с IDP на разных технологических стеках делает SAML краеугольным камнем цифровой аутентификации.
Следите за новостями
Начните свой путь в Salesforce Identity уверенно! Больше идей и советов ищите здесь, на www.SteveTechArc.com, и на YouTube-канале @SteveTechArc (opens in a new tab). Подписывайтесь и углубляйте свое понимание Salesforce Identity.
Помогаем менять мир, делясь знаниями об интеграции с коллегами-архитекторами и теми, кто идет по пути к профессии архитектора!
Расшифровка сделана с помощью ИИ
STA 3.6