Технология единого входа
SSO — метод, позволяющий пользователю аутентифицироваться только один раз для входа сразу в несколько приложений либо на несколько сайтов. Такая аутентификация снижает риски, связанные с повторным использованием паролей на разных сервисах. Часто авторизация по SSO сочетается с MFA (многофакторной аутентификацией), а также используется в IAM (системе управления идентификацией и доступом).
Компоненты SSO
Технология единого входа реализуется за счёт одновременного использования двух составляющих:
- Сервис-идентификатор (Identity Provider, IdP)
- Сервис-провайдер (Service Provider, SP)
Первый генерирует токен авторизации, который является подтверждением успешной аутентификации пользователя, и отправляет его второму. Провайдер принимает токен и предоставляет доступ без запроса авторизации.
Идентификатор в этой цепочке обычно один, а провайдеров может быть несколько. Например, сотруднику необходим целый ряд сервисов — электронная почта, облачное хранилище, несколько рабочих программ и т. п. Однако в начале дня он проходит аутентификацию только один раз, получая доступ ко всему необходимому.
Протоколы SSO
Ещё одним важным компонентом технологии единого входа является протокол, по которому происходит аутентификация. Вот наиболее распространённые типы:
- Открытая авторизация (OAuth, Open Authorization). Сейчас используется преимущественно версия OAuth 2.0. Пароль пользователя не передаётся сторонним приложениям, что делает протокол максимально безопасным.
- Соединение по открытому ID (OpenID Connect) является усовершенствованной разновидностью, то есть надстройкой OAuth 2.0. У него есть важная дополнительная функция проверки подлинности личности, которая предшествует передаче токена.
- Язык разметки декларации безопасности (Security Assertion Markup Language, SAML) нужен для аутентификации в масштабе одной сети. Этот протокол часто выбирают для организации сотрудникам доступа ко всем корпоративным сервисам прямо в браузере.
- Kerberos — этот протокол работает по принципу симметричного шифрования, когда для кодирования и расшифровки используется идентичный ключ. Передача данных в нём происходит за счёт так называемых тикетов.
Есть и другие протоколы передачи данных в рамках технологии SSO. Например, WS-Federation, по-прежнему используемый некоторыми службами Microsoft. К настоящему моменту он считается устаревшим.
Безопасную передачу данных в SSO обеспечивает шифрование. Защита логинов и паролей в выбранном сервисе должна соответствовать международным стандартам и требованиям российского законодательства.
Преимущества SSO для бизнеса
- Удобство использования и экономия времени. Сотрудник вводит пароль один, а не несколько десятков раз в день.
- Более безопасное применение паролей. SSO снижает риски того, что сотрудник выберет слишком слабые комбинации и будет хранить их в лёгком доступе, чтобы не забыть.
- Защита вне зависимости от места работы сотрудника. Вход для удалёнщика будет так же безопасен, как и для офисного сотрудника.
- Эффективное управление ролями и доступами. Если сотрудник переходит на новую должность или увольняется, администратор может внести необходимые изменения в системе в один клик.