SAML, OIDC и федерация веб-идентичностей
Подключайте внешних поставщиков идентификации и вход в приложения к AWS.
«SAML, OIDC и федерация веб-идентичностей» — бесплатный урок AWS Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AWS Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AWS Security Academy содержит 4 уроков всего.
Что означает федерация
Федерация позволяет удостоверениям, определённым за пределами AWS, входить в систему и получать разрешения AWS без создания пользователя IAM.
Внешний поставщик удостоверений (IdP) подтверждает личность пользователя, а AWS доверяет этому утверждению и выдаёт временные учётные данные. Это позволяет не дублировать аккаунты и хранить источник истины в существующем каталоге.
Федерация SAML 2.0
SAML (язык разметки утверждений безопасности) 2.0 — классический стандарт для федерации в корпоративной среде.
- Вы регистрируете IdP в IAM как поставщика удостоверений SAML.
- После входа пользователя IdP отправляет подписанное утверждение.
- AWS обменивает его через STS на временные учётные данные роли.
Этот стандарт часто используется с Active Directory Federation Services и аналогичными корпоративными IdPs.
Федерация OIDC
OIDC (OpenID Connect) — современный стандарт на основе токенов, построенный на OAuth 2.0.
Он идеально подходит для федерации рабочих нагрузок и систем непрерывной интеграции и доставки. Например, конвейер GitHub Actions может предъявить токен OIDC, после чего AWS принимает роль без сохранённых ключей. Вы регистрируете поставщика как поставщика удостоверений OIDC в IAM.
Федерация веб-удостоверений
Федерация веб-удостоверений позволяет пользователям входить через общедоступного поставщика, такого как Google, Facebook или Amazon; это распространено в мобильных и веб-приложениях.
Приложение передаёт токен поставщика в STS через AssumeRoleWithWebIdentity и получает временные учётные данные с ограниченными полномочиями роли. Пользователям не требуется удостоверение IAM.
Роль STS
Все пути федерации сходятся в STS (службе токенов безопасности). STS обменивает проверенное внешнее утверждение на краткосрочные учётные данные AWS, связанные с ролью IAM.
- SAML использует AssumeRoleWithSAML.
- OIDC и веб-удостоверения используют AssumeRoleWithWebIdentity.
Разрешения роли определяют, что может делать федеративный пользователь.
Политики доверия для федерации
Роль IAM, которую принимает федеративный пользователь, имеет политику доверия, в которой IdP указан как субъект.
Условия в политике доверия ограничивают круг пользователей этого поставщика, которые могут принять роль, например требуют определённый атрибут SAML или утверждение OIDC идентификатор субъекта. Это не позволяет поставщику с широкими полномочиями предоставлять доступ всем подряд.
{
"Effect": "Allow",
"Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/token.actions.githubusercontent.com" },
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": { "StringLike": { "token.actions.githubusercontent.com:sub": "repo:my-org/my-repo:*" } }
}Identity Center и обычная федерация
IAM Identity Center сам является уровнем федерации для персонала и предоставляет удобный портал и наборы разрешений.
Обычные поставщики IAM SAML или OIDC — это низкоуровневые строительные блоки, которые лучше подходят для федерации приложений и рабочих нагрузок или устаревших конфигураций. На экзамене следует выбирать Identity Center для пользовательского единого входа, а роли OIDC — для конвейеров.
Пулы удостоверений Amazon Cognito
Для приложений, ориентированных на потребителей, пулы удостоверений Amazon Cognito выполняют федерацию веб-удостоверений от вашего имени.
Они обменивают входы через социальные сети или пользовательские пулы на временные учётные данные AWS и обрабатывают вызовы STS в фоновом режиме. Для мобильных приложений это рекомендуемый путь вместо прямого вызова AssumeRoleWithWebIdentity.
Отказ от встроенных ключей
Главная цель федерации — не встраивать долгосрочные ключи в приложения, конвейеры и устройства.
- Утечка статических ключей — одна из основных причин утечек данных.
- Федеративные токены действуют недолго и связаны с проверенным удостоверением.
Если в сценарии указаны жёстко заданные ключи доступа, обычно решением является федерация.
Выбор подходящего стандарта
Выбирайте стандарт в зависимости от источника:
- SAML — для традиционных корпоративных IdPs и AD.
- OIDC — для современных рабочих нагрузок и непрерывной интеграции и доставки.
- Веб-удостоверения / Cognito — для пользователей общедоступных приложений.
Все они предоставляют временные учётные данные, различаясь главным образом форматом токена и сценарием использования.
Аудит федеративного доступа
Федеративные сеансы отображаются в CloudTrail с удостоверением принятой роли и событием федерации.
Вы можете отследить, какой IdP и какой внешний пользователь инициировали действие, сохраняя ответственность даже при отсутствии пользователя IAM. Единообразные имена ролей значительно упрощают чтение этих журналов.
Быстрая проверка
Выберите подходящий вариант федерации.
Итоги
Вы сравнили стандарты федерации.
- SAML — для корпоративных IdPs, OIDC — для рабочих нагрузок, веб-удостоверения/Cognito — для пользователей приложений.
- Все они обменивают проверенное внешнее утверждение через STS на временные учётные данные роли.
- Федерация устраняет необходимость во встроенных долгосрочных ключах.
Часто задаваемые вопросы
Урок «SAML, OIDC и федерация веб-идентичностей» бесплатный?
Да — полный текст урока «SAML, OIDC и федерация веб-идентичностей» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AWS Security Academy, подпишись на CoddyKit PRO. Курс AWS Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «SAML, OIDC и федерация веб-идентичностей»?
Подключайте внешних поставщиков идентификации и вход в приложения к AWS. Ты практикуешь AWS Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AWS Security Academy?
Предыдущий опыт не требуется. AWS Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «SAML, OIDC и федерация веб-идентичностей»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AWS Security Academy?
Да. Каждый урок AWS Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Единый вход с IAM Identity Center
- SAML, OIDC и федерация веб-идентичностей
- Межаккаунтные роли и политики ресурсов
- Аудит общего доступа с помощью IAM Access Analyzer