Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
如何在 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 官方已更新 1 年前
