AWS Key Management Service
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

删除自定义密钥存储

当您删除自定义密钥存储时,AWS KMS 会从 KMS 中删除有关自定义密钥存储的所有元数据,包括有关其与 AWS CloudHSM 集群的关联的信息。此操作不会影响 AWS CloudHSM 集群、其 HSM 或其用户。您可以创建与指定集群关联的新自定义密钥存储,但无法撤消删除操作。

您只能删除已断开与 AWS KMS 的连接且不包含任何客户主密钥 (CMK) 的自定义密钥存储。在删除自定义密钥存储之前,请执行以下操作。

请考虑从自定义密钥存储的关联 AWS CloudHSM 集群断开它,而不是删除它。虽然自定义密钥存储已断开连接,但您可以管理自定义密钥存储及其客户主密钥 (CMK)。但是,您无法在自定义密钥存储中创建或使用 CMK。您可以随时重新连接自定义密钥存储。

如果您已从 AWS 账户的所有区域中删除所有自定义密钥存储并且打算不再创建密钥存储,则应删除服务相关角色(AWS KMS 将该角色用于自定义密钥存储)。

删除自定义密钥存储(控制台)

要在 AWS 管理控制台中删除自定义密钥存储,请首先从 Custom key stores (自定义密钥存储) 页面中选择自定义密钥存储。

  1. 登录 AWS 管理控制台并通过以下网址打开 AWS Key Management Service (AWS KMS) 控制台:https://console.amazonaws.cn/kms

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

  3. 在左侧导航窗格中,选择 Custom key stores (自定义密钥存储)

  4. 找到表示要删除的自定义密钥存储的行。如果自定义密钥存储的状态不是 DISCONNECTED,则必须断开自定义密钥存储,然后再删除自定义密钥存储。

  5. Key store actions (密钥存储操作) 菜单中,选择 Delete custom key store (删除自定义密钥存储)

在操作完成后,会显示一条成功消息,并且自定义密钥存储不再显示在自定义密钥存储列表。如果操作失败,则会显示一条错误消息,描述问题并提供有关如何解决该问题的帮助。如果您需要更多帮助,请参阅对自定义密钥存储进行故障排除

删除自定义密钥存储 (API)

要删除自定义密钥存储,请使用 DeleteCustomKeyStore 操作。如果操作不成功,AWS KMS 将返回 HTTP 200 响应和无属性的 JSON 对象。

要开始操作,请确认自定义密钥存储不包含任何 AWS KMS 客户主密钥 (CMK)。您无法删除包含 CMK 的自定义密钥存储。第一个示例命令使用 ListKeysDescribeKey 来在虚构密钥存储 ID 为 cks-1234567890abcdef0 的自定义密钥存储中搜索 AWS KMS 客户主密钥。在此情况下,该命令不会返回任何 CMK。如果返回了,请使用 ScheduleKeyDeletion 操作计划每个 CMK 的删除。

BashPowerShell
Bash
for key in $(aws kms list-keys --query 'Keys[*].KeyId' --output text) ; do aws kms describe-key --key-id $key | grep '"CustomKeyStoreId": "cks-1234567890abcdef0"' --context 100; done
PowerShell
PS C:\> (Get-KMSKeyList).KeyArn | foreach {Get-KMSKey -KeyId $_} | where CustomKeyStoreId -eq 'cks-1234567890abcdef0'

接下来,断开自定义密钥存储。此示例命令使用 DisconnectCustomKeyStore 操作来断开自定义密钥存储与其 AWS CloudHSM 集群的连接。在运行此命令之前,请将示例自定义密钥存储 ID 替换为有效 ID。

BashPowerShell
Bash
$ aws kms disconnect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
PowerShell
PS C:\> Disconnect-KMSCustomKeyStore -CustomKeyStoreId cks-1234567890abcdef0

在断开自定义密钥存储后,您可以使用 DeleteCustomKeyStore 操作将其删除。

BashPowerShell
Bash
$ aws kms delete-custom-key-store --custom-key-store-id cks-1234567890abcdef0
PowerShell
PS C:\> Remove-KMSCustomKeyStore -CustomKeyStoreId cks-1234567890abcdef0