Предоставление использования ключей KMS по умолчанию для ролей IAM с помощью CloudFormation

У нас есть несколько значений хранилища параметров SecureString SSM, созданных с помощью наших сценариев автоматизации bash. Они зашифрованы с помощью ключа KMS + псевдонима для конкретной среды, созданного с помощью CloudFormation.

Также в шаблонах есть роли IAM для наших экземпляров EC2, которые должны разрешать получение и дешифрование параметров SSM. Для этого мы предоставили доступ к этим ролям IAM при создании ключа KMS, сославшись на их ролевые ARN как на принципы.

Однако у нас есть некоторые переменные SSM, не зависящие от среды, в нашей учетной записи AWS, которые сохраняются за пределами стеков CloudFormation нашей среды и используются во всех средах.

Недавно мы адаптировали эти параметры для шифрования с помощью ключа KMS по умолчанию - alias/aws/ssm.

Этот подход вызывает проблемы с автоматизацией, поскольку нам необходимо предоставить использование ключа KMS по умолчанию нашим ролям IAM в CloudFormation. Я прочитал документацию AWS и не могу понять, как это сделать.

Кому-нибудь удалось это автоматизировать?


person x3nr0s    schedule 23.03.2020    source источник
comment
SecureString SSM Parameter Store values created via CloudFormation. КАК??   -  person franklinsijo    schedule 23.03.2020
comment
Простите меня, наши SecureStrings создаются через bash в том же скрипте, из которого мы вызываем создание CloudFormation. Я отредактировал описание, чтобы отразить это.   -  person x3nr0s    schedule 23.03.2020
comment
Уточняю, ваш вопрос касается того, как установить ключевую политику KMS для alias/aws/ssm?   -  person franklinsijo    schedule 23.03.2020
comment
Мой вопрос, есть ли способ в CloudFormation, чтобы роль IAM могла получить доступ для дешифрования SecureStrings, зашифрованных с помощью ключа alias/aws/ssm по умолчанию, вместо специально созданного ключа.   -  person x3nr0s    schedule 23.03.2020
comment
Нет, для таких ключей AWS управляет политиками доступа.   -  person franklinsijo    schedule 23.03.2020


Ответы (1)


Ключ KMS по умолчанию alias/aws/ssm - это CMK, управляемый AWS. Мы не можем установить политики IAM или ключевые политики KMS для AWS Managed CMK.

Выдержка из часто задаваемых вопросов по AWS KMS,

AWS будет управлять политиками, связанными с управляемыми AWS CMK от вашего имени. Вы можете отслеживать ключи, управляемые AWS, в своей учетной записи, и все использование регистрируется в AWS CloudTrail, но у вас нет прямого контроля над самими ключами.

Вам не нужно беспокоиться об определении ролей IAM для доступа к alias/aws/ssm ключу, достаточно иметь доступ к обязательному параметру SSM.

person franklinsijo    schedule 23.03.2020
comment
Для будущих читателей - вот ключевое предложение в приведенном выше ответе, спасибо franklinsijo: Достаточно иметь доступ к требуемому параметру SSM. - person x3nr0s; 02.04.2020