不可用的 KMS 密钥如何影响数据密钥 - AWS Key Management Service

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

不可用的 KMS 密钥如何影响数据密钥

当 KMS 密钥不可用时,您可以立即发现(取决于最终一致性)。KMS 密钥的密钥状态会出现变更,以反映其新情况,并且加密操作中使用 KMS 密钥的所有请求都将失败。

但是,对由 KMS 密钥加密的数据密钥,以及由数据密钥加密的数据的影响会延迟,直至再次使用 KMS 密钥(例如用于解密数据密钥)。

KMS 密钥状态变为不可用的原因有许多,包括您可能执行的以下操作。

对于许多使用数据密钥来保护服务所管理的资源的 AWS 服务 来说,这种效果尤其重要。以下几个示例使用 Amazon Elastic Block Store(Amazon EBS)和 Amazon Elastic Compute Cloud(Amazon EC2)。不同的 AWS 服务 以不同方式使用数据密钥。有关详细信息,请参阅 AWS 服务 的“安全性”一章的“数据保护”部分。

例如,考虑以下情景:

  1. 创建加密 EBS 卷并指定 KMS 密钥来保护该卷。Amazon EBS 要求 AWS KMS 使用您的 KMS 密钥来为该卷生成加密数据密钥。Amazon EBS 使用该卷的元数据存储加密数据密钥。

  2. 当您将 EBS 卷附加到 EC2 实例时,Amazon EC2 使用您的 KMS 密钥来解密 EBS 卷的加密数据密钥。Amazon EC2 使用 Nitro 硬件中的数据密钥,该密钥负责加密 EBS 卷的所有磁盘输入/输出。EBS 卷附加到 EC2 实例时,数据密钥会保留在 Nitro 硬件中。

  3. 您执行的操作会使 KMS 密钥不可用。这不会立即影响 EC2 实例或 EBS 卷。卷附加到实例时,Amazon EC2 使用数据密钥(而不是 KMS 密钥),来对所有磁盘输入/输出进行加密。

  4. 但是,当加密的 EBS 卷从 EC2 实例分离时,Amazon EBS 将从 Nitro 硬件中删除该数据密钥。下次将加密的 EBS 卷附加到 EC2 实例时,附加会失败,因为 Amazon EBS 无法使用 KMS 密钥来解密卷的加密数据密钥。要再次使用 EBS 卷,您必须使该 KMS 密钥可重新使用。