Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
如何在 AWS KMS 中手动轮换客户自主管理型密钥?
AWS Key Management Service (AWS KMS) 每年自动轮换一次 AWS KMS 密钥。我想在 AWS KMS 密钥自动轮换之前手动轮换。
解决方法
要将当前的 AWS KMS 密钥手动轮换为新密钥,请完成以下步骤:
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,确保您使用的是最新版本的 AWS CLI。
-
创建一个名为 application-current 的别名,然后将其附加到现有的 AWS KMS 密钥:
acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-current --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-current alias/application-current 0987dcba-09fe-87dc-65ba-ab0987654321
-
为要轮换的 AWS KMS 密钥创建一个名为 application-20180606 的新别名,新别名中包含轮换日期。在以下示例中,轮换日期为 2018-06-06。AWS KMS 密钥有两个别名:
acbc32cf8f6f:~ $$ aws kms create-alias --alias-name alias/application-20180606 --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep application ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-20180606 alias/application-20180606 0987dcba-09fe-87dc-65ba-ab0987654321 ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-current alias/application-current 0987dcba-09fe-87dc-65ba-ab0987654321
-
acbc32cf8f6f:~ $$ aws kms create-key{ "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "9bf76697-5b41-4caf-9fe1-e23bbe20f858", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1528289057.531, "Arn": "arn:aws:kms:eu-west-1:123456789012:key/9bf76697-5b41-4caf-9fe1-e23bbe20f858", "AWSAccountId": "123456789012" } }
-
将 application-current 别名关联到新 AWS KMS 密钥。将 NEW_KMS_KEY_ID 替换为您在步骤 3 中新创建的密钥 ID:
$$ aws kms update-alias --alias-name alias/application-current --target-key-id NEW_KMS_KEY_ID
**注意:**新 KMS 密钥无法解密使用旧密钥加密的数据。对于使用对称加密密钥加密的数据,AWS KMS 会从元数据中提取 AWS KMS 密钥 ID。然后,使用该密钥进行解密。确保您未在解密请求中指定密钥 ID。如果您使用非对称 AWS KMS 密钥,则必须在解密请求中手动指定密钥 ID。确保跟踪加密操作中使用的 AWS KMS 密钥。
-
现在您有新的和当前的 AWS KMS 密钥两个密钥。使用 application-current 密钥加密数据。当 AWS KMS 解密数据时,AWS KMS 密钥会自动解析:
acbc32cf8f6f:~ $$ aws kms list-aliases --output text | grep applicationALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-20180606 alias/application-20180606 0987dcba-09fe-87dc-65ba-ab0987654321 ALIASES arn:aws:kms:eu-west-1:123456789012:alias/application-current alias/application-current 9bf76697-5b41-4caf-9fe1-e23bbe20f858
要跟踪密钥轮换的时间或回滚更改,请保留当前 AWS KMS 密钥作为备份。
**注意:**如果您有现有密钥,则请将该策略复制到 application-current 密钥。 -
打开 AWS KMS 控制台,然后选择客户自主管理型密钥。
-
在别名中,选择当前密钥。
-
在密钥策略中,选择切换到策略视图。
-
复制当前策略,然后选择客户自主管理型密钥。
-
在别名中,选择 application-current。
-
在密钥策略中,选择编辑。删除 application-current 策略并粘贴当前策略。选择保存更改。
相关信息
相关内容
- AWS 官方已更新 6 个月前