删除 AWS KMS keys - AWS Key Management Service

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

删除 AWS KMS keys

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

只有当您确定不再需要使用 KMS 密钥时,才能将其删除。如果您不确定,请考虑禁用 KMS 密钥,而不是将其删除。您可以重新启用被禁用的 KMS 密钥,取消 KMS 密钥的计划删除,但无法恢复已删除的 KMS。

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

在删除 KMS 密钥之前,您可能想要了解使用该 KMS 密钥加密了多少密文。AWS KMS 不会存储此信息,也不会存储任何密文。要获取此信息,您必须确定 KMS 密钥的过去使用情况。如需帮助,请转到 确定 KMS 密钥的过去使用情况

AWS KMS 从不会删除您的 KMS 密钥,除非您明确安排删除它们并且强制的等待期到期。

但是,您可能会出于以下一个或多个原因而选择删除 KMS 密钥:

  • 完成不再需要的 KMS 密钥的密钥生命周期

  • 避免因维护不用的 KMS 密钥而产生的管理开销和成本

  • 减少计入您的 KMS 密钥资源配额的 KMS 密钥数量

注意

如果关闭您的 AWS 账户,您的 KMS 密钥将变得无法访问,您也不必再为它们付费。

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

关于等待期限

因为删除 KMS 密钥具有破坏性且存在潜在危险,所以 AWS KMS 要求您将等待期限设置为 7-30 天。默认的等待期限为 30 天。

但是,实际等待期限可能最多比您计划的时间长 24 小时。要获取删除 KMS 密钥的实际日期和时间,请使用 DescribeKey 操作。或者在 AWS KMS 控制台中的 KMS 密钥详细信息页面General configuration(常规配置)部分中,参阅计划删除日期。请务必记下时区。

在等待期限内,KMS 密钥状态和密钥状态为 Pending deletion(等待删除)。

等待期结束后,AWS KMS 会删除 KMS 密钥、其别名以及所有相关的 AWS KMS 元数据。

计划删除 KMS 密钥可能不会立即影响由 KMS 密钥加密的数据密钥。有关详细信息,请参阅不可用的 KMS 密钥如何影响数据密钥

请利用这段等待期来确保现在或将来都不需要 KMS 密钥。您可以配置 Amazon CloudWatch 告警,使其在有人员或应用程序在等待期间试图使用 KMS 密钥时发出警告。要恢复 KMS 密钥,您可以在等待期限结束前取消密钥删除。等待期限结束后,将无法取消密钥删除,AWS KMS 将删除 KMS 密钥。

特殊注意事项

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

删除非对称 KMS 密钥

获得授权的用户可以删除对称 KMS 密钥或非对称 KMS 密钥。对于两种密钥类型,计划删除 KMS 密钥的过程是相同的。但是,由于非对称 KMS 密钥的公有密钥可以下载并在 AWS KMS 外部使用,因此操作会带来重大的额外风险,尤其是对于用于加密的非对称 KMS 密钥(密钥用法为 ENCRYPT_DECRYPT)。

  • 您在计划删除 KMS 密钥时,KMS 密钥的密钥状态将更改为 Pending deletion(等待删除),并且 KMS 密钥将无法用在加密操作中。但是,计划删除对 AWS KMS 外部的公有密钥没有影响。持有公有密钥的用户可以继续使用该密钥加密消息。他们不会收到密钥状态已更改的任何通知。除非删除取消,否则使用公有密钥创建的密文将无法解密。

  • 告警、日志以及其他检测试图使用等待删除的 KMS 密钥的策略,无法检测到 AWS KMS 外部公有密钥的使用。

  • KMS 密钥删除后,涉及该 KMS 密钥的所有 AWS KMS 操作都将失败。但是,持有公有密钥的用户可以继续使用该密钥加密消息。这些密文将无法解密。

如果必须删除密钥用法为 ENCRYPT_DECRYPT 的非对称 KMS 密钥,请使用 CloudTrail 日志条目确定是否已下载并共享公有密钥。如果有,请验证该公有密钥是否在 AWS KMS 外部使用。然后,考虑禁用 KMS 密钥而不是将其删除。

