Политики ключей, разрешения и условия
Точно управляйте тем, кто и в каком контексте может использовать ключ.
«Политики ключей, разрешения и условия» — бесплатный урок AWS Security Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AWS Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AWS Security Academy содержит 4 уроков всего.
Управление доступом к ключу
Создание ключа — это только половина задачи; управление тем, кто может его использовать, — вторая половина. KMS использует несколько взаимосвязанных механизмов доступа.
Самый важный из них — политика ключа, политика на основе ресурса, непосредственно прикреплённая к ключу.
Политика ключа
У каждого ключа KMS есть политика ключа, которая является главным источником полномочий для управления доступом.
- В отличие от большинства сервисов, ключ KMS обязательно должен иметь политику ключа.
- Если политика ключа не предоставляет доступ, одних политик IAM недостаточно.
Поэтому политика ключа выступает в роли привратника.
Совместное использование политики ключа и IAM
Для доступа к ключу KMS политика ключа должна разрешать IAM, после чего применяются вместе IAM и политика ключа.
Политика ключа по умолчанию содержит утверждение, предоставляющее субъектам IAM этой учётной записи доступ в соответствии с их политиками IAM. Без этого утверждения ключ могут использовать только субъекты, непосредственно указанные в политике ключа.
{
"Sid": "EnableIAM",
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::111122223333:root" },
"Action": "kms:*",
"Resource": "*"
}Предоставления
Предоставление — это гибкий временный способ делегировать использование ключа.
- Оно разрешает субъекту выполнять определённые операции, часто программным способом.
- Сервисы AWS используют предоставления для доступа к ключам от Вашего имени.
Предоставления можно отменить или отозвать, когда они больше не нужны; это особенно удобно для краткосрочного делегирования.
Предоставления и политика ключа
Выбирайте вариант с учётом срока действия и степени детализации:
- Используйте политику ключа и IAM для постоянного широкого доступа.
- Используйте предоставления для детализированных временных разрешений, которые сервисы или приложения часто создают динамически.
Предоставления позволяют не изменять политику ключа для краткосрочных задач.
Ключи условий
KMS поддерживает мощные ключи условий в политиках, например kms:ViaService.
ViaService ограничивает использование ключа запросами, поступающими через определённый сервис AWS (например, только через S3), поэтому субъект может расшифровать данные только при вызове со стороны S3, а не напрямую.
Контекст шифрования
Контекст шифрования — это набор пар «ключ—значение», передаваемых вместе с операцией шифрования или расшифровки и криптографически связанных с этой операцией.
- Для расшифровки необходимо передать тот же контекст.
- Он отображается в CloudTrail для аудита.
Политики могут требовать определённый контекст с помощью условия kms:EncryptionContext.
Доступ к ключу между учётными записями
Чтобы разрешить другой учётной записи использовать ключ, политика ключа должна разрешать доступ этой внешней учётной записи, а внешнему субъекту также требуется разрешение IAM.
Это тот же двусторонний принцип, что и для ролей между учётными записями: политика ресурса (в данном случае политика ключа) и политика IAM вызывающей стороны должны обе разрешать действие.
Минимальные привилегии для ключей
Применяйте принцип минимальных привилегий к ключам:
- Разделяйте администраторов ключей (управляют ключом) и пользователей ключей (шифруют и расшифровывают данные).
- Не используйте kms:* для пользователей.
- Используйте ViaService и контекст шифрования, чтобы сузить область действия.
Это уменьшает масштаб последствий при компрометации субъекта.
Ошибка политики ключа по умолчанию
Классическая ошибка — изменить политику ключа и удалить утверждение, разрешающее IAM.
Без него даже администраторы учётной записи теряют доступ, а поскольку политика ключа является привратником, Вы можете полностью заблокировать себе доступ к ключу. Чтобы ключ можно было восстановить, всегда оставляйте в политике ключа административного субъекта на уровне учётной записи.
Аудит доступа к ключам
Объединяйте CloudTrail (каждый вызов KMS с контекстом) и IAM Access Analyzer (политики ключей, предоставляющие внешний доступ), чтобы проверять, кто может использовать каждый ключ и кто действительно его использует.
Регулярная проверка помогает обнаружить слишком широкие политики ключей до того, как они станут угрозой.
Быстрая проверка
Проанализируйте доступ к KMS.
Повторение
Вы узнали, как управляется доступ к KMS.
- Политика ключа — главный привратник; она должна разрешать IAM использовать ключ.
- Предоставления обеспечивают временное детализированное делегирование.
- Условия, такие как ViaService и контекст шифрования, сужают область действия.
Часто задаваемые вопросы
Урок «Политики ключей, разрешения и условия» бесплатный?
Да — полный текст урока «Политики ключей, разрешения и условия» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AWS Security Academy, подпишись на CoddyKit PRO. Курс AWS Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Политики ключей, разрешения и условия»?
Точно управляйте тем, кто и в каком контексте может использовать ключ. Ты практикуешь AWS Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AWS Security Academy?
Предыдущий опыт не требуется. AWS Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Политики ключей, разрешения и условия»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AWS Security Academy?
Да. Каждый урок AWS Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Что такое ключи KMS и для чего они нужны
- Симметричные, асимметричные и многорегиональные ключи
- Политики ключей, разрешения и условия
- Конвертное шифрование и ключи данных