Политики сеансов и ограничение по тегам
Ещё сильнее ограничивайте разрешения в момент принятия роли.
«Политики сеансов и ограничение по тегам» — бесплатный урок AWS Security Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AWS Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AWS Security Academy содержит 4 уроков всего.
Сужение разрешений при принятии роли
Иногда необходимо предоставить роль, но ограничить действия конкретного сеанса без изменения самой роли. Политики сеанса и теги сеанса позволяют сузить разрешения в точный момент принятия роли. Эти расширенные возможности STS поддерживают детализированный и масштабируемый принцип минимальных привилегий, которому на экзамене отдается предпочтение.
Что такое политика сеанса
Политика сеанса — это встроенная или управляемая политика, передаваемая в AssumeRole (через Policy или PolicyArns). Она не предоставляет новых разрешений, а только может отфильтровать существующие разрешения роли для данного сеанса. Итоговые разрешения представляют собой пересечение политик роли и политики сеанса.
Логика пересечения
Поскольку результатом является пересечение, политика сеанса никогда не позволит сеансу выполнить больше действий, чем уже разрешено ролью. Если роль предоставляет s3:*, а политика сеанса разрешает только s3:GetObject, сеанс сможет лишь получать объекты. Поэтому политики сеанса безопасно использовать для выдачи ограниченной части разрешений более широкой роли.
Пример использования
Распространенный вариант: один мощный роль принимается инструментом оркестрации, который для каждой задачи добавляет политику сеанса, ограничивающую эту задачу одним хранилищем или одной группой ресурсов. Каждый сеанс имеет узкую область действия, хотя базовая роль обладает широкими разрешениями. Это позволяет не создавать десятки ролей с индивидуальной настройкой.
Передача политики сеанса
В этом фрагменте CLI показана передача встроенной политики сеанса, которая дополнительно ограничивает сеанс. Чтобы эти действия выполнялись, роль уже должна разрешать их.
aws sts assume-role \
--role-arn arn:aws:iam::123456789012:role/Broad \
--role-session-name job-42 \
--policy file://restrict.jsonЗнакомство с тегами сеанса
Теги сеанса — это атрибуты в формате «ключ — значение», прикрепляемые к сеансу при выполнении AssumeRole. Переданные через параметр Tags, они становятся частью контекста запроса, и к ним можно обращаться в политиках через aws:PrincipalTag. Теги сеанса передают атрибуты субъекта, принимающего роль, в каждое решение об авторизации.
Теги обеспечивают ABAC
Теги сеанса — основа управления доступом на основе атрибутов (ABAC) для принятых ролей. Политика может требовать, чтобы значение aws:PrincipalTag/Project сеанса совпадало со значением aws:ResourceTag/Project ресурса, предоставляя доступ только при совпадении тегов проекта. Одна политика может обслуживать множество проектов и легко масштабироваться.
Транзитивные теги
При последовательном принятии ролей обычные теги сеанса не передаются дальше. Если пометить тег как транзитивный, он сохранится при последующих принятиях ролей в цепочке. Благодаря этому такие атрибуты, как отдел исходного пользователя, следуют за удостоверением через несколько переходов, что важно для согласованной работы ABAC.
Разрешения на добавление тегов
Для передачи тегов сеанса помимо разрешения sts:TagSession требуется разрешение sts:AssumeRole. Политика доверия также может ограничивать допустимые ключи или значения тегов. Контроль того, кто и какие теги сеанса может задавать, не позволяет пользователям самостоятельно предоставлять себе доступ, назначая привилегированные значения тегов.
Объединение обоих инструментов
Политики сеанса и теги сеанса работают вместе: теги выражают, кого представляет сеанс при сопоставлении ABAC, а политики сеанса ограничивают, что может делать сеанс. Вместе они позволяют одной широко определённой роли безопасно обслуживать множество сеансов с узкими полномочиями — это элегантная и масштабируемая схема, на которую обращается внимание в экзамене.
Объединение всего
Используйте политики сеанса, чтобы пересекать и уменьшать разрешения роли для каждого сеанса, но никогда не добавлять их. Используйте теги сеанса (с разрешением sts:TagSession), чтобы управлять ABAC через aws:PrincipalTag; при цепочке ролей помечайте теги как транзитивные. Эти возможности STS обеспечивают минимально необходимые разрешения для каждого сеанса, используя небольшое число повторно применяемых ролей.
Быстрая проверка
Проверьте ограничение области сеанса.
Повторение
Политики сеанса, переданные в AssumeRole, пересекаются с разрешениями роли, уменьшая их, но никогда не расширяя. Теги сеанса (для которых требуется sts:TagSession) передают атрибуты в ABAC через aws:PrincipalTag, а транзитивные теги сохраняются при цепочке ролей. Вместе они обеспечивают минимально необходимые разрешения для каждого сеанса на основе нескольких повторно применяемых ролей.
Часто задаваемые вопросы
Урок «Политики сеансов и ограничение по тегам» бесплатный?
Да — полный текст урока «Политики сеансов и ограничение по тегам» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AWS Security Academy, подпишись на CoddyKit PRO. Курс AWS Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Политики сеансов и ограничение по тегам»?
Ещё сильнее ограничивайте разрешения в момент принятия роли. Ты практикуешь AWS Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AWS Security Academy?
Предыдущий опыт не требуется. AWS Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Политики сеансов и ограничение по тегам»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AWS Security Academy?
Да. Каждый урок AWS Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Как STS выдаёт временные учётные данные
- AssumeRole и срок действия сеанса
- Внешний ID и проблема запутавшегося заместителя
- Политики сеансов и ограничение по тегам