

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

# Amazon EBS 加密要求
<a name="ebs-encryption-requirements"></a>

在您开始之前，确认您满足以下要求。

**Topics**
+ [支持的卷类型](#ebs-encryption-volume-types)
+ [支持的实例类型](#ebs-encryption_supported_instances)
+ [用户的权限](#ebs-encryption-permissions)
+ [实例的权限](#ebs-encryption-instance-permissions)

## 支持的卷类型
<a name="ebs-encryption-volume-types"></a>

所有 EBS 卷类型都支持加密。您可能希望加密卷具有与未加密卷相同的 IOPS 性能，同时对延迟的影响最低。您可以采用与访问未加密卷相同的方式来访问加密卷。加密和解密是以透明方式处理的，并且不需要您或您的应用程序执行额外操作。

## 支持的实例类型
<a name="ebs-encryption_supported_instances"></a>

Amazon EBS 加密适用于所有[当前一代](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#current-gen-instances)和[上一代](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#previous-gen-instances)实例类型。

## 用户的权限
<a name="ebs-encryption-permissions"></a>

当您使用 KMS 密钥进行 EBS 加密时，KMS 密钥策略允许任何有权访问所需 AWS KMS 操作的用户使用此 KMS 密钥来加密或解密 EBS 资源。您必须授予用户调用以下操作的权限才能使用 EBS 加密：
+ `kms:CreateGrant`
+ `kms:Decrypt`
+ `kms:DescribeKey`
+ `kms:GenerateDataKeyWithoutPlainText`
+ `kms:ReEncrypt`

**提示**  
为遵循最小特权原则，请不要允许对 `kms:CreateGrant` 拥有完全访问权限。相反，使用`kms:GrantIsForAWSResource`条件密钥允许用户仅在 AWS 服务代表用户创建授权时才允许用户在 KMS 密钥上创建授权，如以下示例所示。

------
#### [ JSON ]

****  

```
{
    "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 开发人员指南*[》中 “默认密钥策略” 部分中的允许访问 AWS 账户和启用 IAM](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) **策略**。

## 实例的权限
<a name="ebs-encryption-instance-permissions"></a>

当实例尝试与加密的 AMI、卷或快照进行交互时，系统会向该实例的仅限身份角色发放 KMS 密钥授权。仅限身份的角色是一个 IAM 角色，实例使用该角色代表您与加密的 AMIs、卷或快照进行交互。

仅限身份角色无需手动创建或删除，也没有与之关联的策略。此外，您无法访问仅限身份的角色凭证。

**注意**  
您的实例上的应用程序不使用仅限身份的角色来访问其他 AWS KMS 加密资源，例如 Amazon S3 对象或 Dynamo DB 表。这些操作是使用 Amazon EC2 实例角色的 AWS 证书或您在实例上配置的其他证书完成的。

仅限身份的角色受[服务控制策略](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_policies_scps.html) (SCPs) 和 [KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)策略的约束。如果 SCP 或 KMS 密钥拒绝仅限身份的角色访问 KMS 密钥，则您可能无法启动带有加密卷或使用加密 AMIs 卷或快照的 EC2 实例。

如果您要使用`aws:SourceIp`、`aws:VpcSourceIp`、或`aws:SourceVpce` AWS 全局条件密钥创建基于网络位置拒绝访问的 SCP 或密钥策略，则必须确保这些策略声明不适用于仅限实例的角色。`aws:SourceVpc`有关示例策略，请参阅[数据外围策略示例](https://github.com/aws-samples/data-perimeter-policy-examples/tree/main)。

仅限身份的角色 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
```