我是AWS的新手,我希望有人能为我澄清有关加密的内容。
我正在阅读有关Amazon EBS加密的AWS文档,并且在该文档的“ EBS加密原理”部分下,我注意到其中一个步骤是“ Amazon EBS发送一个向AWS KMS的GenerateDataKeyWithoutPlaintext请求,指定用于加密卷的CMK ”
CMK是否应该加密随后用于加密卷的数据密钥?这是由于CMK无法加密大小超过4KB的数据。
据我所知,CMK(位于KMS中)将加密没有CMK大小限制的数据密钥,然后数据密钥将对EC2实例的体积和坐席进行加密。在同一加密卷上,因为数据密钥本身也已加密。
我不正确地理解该步骤吗?
链接到文档:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html?icmpid=docs_ec2_console
谢谢!
答案 0 :(得分:1)
是的,您将使用数据密钥来加密卷是正确的[并且不会直接使用CMK本身]。我相信您引用的声明:
Amazon EBS向AWS KMS发送一个GenerateDataKeyWithoutPlaintext请求,指定您选择用于卷加密的CMK。
可以解释为:EBS调用GenerateDataKeyWithoutPlaintext API并从KMS获取数据密钥,EBS需要指定CMK。 KeyId是GenerateDataKeyWithoutPlaintext API的必需参数。我相信document中的下一步(如下所述)确实说明了这一点,并消除了混乱。
AWS KMS会生成一个新的数据密钥,并在您选择用于卷加密的CMK下对其进行加密,然后将加密的数据密钥发送到Amazon EBS以与卷元数据一起存储。
如果您想知道为什么调用GenerateDataKeyWithoutPlaintext而不是GenerateDataKey的话,这个AWS Forum post会很有趣。