

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

# 默认启用 Amazon EBS 加密
<a name="encryption-by-default"></a>

您可以将您的 AWS 账户配置为强制对您创建的新 EBS 卷和快照副本进行加密。例如，Amazon EBS 加密当您启动实例时创建的 EBS 卷以及您从未加密的快照复制的快照。有关从未加密转换为加密 EBS 资源的示例，请参阅[加密未加密的资源](ebs-encryption.md#encrypt-unencrypted)。

默认情况下，加密对现有 EBS 卷或快照没有影响。

**注意事项**
+ 默认加密是区域特定的设置。如果您为某个区域启用了它，则无法为该区域中单独的卷或快照禁用。
+ 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)实例类型。
+ 如果将快照复制到新 KMS 密钥并将其加密，则会创建完整（非增量）副本。这会产生额外的存储成本。

------
#### [ Console ]

**默认为某个区域启用加密**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 从导航栏中选择区域。

1. 从导航窗格中，选择 **EC2 控制面板**。

1. 在页面的右上角，选择**账户属性**，然后选择**数据保护和安全**。

1. 在 **EBS 加密**部分，选择**管理**。

1. 选择 **启用**。您可以保留 AWS 托管式密钥 使用代表您`aws/ebs`创建的别名作为默认加密密钥，或者选择对称的客户托管加密密钥。

1. 选择**更新 EBS 加密**。

------
#### [ AWS CLI ]

**查看默认设置的加密**

使用 [get-ebs-encryption-by-defaul](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-ebs-encryption-by-default.html) t命令。
+ 对于特定区域

  ```
  aws ec2 get-ebs-encryption-by-default --region region
  ```
+ 对于您账户中的所有区域

  ```
  echo -e "Region      \t Encrypt \t Key"; \
  echo -e "----------- \t ------- \t -------" ; \
  for region in $(aws ec2 describe-regions --region us-east-1 --query "Regions[*].[RegionName]" --output text);
  do
      default=$(aws ec2 get-ebs-encryption-by-default --region $region --query "{Encryption_By_Default:EbsEncryptionByDefault}" --output text); 
      kms_key=$(aws ec2 get-ebs-default-kms-key-id --region $region | jq '.KmsKeyId'); 
      echo -e "$region \t $default \t\t $kms_key"; 
  done
  ```

**默认启用加密**

使用 [enable-ebs-encryption-by-defaul](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-ebs-encryption-by-default.html) t命令。
+ 对于特定区域

  ```
  aws ec2 enable-ebs-encryption-by-default --region region
  ```
+ 对于您账户中的所有区域

  ```
  echo -e "Region      \t Encrypt \t Key"; \
  echo -e "----------- \t ------- \t -------" ; \
  for region in $(aws ec2 describe-regions --region us-east-1 --query "Regions[*].[RegionName]" --output text); 
  do
      default=$(aws ec2 enable-ebs-encryption-by-default --region $region --query "{Encryption_By_Default:EbsEncryptionByDefault}" --output text); 
      kms_key=$(aws ec2 get-ebs-default-kms-key-id --region $region | jq '.KmsKeyId'); 
      echo -e "$region \t $default \t\t $kms_key"; 
  done
  ```

**默认禁用加密**

使用 [disable-ebs-encryption-by-defaul](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-ebs-encryption-by-default.html) t命令。
+ 对于特定区域

  ```
  aws ec2 disable-ebs-encryption-by-default --region region
  ```
+ 对于您账户中的所有区域

  ```
  echo -e "Region      \t Encrypt \t Key"; \
  echo -e "----------- \t ------- \t -------" ; \
  for region in $(aws ec2 describe-regions --region us-east-1 --query "Regions[*].[RegionName]" --output text); 
  do
      default=$(aws ec2 disable-ebs-encryption-by-default --region $region --query "{Encryption_By_Default:EbsEncryptionByDefault}" --output text); 
      kms_key=$(aws ec2 get-ebs-default-kms-key-id --region $region | jq '.KmsKeyId'); 
      echo -e "$region \t $default \t\t $kms_key"; 
  done
  ```

------
#### [ PowerShell ]

**查看默认设置的加密**

使用 [Get-EC2EbsEncryptionByDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2EbsEncryptionByDefault.html) cmdlet。
+ 对于特定区域

  ```
  Get-EC2EbsEncryptionByDefault -Region region
  ```
+ 对于您账户中的所有区域

  ```
  (Get-EC2Region).RegionName |
      ForEach-Object {
      [PSCustomObject]@{ 
          Region                    = $_
          EC2EbsEncryptionByDefault = Get-EC2EbsEncryptionByDefault -Region $_
          EC2EbsDefaultKmsKeyId     = Get-EC2EbsDefaultKmsKeyId -Region $_ 
      } } |
      Format-Table -AutoSize
  ```

**默认启用加密**

使用 [Enable-EC2EbsEncryptionByDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2EbsEncryptionByDefault.html) cmdlet。
+ 对于特定区域

  ```
  Enable-EC2EbsEncryptionByDefault -Region region
  ```
+ 对于您账户中的所有区域

  ```
  (Get-EC2Region).RegionName |
      ForEach-Object { 
      [PSCustomObject]@{
          Region                    = $_
          EC2EbsEncryptionByDefault = Enable-EC2EbsEncryptionByDefault -Region $_
          EC2EbsDefaultKmsKeyId     = Get-EC2EbsDefaultKmsKeyId -Region $_ 
      } } |
      Format-Table -AutoSize
  ```

**默认禁用加密**

使用 [Disable-EC2EbsEncryptionByDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2EbsEncryptionByDefault.html) cmdlet。
+ 对于特定区域

  ```
  Disable-EC2EbsEncryptionByDefault -Region region
  ```
+ 对于您账户中的所有区域

  ```
  (Get-EC2Region).RegionName |
      ForEach-Object { 
      [PSCustomObject]@{
          Region                    = $_
          EC2EbsEncryptionByDefault = Disable-EC2EbsEncryptionByDefault -Region $_
          EC2EbsDefaultKmsKeyId     = Get-EC2EbsDefaultKmsKeyId -Region $_ 
      } } |
      Format-Table -AutoSize
  ```

------

您无法更改与现有快照或加密卷关联的 KMS 密钥。但是，您可在快照复制操作期间关联另一个 KMS 密钥，从而使生成的已复制快照由新 KMS 密钥 进行加密。