对于具有导入密钥材料的非对称 KMS 密钥,可缓解删除非对称 KMS 密钥所带来的风险。有关详细信息,请参阅Deleting KMS keys with imported key material

删除多区域密钥

要删除主密钥,您必须计划删除其所有副本密钥,然后等待副本密钥被删除。删除主密钥所需的等待时间从删除主密钥的最后一个副本密钥开始。如果您必须从特定区域删除主密钥而不删除其副本密钥,请通过更新主区域将主密钥更改为副本密钥。

您可以随时删除副本密钥。它不依赖于任何其他 KMS 密钥的密钥状态。如果您误删了副本密钥,可以通过在同一区域中复制相同主密钥,以此方式来重新创建副本密钥。您创建的新副本密钥具有与原始副本密钥相同的共享属性

删除具有导入密钥材料的 KMS 密钥

删除具有导入密钥材料的 KMS 密钥的密钥材料是临时的,并且是可撤销的。要恢复密钥,请重新导入其密钥材料。

相反,删除 KMS 密钥操作是不可逆的。如果您计划删除密钥而且所需等待期到期,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 和授权,以引用新的密钥。

从 AWS CloudHSM 密钥存储中删除 KMS 密钥

如果您计划从 AWS CloudHSM 密钥存储中删除 KMS 密钥,其密钥状态将变为 Pending deletion(等待删除)。KMS 密钥将在整个等待期处于 Pending deletion(等待删除)状态,即使 KMS 密钥因您断开自定义密钥存储而不可用时都是如此。这允许您在等待期内随时取消删除 KMS 密钥。

等待期到期后,AWS KMS 将从 AWS KMS 删除 KMS 密钥。然后,AWS KMS 将尽可能从关联的 AWS CloudHSM 集群中删除密钥材料。如果 AWS KMS 无法删除密钥材料(如当密钥存储与 AWS KMS 断开连接时),您可能需要手动从集群中删除孤立密钥材料

AWS KMS 不会从集群备份中删除密钥材料。即使您从 AWS KMS 删除 KMS 密钥并且从 AWS CloudHSM 集群删除其密钥材料,通过备份创建的集群也可能包含已删除的密钥材料。要永久删除密钥材料,请使用 DescribeKey 操作确定 KMS 密钥的创建日期。然后,删除所有集群备份(可能包含密钥材料)。

当您计划从 AWS CloudHSM 密钥存储中删除 KMS 密钥时,KMS 密钥将立即变得不可用(取决于最终一致性)。不过,在再次使用 KMS 密钥(例如解密数据密钥)之前,使用受 KMS 密钥保护的数据密钥加密的资源不会受到影响。此问题会影响 AWS 服务,因为许多服务使用数据密钥来保护您的资源。有关详细信息,请参阅不可用的 KMS 密钥如何影响数据密钥

从外部密钥存储中删除 KMS 密钥

从外部密钥存储中删除 KMS 密钥对作为其密钥材料的外部密钥没有影响。

如果您计划从外部密钥存储中删除 KMS 密钥,其密钥状态将变为 Pending deletion(待删除)。KMS 密钥将在整个等待期处于 Pending deletion(待删除)状态,即使 KMS 密钥因您断开外部密钥存储而不可用时都是如此。这允许您在等待期内随时取消删除 KMS 密钥。等待期到期后,AWS KMS 将从 AWS KMS 删除 KMS 密钥。

当您计划从外部密钥存储中删除 KMS 密钥时,KMS 密钥将立即变得不可用(取决于最终一致性)。不过,在再次使用 KMS 密钥(例如解密数据密钥)之前,使用受 KMS 密钥保护的数据密钥加密的资源不会受到影响。此问题会影响 AWS 服务,因为许多服务使用数据密钥来保护您的资源。有关详细信息,请参阅不可用的 KMS 密钥如何影响数据密钥