System Design Space
Граф знанийНастройки

Обновлено: 18 мая 2026 г. в 10:00

Идентификация, аутентификация и авторизация (AuthN/AuthZ)

лёгкий

Практическая модель идентификации, аутентификации и авторизации: OIDC/OAuth, WebAuthn, SAML, SCIM, mTLS, токены, сервисная идентичность и политики доступа.

Идентификацию, аутентификацию и авторизацию часто смешивают в одну тему, хотя архитектурно это три разных слоя доверия.

Глава раскладывает их на решения о субъекте, федерации, сессиях, токенах, сервисной идентичности и политике доступа, чтобы OAuth 2.0/OIDC, SAML, WebAuthn, SCIM и mTLS заняли понятные места.

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

Практическая польза главы

Практика проектирования

Разделяйте идентификацию, аутентификацию и авторизацию в архитектуре: кто субъект, как он доказал подлинность и какое действие ему разрешено.

Качество решений

Проверяйте жизненный цикл токенов, сервисную идентичность, точки применения политики и журнал аудита, а не только форму входа.

Аргументация на интервью

Стройте ответ как поток: идентификатор, проверка подлинности, сессия или токен, решение доступа.

Формулировка компромиссов

Явно обсуждайте цену многофакторной аутентификации, короткоживущих токенов, централизованных политик и отзыва доступа.

Spec

OpenID Connect Core

Базовая спецификация OIDC для аутентификации пользователя поверх OAuth 2.0.

Открыть спецификацию

В промышленной эксплуатации чаще всего ломаются не криптографические алгоритмы, а границы ответственности: где заканчивается , где начинается и где принимается решение .

Эта глава фиксирует практическую модель для пользователей и сервисов: , , токены, OIDC/OAuth, SAML, WebAuthn, mTLS, SCIM и политику доступа.

Архитектурные схемы идентичности

Три режима показывают разные архитектурные вопросы: кто субъект, как он доказал подлинность и кто принимает решение о доступе.

Субъект сообщает идентификатор

Идентификатор помогает найти запись о субъекте, но сам по себе ещё не доказывает, что запрос делает именно этот субъект.

Субъект
Идентификатор
Каталог / провайдер
Запись идентичности

1. Кто представился

Субъект

Пользователь, сервис или устройство сообщает логин, адрес почты, номер сотрудника или имя учётной записи.

2. Поиск и нормализация

Каталог / провайдер

Каталог сопоставляет идентификатор с записью, тенантом, статусом и источником правды.

3. Результат

Запись идентичности

Система получает нормализованную запись и утверждения об идентичности, но проверка подлинности ещё впереди.

Что важно помнить

  • Идентификатор не равен доказанной личности.
  • Запись должна быть уникальной в своём домене.
  • Жизненный цикл записи важен не меньше входа в систему.

Трио: идентификация, аутентификация и авторизация

Идентификация

Кем субъект представился

  • Субъект сообщает идентификатор: адрес почты, телефон, табельный номер или имя учётной записи сервиса.
  • Идентификатор помогает найти запись, но не доказывает подлинность субъекта сам по себе.
  • Запись должна быть уникальной в своём домене: тенанте, организации или системе.

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

Доказательство подлинности

  • Проверяются факторы: пароль, одноразовый код, , клиентский сертификат или ключ рабочей нагрузки.
  • Результат аутентификации: подтверждённый субъект, метод проверки и .
  • Для пользователей базой становятся и сценарии без единственного пароля.

Авторизация

Решение о доступе

  • Проверяется право выполнить действие над ресурсом в конкретном контексте запроса.
  • Используются , , или на базе OPA/Cedar.
  • Решение зависит от субъекта, действия, ресурса, тенанта, времени, устройства и других признаков контекста.

BCP

OAuth 2.0 Security BCP

Рекомендации IETF по безопасной реализации OAuth 2.0.

Открыть RFC 9126

Как это обычно реализуют сейчас

Пользователь → приложение/API

  • проводит вход пользователя через OIDC или SAML.
  • Приложение получает сессию, , и при необходимости .
  • API выполняет : подпись, , , срок действия и время начала действия.
  • выполняется в API или через отдельный механизм политики доступа.

Сервис → сервис

  • подтверждает на уровне защищённого канала.
  • безопаснее долгоживущих секретов.
  • Для внутренних API применяйте детальную .
  • должен отвечать, кто сделал запрос, куда, зачем и с каким решением политики.

Контур управления

  • Единый провайдер идентичности и каталог связывают пользователей, группы, сервисы, статусы и источники истины.
  • Выделяйте и для оценки правил вне кода приложения.
  • , и снижают накопление лишних прав.
  • и отключение учётной записи должны срабатывать при смене роли или статуса.

Основные протоколы и стандарты

OAuth 2.0 + PKCE

Зачем: Делегированный доступ к API от имени пользователя или приложения.

Где: Веб-приложения, мобильные клиенты и публичные клиенты без безопасного хранения секрета.

Важно: Используйте с ; лучше не применять в новых системах.

OpenID Connect (OIDC)

Зачем: Слой поверх OAuth 2.0.

Где: Единый вход, пользовательский вход и федерация с внешним провайдером идентичности.

Важно: описывает вход пользователя, а даёт ограниченное право вызвать API.

SAML 2.0

Зачем: Корпоративный .

Где: Интеграции с корпоративными порталами, старыми провайдерами идентичности и B2B/B2E-сценариями.

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

WebAuthn / FIDO2

Зачем: Вход без пароля и устойчивость к фишингу.

Где: Клиентские приложения, админские панели и чувствительные операции.

Важно: , и ключи доступа помогают снизить риск кражи пароля.

mTLS + SPIFFE/SPIRE

Зачем: сервисов и рабочих нагрузок.

Где: Микросервисы, сервисная сетка и zero-trust-сети.

Важно: Комбинируйте с и короткоживущими сертификатами.

SCIM

Зачем: : создание, изменение и отключение учётных записей.

Где: B2B/B2E, синхронизация пользователей и групп между каталогом и приложениями.

Важно: SCIM не заменяет AuthN/AuthZ: он автоматизирует и .

Важно: — это формат токена, а не протокол аутентификации или авторизации. Без правил проверки, ротации ключей и отзыва доступа он сам по себе не решает задачу безопасности.

Частые ошибки в промышленной эксплуатации

  • Путать и : успешный вход не означает право на любое действие.
  • Хранить слишком долго или без строгой ротации ключей.
  • Использовать одну роль администратора без детализации прав по операциям, ресурсам и тенантам.
  • Проверять подпись , но игнорировать издателя, аудиторию, срок действия и время начала действия.
  • Оставлять вечные сервисные ключи вместо .
  • Не вести единый решений авторизации и событий доступа.

Дополнительные материалы

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки