本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon EBS 加密的要求
在您开始之前,确认您满足以下要求。
支持的卷类型
所有EBS卷类型都支持加密。您可以期望加密卷的IOPS性能与未加密卷上的性能相同,但对延迟的影响最小。您可以采用与访问未加密卷相同的方式来访问加密卷。加密和解密是以透明方式处理的,并且不需要您或您的应用程序执行额外操作。
支持的实例类型
Amazon EBS 加密适用于所有当前一代和上一代的实例类型。
用户的权限
当您使用KMS密钥进行EBS加密时,KMS密钥策略允许任何有权访问所需 AWS KMS 操作的用户使用此KMS密钥来加密或解密资源EBS。您必须授予用户调用以下操作的权限才能使用EBS加密:
-
kms:CreateGrant
-
kms:Decrypt
-
kms:DescribeKey
-
kms:GenerateDataKeyWithoutPlainText
-
kms:ReEncrypt
提示
为遵循最小特权原则,请不要允许对 kms:CreateGrant
拥有完全访问权限。相反,使用kms:GrantIsForAWSResource
条件密钥允许用户仅在 AWS 服务代表用户创建授权时才允许用户对KMS密钥创建授权,如以下示例所示。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": [ "arn:aws:kms:us-east-2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef" ], "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }
有关更多信息,请参阅《AWS Key Management Service 开发者指南》中 “默认密钥IAM策略” 部分中的 “允许访问 AWS 账户并启用策略”。
实例的权限
当实例尝试与加密的AMI、卷或快照交互时,会向该实例的仅限身份的角色颁发KMS密钥授权。仅限身份的角色是实例用来代表您与加密的AMIs、卷或快照进行交互的IAM角色。
仅限身份角色无需手动创建或删除,也没有与之关联的策略。此外,您无法访问仅限身份的角色凭证。
注意
您的实例上的应用程序不使用仅限身份的角色来访问其他 AWS KMS 加密资源,例如 Amazon S3 对象或 Dynamo DB 表。这些操作是使用 Amazon EC2 实例角色的 AWS 凭证或您在实例上配置的其他凭证完成的。
仅限身份的角色受服务控制策略 (SCPs) 和KMS密钥策略的约束。如果SCP或KMS密钥拒绝仅限身份的角色访问KMS密钥,则您可能无法启动带有加密卷或使用加密AMIs卷或快照的EC2实例。
如果您要使用aws:SourceIp
、aws:VpcSourceIp
、SCP或aws:SourceVpce
AWS 全局条件密钥创建基于网络位置拒绝访问的或密钥策略,则必须确保这些策略声明不适用于仅限实例的角色。aws:SourceVpc
有关示例策略,请参阅数据外围策略示例
仅限身份的角色ARNs使用以下格式:
arn:
aws-partition
:iam::account_id
:role/aws:ec2-infrastructure/instance_id
向实例颁发密钥授予时,密钥授予将颁发给特定于该实例的代入角色会话。被授权者委托人ARN使用以下格式:
arn:
aws-partition
:sts::account_id
:assumed-role/aws:ec2-infrastructure/instance_id