Что такое SSO

«Что такое SSO» — вопрос из категории Безопасность, который задают на 24% собеседований Бизнес Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

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

  1. Пользователь входит в систему (Identity Provider, IdP, например, Okta, Azure AD).
  2. При доступе к другому сервису (Service Provider, SP), IdP подтверждает аутентификацию через токен (SAML, OAuth, OpenID Connect).
  3. SP разрешает доступ без повторного ввода пароля.

Пример (OAuth 2.0):

# Пример запроса авторизации через Google OAuth
from requests_oauthlib import OAuth2Session

client_id = "your_client_id"
redirect_uri = "https://your-app.com/callback"
scope = ["openid", "email"]

oauth = OAuth2Session(client_id, redirect_uri=redirect_uri, scope=scope)
authorization_url, _ = oauth.authorization_url("https://accounts.google.com/o/oauth2/auth")

# Перенаправляем пользователя на authorization_url для входа

Плюсы:

  • Удобство (один вход для всех сервисов).
  • Безопасность (меньше паролей в обороте).

Минусы:

  • Единая точка отказа (если IdP упал, доступ ко всем сервисам потерян).
  • Риск компрометации (взлом аккаунта в IdP дает доступ ко всем системам).