问题描述
我正在尝试验证 AWS 中 EBS 卷的数据加密。我使用 KMS 密钥加密了一个 EBS 卷并将其安装在 EC2 实例上。我在这个卷中有一些文件,我希望如果我禁用 KMS 密钥,我将无法读取 EBS 卷中的文件,但这并没有发生。我猜测可能是在将 EBS 卷附加到 EC2 实例时,我们需要密钥。之后,即使我们禁用了密钥,我们仍然可以读取数据。我的理解正确吗?
解决方法
来自docs:
对于每个卷,Amazon EBS 会要求 AWS KMS 生成在您指定的 CMK 下加密的唯一数据密钥。 Amazon EBS 将加密的数据密钥与卷一起存储。然后,当您将卷附加到 Amazon EC2 实例时,Amazon EBS 会调用 AWS KMS 来解密数据密钥。 Amazon EBS 使用管理程序内存中的明文数据密钥来加密到卷的所有磁盘 I/O。
实例实际上只在启动时调用一次 KMS 并附加卷来解密数据密钥。之后它会将其保存在内存中,因为每次调用 KMS 都需要很长时间。因此,只要实例正在运行,您用密钥做什么都无关紧要。
我的假设是,当您停止和启动实例或将卷附加到另一个实例时,某些事情会失败,因为它随后会尝试从 KMS 获取密钥。
有关详细信息,我建议您查看 complete documentation on EBS encryption。