如何进行AWS S3 SSE KMS密钥轮换?

Ani*_*aje 3 amazon-s3 amazon-web-services amazon-kms

场景 -
我创建 -
1. 一个 S3 存储桶
2. 两个 KMS 密钥3.在 S3 存储桶上
启用,使用 KMS 密钥 #1 4. 在存储桶中上传文件 5. 检查对象详细信息,它显示和 6。更改了,现在选择了 7。旧对象仍然显示Default encryption

Server-side encryption: AWS-KMSKMS key ID: ARN of KMS key #1
AWS S3 Default encryptionKMS key #2
KMS key ID: ARN of KMS key #1

问题 -
1. KMS 密钥轮换可以在 1 年前完成吗?
2.我执行的操作是否是轮换 AWS KMS 密钥的正确方法?如果不是,正确的方法是什么?
3. key 的较旧对象被删除后会发生什么情况?

Vik*_*yol 6

自动密钥轮换不会创建新的 CMK,它只是轮换 HSM 支持密钥。旧密钥仅用于解密,而新支持密钥用于加密和解密新对象。另一方面,手动密钥轮换需要您创建新的 CMK 并更新密钥别名以指向新的 CMK。这意味着只要您有使用旧 CMK 加密的对象,您就必须维护多个 CMK。

当 KMS 加密对象时,生成的密文包含明文形式的 HSM 支持密钥标识符。这就是 KMS 检索密钥以解密加密消息的方式。因此,只要不删除密文中存储的备份密钥,KMS 就可以解密消息。仅当您删除 CMK 时才会删除备份密钥。

回到你的问题:

  1. 是的,但您必须创建一个新的 CMK,如上所述。

  2. 您只需更新密钥别名以指向新的 CMK。轮换 CMK 变得更加容易,特别是当它用于加密多个存储桶时。

  3. 如果删除用于生成数据密钥的 CMK,则无法解密对象。您应该使用新 CMK 重新加密所有对象或保留旧密钥。