AssumeRole и срок действия сеанса
Узнайте, как субъект обменивает свою идентичность на разрешения роли.
«AssumeRole и срок действия сеанса» — бесплатный урок AWS Security Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AWS Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AWS Security Academy содержит 4 уроков всего.
Обмен удостоверением на разрешения
Операция AssumeRole позволяет субъекту временно обменять собственное удостоверение на разрешения роли. В результате создается сеанс с ограниченным сроком действия. Управление продолжительностью этого сеанса и областью его разрешений — частая тема SCS-C02, поскольку срок действия сеанса напрямую влияет на уровень риска для безопасности.
Сеанс принятой роли
После успешного выполнения AssumeRole вызывающая сторона работает как сеанс принятой роли, идентифицируемый ARN вида arn:aws:sts::ACCOUNT:assumed-role/RoleName/SessionName. В течение этого времени вызывающая сторона обладает разрешениями роли, а не исходными разрешениями. Переданное вами имя сеанса сохраняется для аудита.
Продолжительность в секундах
Параметр DurationSeconds задает продолжительность сеанса: от 900 секунд (15 минут) до максимального значения, определенного для роли. Более короткие сеансы уменьшают период, в течение которого утекшие учетные данные остаются действительными, поэтому принцип минимальных привилегий предполагает максимально короткую практически применимую продолжительность.
Максимальная продолжительность сеанса
Для каждой роли задан параметр MaximumSessionDuration (от 1 до 12 часов). Запрос с DurationSeconds, превышающим это значение, отклоняется. Разумное максимальное значение для ролей, работающих с конфиденциальными данными, ограничивает продолжительность любого отдельного принятия роли. Это ограничение можно настроить для ролей с высоким уровнем риска.
Ограничение при последовательном принятии ролей
Когда одна принятая роль принимает другую роль, это называется последовательным принятием ролей. AWS ограничивает продолжительность таких сеансов максимум одним часом, независимо от настроенного для роли максимального значения. Знание этого ограничения объясняет, почему некоторые запросы на длительный сеанс завершаются ошибкой при последовательном принятии ролей. Это важная деталь экзамена.
Обновление учетных данных
Поскольку срок действия сеансов истекает, приложения должны повторно принимать роль, чтобы продолжить работу. SDK прозрачно обрабатывают это для профилей экземпляров и настроенных профилей ролей, получая новые учетные данные до истечения срока действия старых. Продлить существующий сеанс невозможно: вместо этого необходимо получить новый.
Параметры AssumeRole
Помимо продолжительности, AssumeRole принимает Policy или PolicyArns (политики сеанса для сужения разрешений), Tags (теги сеанса для ABAC), а также SerialNumber и TokenCode для MFA. Благодаря этому область действия и защита каждого принятия роли настраиваются точно в момент его выполнения.
Требование MFA
Политика доверия роли может требовать MFA. В этом случае запрос AssumeRole должен содержать ARN устройства MFA и действительный код маркера. Это гарантирует, что для принятия привилегированной роли одной украденной учетной записи будет недостаточно. Сочетание коротких сеансов с MFA — надежная мера защиты конфиденциальных ролей, рекомендуемая на экзамене.
"Condition": {
"Bool": { "aws:MultiFactorAuthPresent": "true" }
}Отзыв активных сеансов
Удалить отдельные временные учетные данные невозможно, но можно отозвать все активные сеансы роли, добавив встроенную политику, запрещающую действия для маркеров, выданных до выбранного времени, с использованием условия aws:TokenIssueTime. Кнопка консоли «Отозвать активные сеансы» делает именно это и является важным инструментом реагирования на инциденты.
Преимущества коротких сеансов
Короткий срок действия сеанса означает, что даже утекшие временные учетные данные вскоре станут бесполезными. В сочетании с отзывом, MFA и политиками сеанса с минимальными привилегиями это значительно сокращает период, доступный для атаки. На экзамене предпочтение обычно отдается ответам, которые сводят к минимуму время действия любых учетных данных.
Объединение всего материала
AssumeRole создает сеанс с ограниченным сроком действия, определяемым параметром DurationSeconds в пределах MaximumSessionDuration роли; для последовательно принятых ролей действует ограничение в один час. Ограничивайте область действия каждого сеанса с помощью политик, тегов и MFA, а для немедленного завершения скомпрометированных сеансов используйте прием с отзывом через TokenIssueTime. Безопасный вариант по умолчанию — короткие сеансы с узкой областью действия.
Быстрая проверка
Проверьте знания о сроке действия сеансов.
Повторение
AssumeRole создает сеанс принятой роли продолжительностью от 15 минут до значения MaximumSessionDuration роли (максимум 12 часов); для последовательного принятия ролей действует ограничение в один час. Ограничивайте область действия сеансов с помощью политик сеанса, тегов и MFA. Отзывайте скомпрометированные сеансы с помощью запрета через aws:TokenIssueTime. Предпочитайте короткие сеансы с узкой областью действия.
Изучай AWS Security Academy с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «AssumeRole и срок действия сеанса» бесплатный?
Да — полный текст урока «AssumeRole и срок действия сеанса» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AWS Security Academy, подпишись на CoddyKit PRO. Курс AWS Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «AssumeRole и срок действия сеанса»?
Узнайте, как субъект обменивает свою идентичность на разрешения роли. Ты практикуешь AWS Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AWS Security Academy?
Предыдущий опыт не требуется. AWS Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «AssumeRole и срок действия сеанса»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AWS Security Academy?
Да. Каждый урок AWS Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Как STS выдаёт временные учётные данные
- AssumeRole и срок действия сеанса
- Внешний ID и проблема запутавшегося заместителя
- Политики сеансов и ограничение по тегам