Как выполнить ротацию ключей AWS S3 SSE KMS?

Сценарий -
, который я создал -
1. Одна корзина S3
2. Два ключа KMS
3. Включено Default encryption в корзине S3 с помощью ключа KMS №1
4. Загрузил файл в корзину
5. Проверьте сведения об объекте, он показал Server-side encryption: AWS-KMS и KMS key ID: ARN of KMS key #1
6. Изменил AWS S3 Default encryption и теперь выбрал KMS key #2
7. Старый объект все еще отображал KMS key ID: ARN of KMS key #1

Вопросы -
1. Можно ли произвести ротацию ключей KMS до 1 года?
2. Правильно ли я сделал ротацию ключа AWS KMS? Если не то, как правильно?
3. Что происходит со старыми объектами, ключ удаляется?


person Ani    schedule 27.11.2019    source источник
comment
Да, ключи KMS можно менять до 1 года, используя ручную ротацию вместо автоматической, вы можете получить ссылку здесь. aws.amazon.com/premiumsupport/knowledge-center /   -  person Prabhjot Singh Kainth    schedule 27.11.2019
comment
Можно ли это сделать без AWS CLI?   -  person Ani    schedule 27.11.2019
comment
Да, это можно сделать, но я не уверен, вы можете получить ссылку здесь docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html   -  person Prabhjot Singh Kainth    schedule 27.11.2019


Ответы (2)


Автоматическая ротация ключей не создает новый CMK, а просто вращает резервный ключ HSM. Старый ключ используется только для дешифрования, тогда как новый резервный ключ используется для шифрования и дешифрования новых объектов. С другой стороны, ручная ротация ключей требует, чтобы вы создали новый CMK и обновили псевдоним ключа, чтобы он указывал на новый CMK. Это означает, что вам нужно поддерживать более одного CMK, если у вас есть объекты, зашифрованные с помощью старого.

Когда KMS шифрует объект, сгенерированный зашифрованный текст содержит идентификатор резервного ключа HSM в открытом виде. Таким образом KMS получает ключ для расшифровки зашифрованных сообщений. В результате KMS может расшифровать сообщение до тех пор, пока резервный ключ, хранящийся в зашифрованном тексте, не будет удален. Ключ поддержки удаляется только при удалении CMK.

Возвращаясь к вашим вопросам:

  1. Да, но вы должны создать новый CMK, как указано выше.

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

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

person Vikyol    schedule 27.11.2019

Можно ли произвести ротацию ключей KMS до 1 года?

Да, но вам нужно будет выполнить поворот вручную. Автоматическая ротация выполняется один раз в год (если вы включили эту функцию), и вы не можете изменить длину интервала.

Правильно ли я сделал ротацию ключа AWS KMS? Если нет, то как правильно?

Хотя это возможно, это не лучший способ смены ключа (но это действительно спорно и зависит от вашей политики безопасности).

CMK на самом деле не является ключом. Это больше похоже на логический контейнер для резервных ключей, которые затем используются для шифрования ключей данных, которые используются для шифрования данных. Возможно, вы захотите изменить не сам контейнер (CMK), а скорее ключ поддержки, хранящийся «внутри» CMK. Это приводит к тому, что вы по-прежнему можете использовать тот же CMK (вам не нужно обновлять какой-либо код или скрипты), но фактический ключ шифрования (в данном случае резервный ключ) будет другим. AWS будет хранить старые резервные ключи, и это позволит вам беспрепятственно расшифровать данные, потому что в нем хранятся указатели на то, какой резервный ключ использовался для каких данных (действительно, ключ данных). Но это предполагает, что все резервные ключи принадлежат одному и тому же CMK.

Также обратите внимание, что это не имеет ничего общего с повторным шифрованием. Все ранее зашифрованные данные остаются зашифрованными одним и тем же ключом, просто новые данные зашифровываются новым резервным ключом. Если вам нужно повторно зашифровать ваши данные, вам нужно будет сделать это самостоятельно.

Что происходит с более старыми объектами ключа, которые удаляются?

Когда вы делаете это так, как описано выше, ваши старые резервные ключи не удаляются, поэтому вам не нужно беспокоиться о том, что вы не сможете расшифровать данные. Они по-прежнему хранятся в KMS и используются только для расшифровки старых (соответствующих) данных.

Если у вас есть два отдельных CMK и вы удалите один из них, все данные, которые все еще зашифрованы с помощью этого CMK, будут навсегда потеряны (или, по крайней мере, навсегда зашифрованы, что в некотором роде то же самое). Учтите, что даже AWS не сможет вам помочь в такой ситуации. Это также причина того, почему существует обязательная задержка между запланированным удалением ключей и фактическим удалением ключа.

person Matus Dubrava    schedule 27.11.2019