0Pricing
AWS Security Academy · Урок

Как STS выдаёт временные учётные данные

Разберитесь в службе токенов безопасности, лежащей в основе каждой роли.

«Как STS выдаёт временные учётные данные» — бесплатный урок AWS Security Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AWS Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AWS Security Academy содержит 4 уроков всего.

Сервис токенов

Security Token Service (STS) — это сервис AWS, который выдаёт временные учётные данные безопасности. Каждый раз, когда принимается роль или федеративно подключается субъект, STS выдаёт краткоживущие учётные данные вместо постоянных ключей. Понимание STS крайне важно для экзамена, поскольку временные учётные данные лежат в основе почти всех защищённых способов доступа в AWS.

Что представляют собой временные учётные данные

Учётные данные STS состоят из трёх частей: идентификатора ключа доступа, секретного ключа доступа и токена сессии. Именно токен сессии отличает их от долгосрочных ключей; он должен сопровождать каждый подписанный запрос. Все три компонента одновременно истекают после заданного срока действия, поэтому учётные данные автоматически ограничены по времени.

Почему временные учётные данные безопаснее

Поскольку они автоматически истекают (через 15 минут — 12 часов), временные учётные данные значительно ограничивают ущерб от утечки. Их не нужно вручную заменять, и злоумышленнику нечего украсть навсегда. Поэтому AWS почти всегда рекомендует временные учётные данные вместо долгосрочных ключей доступа — экзамен неоднократно подчёркивает этот принцип.

Основные API STS

STS предоставляет несколько операций:

  • AssumeRole — принять роль в той же или другой учётной записи.
  • AssumeRoleWithSAML — выполнить федерацию через поставщика удостоверений SAML.
  • AssumeRoleWithWebIdentity — выполнить федерацию через OIDC или удостоверение веб-сервиса.
  • GetSessionToken / GetFederationToken — для MFA и федерации пользователей IAM.

Процесс AssumeRole

Наиболее распространённый вызов — AssumeRole. Уже прошедший аутентификацию вызывающий субъект запрашивает роль; STS проверяет, разрешает ли политика доверия роли доступ этому субъекту, а затем возвращает временные учётные данные с разрешениями роли. Субъект использует их до истечения срока действия, после чего снова принимает роль для обновления учётных данных.

Вызов AssumeRole

Этот вызов CLI принимает роль и возвращает временные учётные данные. Необходимо указать ARN роли и имя сессии; имя сессии отображается в CloudTrail для аудита.

aws sts assume-role \
  --role-arn arn:aws:iam::123456789012:role/Audit \
  --role-session-name security-review

Региональные и глобальные конечные точки

Раньше STS использовал одну глобальную конечную точку, но теперь AWS также предоставляет региональные конечные точки STS. Использование региональной конечной точки уменьшает задержку и повышает устойчивость, а некоторые конфигурации для соответствия требованиям требуют её применения. Новые регионы недоступны через глобальную конечную точку, поэтому включение регионального STS является рекомендуемой настройкой.

Идентификация вызывающей стороны

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

aws sts get-caller-identity

Учётные данные в CloudTrail

Каждый вызов STS регистрируется в CloudTrail, включая сведения о том, кто принял какую роль и какое имя сессии выбрал. Эта история позволяет следователям точно установить, какой человек или сервис получил временные учётные данные и что затем сделал. Осмысленные имена сессий делают такой аудит гораздо полезнее.

Токен сессии на практике

Приложения, использующие временные учётные данные, должны отправлять токен сессии с каждым запросом; AWS SDK и CLI делают это автоматически после настройки. Если при использовании временных учётных данных возникают ошибки аутентификации, сначала проверьте, не отсутствует ли токен сессии и соответствует ли он запросу.

Использование STS

STS лежит в основе ролей и федерации: он выдаёт наборы из краткоживущих ключа доступа, секретного ключа и токена сессии, которые истекают автоматически и значительно безопаснее постоянных ключей. Используйте операции семейства AssumeRole, отдавайте предпочтение региональным конечным точкам, задавайте сессиям осмысленные имена для CloudTrail и везде, где возможно, заменяйте долгосрочные ключи временными учётными данными.

Быстрая проверка

Проверьте свои знания основ STS.

Повторение

Security Token Service (STS) выдает временные учетные данные: ключ доступа, секретный ключ и маркер сеанса, срок действия которых составляет от 15 минут до 12 часов. К основным API относятся AssumeRole, AssumeRoleWithSAML и AssumeRoleWithWebIdentity. Предпочитайте региональные конечные точки, используйте содержательные имена сеансов для CloudTrail и заменяйте долгосрочные ключи временными.

Часто задаваемые вопросы

Урок «Как STS выдаёт временные учётные данные» бесплатный?

Да — полный текст урока «Как STS выдаёт временные учётные данные» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AWS Security Academy, подпишись на CoddyKit PRO. Курс AWS Security Academy содержит 4 уроков всего.

Чему я научусь в уроке «Как STS выдаёт временные учётные данные»?

Разберитесь в службе токенов безопасности, лежащей в основе каждой роли. Ты практикуешь AWS Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AWS Security Academy?

Предыдущий опыт не требуется. AWS Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Как STS выдаёт временные учётные данные»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AWS Security Academy?

Да. Каждый урок AWS Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Как STS выдаёт временные учётные данные
  2. AssumeRole и срок действия сеанса
  3. Внешний ID и проблема запутавшегося заместителя
  4. Политики сеансов и ограничение по тегам
← Назад к AWS Security Academy