SAML

From Identity wiki
This page is a translated version of the page SAML and the translation is 100% complete.
Other languages:
  • русский

Понимание SAML: Security Assertion Markup Language

Введение

Security Assertion Markup Language (SAML) — это открытый стандарт для обмена данными аутентификации и авторизации между сторонами, особенно между поставщиком удостоверений (IdP) и поставщиком услуг (SP). SAML обеспечивает единый вход (SSO), позволяя пользователям аутентифицироваться один раз и получать доступ к нескольким приложениям без необходимости повторного входа.

Как работает SAML

SAML работает на основе XML-токенов безопасности и использует набор протоколов для безопасной аутентификации и авторизации пользователей. Процесс обычно включает три ключевые сущности:

  • Пользователь (Principal): Лицо, запрашивающее доступ к сервису.
  • Поставщик удостоверений (IdP): Система, которая аутентифицирует пользователя и предоставляет информацию о его личности поставщику услуг.
  • Поставщик услуг (SP): Приложение или система, к которой пользователь хочет получить доступ.

Процесс аутентификации по SAML

  1. Пользователь пытается получить доступ к ресурсу на стороне поставщика услуг.
  2. Поставщик услуг перенаправляет пользователя к поставщику удостоверений для аутентификации.
  3. Пользователь проходит аутентификацию у поставщика удостоверений.
  4. Поставщик удостоверений создаёт утверждение SAML (XML-документ, содержащий данные аутентификации и авторизации) и отправляет его поставщику услуг.
  5. Поставщик услуг проверяет утверждение SAML и предоставляет пользователю доступ.

Основные компоненты SAML

SAML включает несколько компонентов, определяющих, как осуществляется обмен данными аутентификации и авторизации:

  • Утверждения SAML: XML-документы, передающие данные аутентификации, авторизации и атрибутов.
   * Утверждение аутентификации: Подтверждает, что пользователь прошёл аутентификацию.
   * Утверждение авторизации: Определяет права пользователя.
   * Утверждение атрибутов: Содержит дополнительные сведения о пользователе (например, email, роль).
  • Протоколы SAML: Определяют, как запросы и ответы обмениваются между IdP и SP.
  • Привязки SAML: Определяют, как сообщения SAML передаются по протоколам, таким как HTTP или SOAP.
  • Метаданные SAML: Содержат конфигурационные данные IdP и SP для обеспечения совместимости.

Преимущества SAML

Улучшенный пользовательский опыт: Обеспечивает SSO, уменьшая необходимость в многократном входе.

Повышенная безопасность: Исключает усталость от паролей и снижает риск фишинговых атак.

Совместимость: Работает на разных платформах и в различных приложениях.

Масштабируемость: Поддерживает крупные предприятия за счёт федеративного управления идентификацией.

SAML vs. Другие протоколы аутентификации

SAML часто сравнивают с другими технологиями аутентификации, такими как OAuth 2.0 и OpenID Connect:

SAML vs. OAuth 2.0: SAML используется в основном для аутентификации и SSO, тогда как OAuth применяется для делегированной авторизации (например, предоставления третьим сторонам доступа к данным пользователя).

SAML vs. OpenID Connect: OpenID Connect — это современный уровень аутентификации, построенный на OAuth 2.0, использующий JSON вместо XML, что делает его более лёгким и удобным для веб- и мобильных приложений.

Примеры использования

Корпоративный единый вход (SSO): Организации используют SAML для обеспечения доступа к внутренним и облачным приложениям.

Интеграция облачных сервисов: Облачные провайдеры, такие как Google, Microsoft и AWS, поддерживают аутентификацию на основе SAML.

Государственные и медицинские учреждения: Используется для безопасного контроля доступа и защиты конфиденциальных данных.

Заключение

SAML — это мощный и широко используемый стандарт аутентификации, который повышает безопасность и удобство работы пользователей. Обеспечивая SSO и федеративное управление идентификацией, SAML упрощает процессы аутентификации, сохраняя при этом высокие стандарты безопасности. В условиях перехода организаций на облачные технологии SAML остаётся важнейшим элементом современных стратегий управления доступом и идентификацией (IAM).