本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EBS 加密的工作原理
您可以加密EC2实例的启动卷和数据卷。
当您创建加密EBS卷并将其连接到支持的实例类型时,会对以下类型的数据进行加密:
-
卷中的静态数据
-
在卷和实例之间移动的所有数据
-
从卷创建的所有快照
-
从这些快照创建的所有卷
Amazon 使用行业标准的 AES -256 数据EBS加密使用数据密钥对您的卷进行加密。数据密钥由生成, AWS KMS 然后 AWS KMS 用 AWS KMS 密钥加密,然后与您的卷信息一起存储。亚马逊会在您创建亚马逊EBS资源的每个区域EBS自动创建唯一 AWS 托管式密钥 的。KMS密钥的别名是aws/ebs
。默认情况下,Amazon EBS 使用此KMS密钥进行加密。或者,您可以使用自己创建的对称客户管理加密密钥。使用自己的KMS密钥可以提高灵活性,包括创建、轮换和禁用KMS密钥的能力。
Amazon EC2 与之合作 AWS KMS 对您的EBS卷进行加密和解密的方式略有不同,具体取决于您创建加密卷时使用的快照是加密还是未加密。
快照EBS加密后加密的工作原理
当您使用自己拥有的加密快照创建加密卷时,Amazon 会按如下EC2方式 AWS KMS 对您的EBS卷进行加密和解密:
-
Amazon EC2 向发送GenerateDataKeyWithoutPlaintext请求 AWS KMS,指定您为批量加密选择的密KMS钥。
-
如果使用与快照相同的KMS密钥对卷进行加密,则 AWS KMS 使用与快照相同的数据密钥并使用相同的KMS密钥对其进行加密。如果使用其他KMS密钥加密卷,则 AWS KMS 会生成新的数据密钥并使用您指定的KMS密钥对其进行加密。加密的数据密钥将发送到 AmazonEBS,以便与卷元数据一起存储。
-
当您将加密卷附加到实例时,Amazon EC2 会向发送CreateGrant请求, AWS KMS 以便它可以解密数据密钥。
-
AWS KMS 解密加密的数据密钥并将解密后的数据密钥发送给 Amazon。EC2
-
Amazon EC2 使用 Nitro 硬件中的明文数据密钥来加密该卷的磁盘 I/O。只要卷附加到实例,纯文本数据密钥就会保留在内存中。
快照未EBS加密时加密的工作原理
当您使用未加密的快照创建加密卷时,Amazon 会按如下EC2方式 AWS KMS 对您的EBS卷进行加密和解密:
-
Amazon EC2 向发送CreateGrant请求 AWS KMS,以便它可以加密根据快照创建的卷。
-
Amazon EC2 向发送GenerateDataKeyWithoutPlaintext请求 AWS KMS,指定您为批量加密选择的密KMS钥。
-
AWS KMS 生成新的数据密钥,使用您为卷加密选择的KMS密钥对其进行加密,然后将加密的数据密钥发送到 Amazon,EBS以便与卷元数据一起存储。
-
Amazon EC2 向发送解密请求 AWS KMS 以解密加密的数据密钥,然后使用该密钥对卷数据进行加密。
-
当您将加密卷附加到实例时,Amazon EC2 会向发送CreateGrant请求 AWS KMS,以便它可以解密数据密钥。
-
当您将加密卷附加到实例时,Amazon EC2 会向发送解密请求 AWS KMS,指定加密的数据密钥。
-
AWS KMS 解密加密的数据密钥并将解密后的数据密钥发送给 Amazon。EC2
-
Amazon EC2 使用 Nitro 硬件中的明文数据密钥来加密该卷的磁盘 I/O。只要卷附加到实例,纯文本数据密钥就会保留在内存中。
有关更多信息,请参阅AWS Key Management Service 开发者指南中的亚马逊 Elastic Block Store (AmazonEBS) 的使用方式 AWS KMS和亚马逊EC2示例二。
不可用的KMS密钥如何影响数据密钥
当KMS密钥变得无法使用时,效果几乎是立竿见影的(视最终一致性而定)。密钥的密钥状态会KMS发生变化以反映其新状态,并且所有在加密操作中使用该KMS密钥的请求都将失败。
当您执行使KMS密钥不可用的操作时,不会立即对EC2实例或连接的EBS卷产生影响。当卷连接到实例时,Amazon EC2 使用数据KMS密钥而不是密钥来加密所有磁盘 I/O。
但是,当加密EBS卷与EC2实例分离时,Amazon EBS 会从 Nitro 硬件中删除数据密钥。下次将加密EBS卷连接到EC2实例时,连接会失败,因为 Amazon EBS 无法使用该密KMS钥来解密该卷的加密数据密钥。要再次使用EBS音量,必须使KMS密钥再次可用。
提示
如果您不再希望访问存储在使用密钥生成的数据密钥加密的EBS卷中的数据,但您打算使该KMS密钥无法使用,我们建议您在使该KMS密钥不可用之前将该EBS卷与EC2实例分离。
有关更多信息,请参阅AWS Key Management Service 开发人员指南中的不可用KMS密钥如何影响数据密钥。