SSO за 13 минут: Единый вход в приложения

Технология единого входа, или Single Sign-On (SSO), — метод аутентификации, позволяющий пользователям безопасно получать доступ к нескольким приложениям, используя один набор учетных данных.

Как работает SSO?

SSO базируется на настройке доверительных отношений между приложением (провайдером услуг) и системой управления доступом (например, OneLogin). Эти отношения часто устанавливаются через обмен сертификатами. Сертификат подтверждает идентификационную информацию, передаваемую от системы управления доступом провайдеру услуг, гарантируя надежность источника.

В SSO идентификационные данные представлены в виде токенов, содержащих информацию о пользователе (например, email или имя). Процесс авторизации обычно выглядит так:

  1. Пользователь заходит в приложение (провайдер услуг). Например, это может быть социальная сеть.
  2. Провайдер услуг отправляет токен (с информацией о пользователе, например, email) в систему SSO (систему управления доступом). Это запрос на аутентификацию пользователя. Важно различать аутентификацию (проверка личности пользователя) и авторизацию (определение прав доступа).
  3. Система управления доступом проверяет, был ли пользователь уже аутентифицирован в данном приложении.
  4. Если пользователь не аутентифицирован, ему необходимо пройти аутентификацию, предоставив свои учетные данные (логин и пароль, одноразовый пароль и т.д.).
  5. После успешной аутентификации система управления доступом возвращает токен провайдеру услуг. Токен проходит через браузер пользователя.
  6. Провайдер услуг подтверждает токен, основываясь на доверительных отношениях, установленных между ним и системой управления доступом.
  7. Пользователю предоставляется доступ к приложению.

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

Токен в контексте SSO — это набор данных, передающийся между системами. Это может быть просто email пользователя и информация о системе-отправителе, подтверждающая надежность источника. Сертификат электронной подписи используется на этапе начальной настройки.

Преимущества и недостатки SSO

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

  • Упрощение работы с логинами и паролями: пользователям нужно запомнить только один, более сложный пароль.
  • Быстрый доступ к приложениям.
  • Сокращение времени на восстановление паролей.
  • Быстрое отзывание доступа для уволенных сотрудников.

Недостатки:

  • Единая точка отказа: сбой центрального сервера SSO приводит к потере доступа ко всем приложениям.
  • Повышенные риски безопасности: компрометация одной учетной записи SSO дает злоумышленнику доступ ко всем ресурсам пользователя.
  • Сложность реализации: внедрение SSO может потребовать значительных ресурсов, особенно в крупных организациях.
  • Совместимость приложений: некоторые приложения могут не поддерживать SSO.
  • Зависимость от протоколов: SSO использует различные протоколы (например, SAML или OAuth), и несовместимость может создавать трудности.

Внедрение SSO

Особенности внедрения зависят от выбранного решения, но необходимо определить:

  • Типы пользователей и их требования.
  • Тип решения (локальное или облачное).
  • Возможность масштабирования.
  • Необходимые функции безопасности (многофакторная аутентификация, adaptive authentication и т.д.).
  • Системы для интеграции.
  • Необходимость доступа к программному интерфейсу приложения.

SSO и менеджеры паролей

Менеджеры паролей хранят учетные данные и вводят их автоматически, но не устанавливают доверительных отношений между приложениями. SSO же предоставляет доступ ко всем одобренным приложениям после единого входа, включая облачные и локальные.

Термины и платформы SSO

SSO — это часть более широкой концепции Federated Identity Management (FIM). Основные связанные термины и платформы:

  • OAuth 2.0: Протокол авторизации, позволяющий приложениям получать доступ к ресурсам от имени пользователя без передачи учетных данных.
  • OpenID Connect (OIDC): Уровень аутентификации, построенный на OAuth 2.0, обеспечивающий функциональность SSO.
  • Security Assertion Markup Language (SAML): Открытый стандарт для обеспечения функциональности SSO.
  • Same Sign-On (SSO): Использование одного логина и пароля без доверительных отношений между системами. В отличие от Single Sign-On, менее безопасный метод.
  • Active Directory (AD): Централизованная служба каталогов Microsoft.
  • Active Directory Federation Services (ADFS): Используется для установления доверительных отношений между AD и другими системами.
  • Lightweight Directory Access Protocol (LDAP): Стандарт для запроса и организации информации в каталоге.
  • OpenUP: Платформа, обеспечивающая аутентификацию App-to-App SSO.

Несмотря на некоторые недостатки, SSO остается эффективным инструментом управления доступом. Многие проблемы могут быть решены с помощью соответствующих мер безопасности и правильной конфигурации.

Что будем искать? Например,программа