

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

# 删除一个 AWS KMS key
<a name="deleting-keys"></a>

删除具有破坏性 AWS KMS key ，并且具有潜在的危险。这将删除密钥材料以及与 KMS 密钥关联的所有元数据，并且不可撤销。删除 KMS 密钥后，您不能再解密用该密钥加密的数据，这意味着该数据将无法恢复。（唯一的例外是[多区域副本密钥](#deleting-mrks)以及带有导入密钥材料的非对称密钥和 HMAC KMS 密钥。） 对于[用于加密的非对称 KMS 密钥来说](#deleting-asymmetric-cmks)，这种风险非常大，在这种情况下，用户可以在没有警告或错误的情况下继续使用公钥生成密文，而私钥从中删除后无法解密。 AWS KMS

只有当您确定不再需要使用 KMS 密钥时，才能将其删除。如果您不确定，请考虑[禁用 KMS 密钥](enabling-keys.md)，而不是将其删除。您可以重新启用被禁用的 KMS 密钥，[取消 KMS 密钥的计划删除](deleting-keys-scheduling-key-deletion.md)，但无法恢复已删除的 KMS。

您只能安排删除客户托管的密钥。您无法删除 AWS 托管式密钥 或 AWS 拥有的密钥。

在删除 KMS 密钥之前，您可能想知道在该 KMS 密钥下加密了多少密文。 AWS KMS 不存储此信息，也不存储任何密文。要获取此信息，您必须确定 KMS 密钥的过去使用情况。如需帮助，请转到 [确定 KMS 密钥的过去使用情况](deleting-keys-determining-usage.md)。

AWS KMS 除非您明确安排删除您的 KMS 密钥并且强制等待期已过期，否则永远不要删除它们。

但是，您可能会出于以下一个或多个原因而选择删除 KMS 密钥：
+ 完成不再需要的 KMS 密钥的密钥生命周期
+ 避免因维护不用的 KMS 密钥而产生的管理开销和[成本](https://aws.amazon.com/kms/pricing/)
+ 减少计入您的 [KMS 密钥资源配额](resource-limits.md#kms-keys-limit)的 KMS 密钥数量

**注意**  
如果您[关闭](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/close-account.html)了 AWS 账户，则您的 KMS 密钥将无法访问，并且不再需要为此付费。

AWS KMS 当您[计划删除 KMS 密钥以及[实际删除](ct-delete-key.md)](ct-schedule-key-deletion.md) KMS 密钥时，会在 AWS CloudTrail 日志中记录一个条目。

## 关于等待期限
<a name="deleting-keys-how-it-works"></a>

由于删除 KMS 密钥具有破坏性和潜在危险， AWS KMS 因此需要您将等待期设置为 7 到 30 天。默认的等待期限为 30 天。

但是，实际等待期限可能最多比您计划的时间长 24 小时。要获取删除 KMS 密钥的实际日期和时间，请使用[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)操作。或者在 AWS KMS 控制台中的 KMS 密钥[详细信息页面](finding-keys.md#viewing-console-details)的 **General configuration**（常规配置）部分中，参阅**计划删除日期**。请务必记下时区。

在等待期限内，KMS 密钥状态和密钥状态为 **Pending deletion**（等待删除）。
+ 待删除的 KMS 密钥不能用于任何[加密操作](kms-cryptography.md#cryptographic-operations)。
+ AWS KMS 不会[轮换待删除的 KMS 密钥的密钥材料](rotate-keys.md#rotate-keys-how-it-works)。

等待期结束后， AWS KMS 删除 KMS 密钥、其别名和所有相关 AWS KMS 元数据。

计划删除 KMS 密钥可能不会立即影响由 KMS 密钥加密的数据密钥。有关更多信息，请参阅 [不可用的 KMS 密钥如何影响数据密钥](unusable-kms-keys.md)。

请利用这段等待期来确保现在或将来都不需要 KMS 密钥。您可以[配置 Amazon CloudWatch 警报](deleting-keys-creating-cloudwatch-alarm.md)，以便在等待期间有人或应用程序尝试使用 KMS 密钥时向您发出警告。要恢复 KMS 密钥，您可以在等待期限结束前取消密钥删除。等待期结束后，您将无法取消密钥删除，也无法 AWS KMS 删除 KMS 密钥。

## 特殊注意事项
<a name="special-considerations-delete"></a>

在计划删除密钥之前，请查看以下删除特殊用途 KMS 密钥的特殊注意事项。

** 删除非对称 KMS 密钥**  
[获得授权](deleting-keys-adding-permission.md)的用户可以删除对称 KMS 密钥或非对称 KMS 密钥。对于两种密钥类型，计划删除 KMS 密钥的过程是相同的。但是，由于[非对称 KMS 密钥的公钥可以在外部下载](download-public-key.md)和使用 AWS KMS，因此该操作会带来显著的额外风险，特别是对于用于加密的非对称 KMS 密钥（密钥的用法是`ENCRYPT_DECRYPT`）。  
+ 您在计划删除 KMS 密钥时，KMS 密钥的密钥状态将更改为 **Pending deletion**（等待删除），并且 KMS 密钥将无法用在[加密操作](kms-cryptography.md#cryptographic-operations)中。但是，计划删除对之外的公钥没有影响 AWS KMS。持有公有密钥的用户可以继续使用该密钥加密消息。他们不会收到密钥状态已更改的任何通知。除非删除取消，否则使用公有密钥创建的密文将无法解密。
+ 告警、日志以及其他检测试图使用等待删除的 KMS 密钥的策略，无法检测到 AWS KMS外部公有密钥的使用。
+ 删除 KMS 密钥后，所有涉及该 KMS 密钥的 AWS KMS 操作都将失败。但是，持有公有密钥的用户可以继续使用该密钥加密消息。这些密文将无法解密。
如果您必须删除密钥用法为的非对称 KMS 密钥`ENCRYPT_DECRYPT`，请使用您的 CloudTrail 日志条目来确定公有密钥是否已下载和共享。如果有，请验证该公有密钥是否在 AWS KMS外部使用。然后，考虑[禁用 KMS 密钥](enabling-keys.md)而不是将其删除。  
对于具有导入密钥材料的非对称 KMS 密钥，可缓解删除非对称 KMS 密钥所带来的风险。有关更多信息，请参阅 [Deleting KMS keys with imported key material](#import-delete-key)。

** 删除多区域密钥**  
要删除主密钥，您必须计划删除其所有副本密钥，然后等待副本密钥被删除。删除主密钥所需的等待时间从删除主密钥的最后一个副本密钥开始。如果您必须从特定区域删除主密钥而不删除其副本密钥，请通过[更新主区域](multi-region-update.md)将主密钥更改为副本密钥。  
您可以随时删除副本密钥。它不依赖于任何其他 KMS 密钥的密钥状态。如果您误删了副本密钥，可以通过在同一区域中复制相同主密钥，以此方式来重新创建副本密钥。您创建的新副本密钥具有与原始副本密钥相同的[共享属性](multi-region-keys-overview.md#mrk-sync-properties)。

** 删除具有导入密钥材料的 KMS 密钥**  
删除具有导入密钥材料的 KMS 密钥的密钥材料是临时的，并且是可撤销的。要恢复密钥，请重新导入其密钥材料。  
相反，删除 KMS 密钥操作是不可逆的。如果您[计划删除密钥](#deleting-keys-how-it-works)且所需的等待期已过期，则 AWS KMS 永久且不可逆转地删除 KMS 密钥、其密钥材料以及与 KMS 密钥关联的所有元数据。  
但是，删除具有导入密钥材料的 KMS 密钥的风险和后果取决于 KMS 密钥的类型（“密钥规范”）。  
+ 对称加密密钥 - 如果删除对称加密 KMS 密钥，则所有由该密钥加密的其余加密文字都无法恢复。即使您拥有相同的密钥材料，也无法创建新的对称加密 KMS 密钥来解密已删除的对称加密 KMS 密钥的加密文字。每个 KMS 密钥独有的元数据以加密方式绑定到每个对称加密文字。此安全功能保证只有加密对称加密文字的 KMS 密钥才能解密该加密文字，但阻止您重新创建等效的 KMS 密钥。
+ 非对称密钥和 HMAC 密钥 — 如果您拥有原始密钥材料，则可以创建与已删除的非对称密钥或 HMAC KMS 密钥具有相同加密属性的新 KMS 密钥。 AWS KMS 生成标准 RSA 密文和签名、ECC 签名和 HMAC 标记，其中不包含任何独特的安全功能。此外，您还可以在 AWS之外使用 HMAC 密钥或非对称密钥对的私有密钥。

  使用相同的非对称或 HMAC 密钥材料创建的新 KMS 密钥将具有不同的密钥标识符。您必须创建新的密钥政策，重新创建所有别名，并更新现有的 IAM policy 和授权，以引用新的密钥。

**从密钥库中删除 KMS AWS CloudHSM 密钥**  
当您计划从密钥库中删除 KMS 密 AWS CloudHSM 钥时，其[密钥状态](key-state.md)将更改为 “**待删除**”。KMS 密钥将在整个等待期处于 **Pending deletion**（等待删除）状态，即使 KMS 密钥因您[断开自定义密钥存储](disconnect-keystore.md)而不可用时都是如此。这允许您在等待期内随时取消删除 KMS 密钥。  
等待期到期后，从 AWS KMS 中删除 KMS 密钥 AWS KMS。然后 AWS KMS 尽最大努力从关联的 AWS CloudHSM 集群中删除密钥材料。如果 AWS KMS 无法删除密钥材料（如当密钥存储与 AWS KMS断开连接时），您可能需要手动从集群中[删除孤立密钥材料](fix-keystore.md#fix-keystore-orphaned-key)。  
AWS KMS 不会从群集备份中删除密钥材料。即使您从 AWS KMS 集群中删除 KMS 密钥并将其密钥材料从 AWS CloudHSM 集群中删除，通过备份创建的集群也可能包含已删除的密钥材料。要永久删除密钥材料，请使用[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)操作确定 KMS 密钥的创建日期。然后，[删除所有集群备份](https://docs.aws.amazon.com/cloudhsm/latest/userguide/delete-restore-backup.html)（可能包含密钥材料）。  
当您计划从密钥库中删除 KMS 密 AWS CloudHSM 钥时，KMS 密钥会立即变得不可用（视最终一致性而定）。不过，在再次使用 KMS 密钥（例如解密数据密钥）之前，使用受 KMS 密钥保护的[数据密钥](data-keys.md)加密的资源不会受到影响。此问题会影响 AWS 服务，其中许多使用数据密钥来保护您的资源。有关更多信息，请参阅 [不可用的 KMS 密钥如何影响数据密钥](unusable-kms-keys.md)。

** 从外部密钥存储中删除 KMS 密钥**  
从外部密钥存储中删除 KMS 密钥对作为其密钥材料的[外部密钥](keystore-external.md#concept-external-key)没有影响。  
如果您计划从外部密钥存储中删除 KMS 密钥，其[密钥状态](key-state.md)将变为 **Pending deletion**（待删除）。KMS 密钥将在整个等待期处于 **Pending deletion**（待删除）状态，即使 KMS 密钥因您[断开外部密钥存储](xks-connect-disconnect.md)而不可用时都是如此。这允许您在等待期内随时取消删除 KMS 密钥。等待期到期后，从 AWS KMS 中删除 KMS 密钥 AWS KMS。  
当您计划从外部密钥存储中删除 KMS 密钥时，KMS 密钥将立即变得不可用（取决于最终一致性）。不过，在再次使用 KMS 密钥（例如解密数据密钥）之前，使用受 KMS 密钥保护的[数据密钥](data-keys.md)加密的资源不会受到影响。此问题会影响 AWS 服务，因为许多服务使用数据密钥来保护您的资源。有关更多信息，请参阅 [不可用的 KMS 密钥如何影响数据密钥](unusable-kms-keys.md)。