计划和取消密钥删除 - AWS Key Management Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

计划和取消密钥删除

以下过程介绍如何通过 AWS Management Console、AWS CLI 和 AWS SDK for Java 在 AWS KMS 中计划密钥删除和取消单区域 AWS KMS keys(KMS 密钥)的密钥删除。

有关计划删除多区域密钥的信息,请参阅 删除多区域密钥

警告

删除 KMS 密钥具有破坏性和潜在危险性。只有当您确定不再需要使用 KMS 密钥并且将来也不再需要了,才能继续删除操作。如果您不确定,则应禁用 KMS 密钥,而不是将其删除。

在删除 KMS 密钥之前,您必须具有执行这一操作的权限。有关向密钥管理员授予这些权限的信息,请参阅 控制密钥删除所需的权限。您也可以使用 kms:ScheduleKeyDeletionPendingWindowInDays 条件键进一步限制等待时间,例如强制规定最短等待时间。

在您计划删除 KMS 密钥且 KMS 密钥被实际删除时,AWS KMS 会将一个条目记录在 AWS CloudTrail 日志中。

计划和取消密钥删除(控制台)

在 AWS Management Console 中,您可以一次安排和取消删除多个 KMS 密钥。

计划密钥删除
  1. 登录到 AWS Management Console,然后通过以下网址打开 AWS Key Management Service (AWS KMS) 控制台:https://console.aws.amazon.com/kms

  2. 要更改 AWS 区域,请使用页面右上角的区域选择器。

  3. 在导航窗格中,选择客户托管密钥

    您无法安排删除 AWS 托管式密钥AWS 拥有的密钥

  4. 选中想要删除的 KMS 密钥旁边的复选框。

  5. 依次选择 Key actions (密钥操作)Schedule key deletion (计划密钥删除)

  6. 阅读并考虑警告,以及有关在等待期限内取消删除的信息。如果决定取消删除,请在页面底部选择 Cancel(取消)。

  7. 对于 Waiting period (in days) (等待期限(天)),键入一个介于 7 和 30 之间的天数。

  8. 查看正在删除的 KMS 密钥。

  9. 选中 Confirm you want to schedule this key for deletion in <number of days> days(确认您要计划在 n 天后删除此密钥)旁的复选框。

  10. 选择计划删除

KMS 密钥状态将更改为等待删除

取消密钥删除
  1. https://console.aws.amazon.com/kms 打开 AWS KMS 控制台。

  2. 要更改 AWS 区域,请使用页面右上角的区域选择器。

  3. 在导航窗格中,选择客户托管密钥

  4. 选中想要恢复的 KMS 密钥旁边的复选框。

  5. 依次选择 Key actions (密钥操作)Cancel key deletion (取消密钥删除)

KMS 密钥状态将从待删除更改为已禁用。要使用 KMS 密钥,您必须将其启用

计划和取消密钥删除(AWS CLI)

使用 aws kms schedule-key-deletion 命令安排删除客户托管的密钥,如以下示例所示。

您无法计划删除 AWS 托管式密钥或 AWS 拥有的密钥。

$ aws kms schedule-key-deletion --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --pending-window-in-days 10

使用成功后,AWS CLI 将返回与以下示例中显示的输出类似的输出:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "DeletionDate": 1598304792.0, "KeyState": "PendingDeletion", "PendingWindowInDays": 10 }

使用 aws kms cancel-key-deletionAWS CLI 命令取消密钥删除,如以下示例所示。

$ aws kms cancel-key-deletion --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

使用成功后,AWS CLI 将返回与以下示例中显示的输出类似的输出:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

KMS 密钥的状态将从待删除更改为已禁用。要使用 KMS 密钥,您必须将其启用

计划和取消密钥删除(AWS SDK for Java)

以下示例演示了如何使用 AWS SDK for Java 安排删除客户托管的密钥。此示例要求您在此之前将 AWSKMSClient 实例化为 kms

String KeyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; int PendingWindowInDays = 10; ScheduleKeyDeletionRequest scheduleKeyDeletionRequest = new ScheduleKeyDeletionRequest().withKeyId(KeyId).withPendingWindowInDays(PendingWindowInDays); kms.scheduleKeyDeletion(scheduleKeyDeletionRequest);

以下示例演示如何使用AWS SDK for Java取消密钥删除。此示例要求您在此之前将 AWSKMSClient 实例化为 kms

String KeyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; CancelKeyDeletionRequest cancelKeyDeletionRequest = new CancelKeyDeletionRequest().withKeyId(KeyId); kms.cancelKeyDeletion(cancelKeyDeletionRequest);

KMS 密钥的状态将从待删除更改为已禁用。要使用 KMS 密钥,您必须将其启用