Перейти к основному содержимому
Версия: 1.12

Аутентификация

Аутентификация — процесс проверки, что пользователь, устройство или система действительно является тем, за кого себя выдает.

Процесс оперирует субъектами, идентификаторами, учетными записями, факторами и токенами и реализуется с помощью провайдеров и аутентификаторов. Это первый шаг к безопасному контролю доступа.

Аутентификация является одним из этапов контроля доступа. Контроль доступа в Spirit IAM обеспечивает Identity & Access Proxy.

Этапы аутентификации

Предъявление идентификатора (identity claim)

Субъект сообщает, кто он. В Spirit IAM для разных учетных записей используются разные идентификаторы:

  • Для пользователя — UUID учетной записи (c81a3196-3d85-4c23-986e-62785ab51828).
  • Для сервисного аккаунта — UUID учетной записи (c518d50e-20dd-4242-a735-083b69fe0f82).
  • Для IAM-JWK-интеграции — пара «ключ тенанта + идентификатор системы» (iam:service).
  • Для API-ключа — UUID из клейма jti (35375a19-2154-4498-80da-c002e9881453).
  • Для OAuth2-клиентов — client_id (spirit-iam-cli).

Предъявление доказательства (proof of identity)

Предоставление одного или нескольких факторов, доказывающих, что пользователь — тот, за кого себя выдает:

  • Что-то, что знаешь — пароль, PIN, ключ.
  • Что-то, что имеешь — токен, сертификат, TOTP-приложение, смарт-карта.
  • Что-то, что ты есть — биометрия (отпечаток, лицо).

В Spirit IAM для разных типов учетных записей используются:

  • Для пользователей — логин и пароль.
  • Для сервисных аккаунтов — приватный ключ сервисного аккаунта.
  • Для IAM-JWK интеграции — JWT-токен, подписанный приватным ключом интеграции.
  • Для API-ключа — JWT-токен, подписанный одноразовым приватным ключом.
  • Для OAuth2-клиента — client_secret и другие методы, описанные стандартом OAuth2.

Проверка доказательства (identity verification)

Система сверяет предъявленные данные с зарегистрированными.

В зависимости от того, какая учетная запись участвует в процессе аутентификации, проверку могут выполнять разные компоненты системы Spirit IAM.

  • Пользовательские УЗ проверяются компонентом ORY Kratos Identities.
  • Сервисные УЗ, а так же OAuth2-клиенты проверяются с помощью Ory Hydra OAuth2 и TenantManager.
  • Токены IAM-JWK-интеграций и API-ключей проверяются компонентом IAM-JWK.

Результат аутентификации

  • Успешно — субъект считается аутентифицированным.
  • Неуспешно — ошибка; возможна блокировка УЗ после нескольких попыток.