本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon EBS 加密
按照以下过程使用 Amazon EBS 加密。
选择 EBS 加密的 KMS 密钥
Amazon EBS 会自动 AWS 托管式密钥 在您存储 AWS 资源的每个区域中创建唯一的。此 KMS 密钥 具有别名 alias/aws/ebs
。默认情况下,Amazon EBS 使用此 KMS 密钥 进行加密。您也可以指定一个您创建的对称客户管理加密密钥,以作为 EBS 加密的原定设置 KMS 密钥。使用您自己的 KMS 密钥 可以提高灵活性,包括提供创建、轮换和禁用 KMS 密钥 的能力。
- Amazon EC2 console
-
针对某个区域配置用于 EBS 加密的默认 KMS 密钥
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/。
-
从导航栏中选择区域。
-
从导航窗格中,选择 EC2 控制面板。
-
在页面的右上角,选择账户属性,然后选择数据保护和安全。
-
选择管理。
-
对于 Default encryption key(原定设置加密密钥),选择对称客户管理加密密钥。
-
选择更新 EBS 加密。
默认启用加密
您可以将您的 AWS 账户配置为强制对您创建的新 EBS 卷和快照副本进行加密。例如,Amazon EBS 加密当您启动实例时创建的 EBS 卷以及您从未加密的快照复制的快照。有关从未加密转换为加密 EBS 资源的示例,请参阅加密未加密的资源。
默认情况下,加密对现有 EBS 卷或快照没有影响。
注意事项
-
默认加密是区域特定的设置。如果您为某个区域启用了它,则无法为该区域中单独的卷或快照禁用。
-
Amazon EBS 加密默认支持所有当前一代和上一代实例类型。
-
如果将快照复制到新 KMS 密钥并将其加密,则会创建完整(非增量)副本。这会产生额外的存储成本。
-
使用 AWS Server Migration Service (SMS) 迁移服务器时,请勿默认开启加密。如果默认情况下已启用加密,并且您遇到增量复制失败,请默认关闭加密。改为在创建复制作业时启用 AMI 加密。
- Amazon EC2 console
-
默认为某个区域启用加密
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/。
-
从导航栏中选择区域。
-
从导航窗格中,选择 EC2 控制面板。
-
在页面的右上角,选择账户属性,然后选择数据保护和安全。
-
选择管理。
-
选择启用。您可以保留 AWS 托管式密钥 使用代表您alias/aws/ebs
创建的别名作为默认加密密钥,或者选择对称的客户托管加密密钥。
-
选择更新 EBS 加密。
- AWS CLI
-
查看默认设置的加密
-
对于特定区域
$
aws ec2 get-ebs-encryption-by-default --region region
-
对于您账户中的所有区域
$
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 "$region --- $default --- $kms_key"; done
默认启用加密
-
对于特定区域
$
aws ec2 enable-ebs-encryption-by-default --region region
-
对于您账户中的所有区域
$
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 "$region --- $default --- $kms_key"; done
默认禁用加密
-
对于特定区域
$
aws ec2 disable-ebs-encryption-by-default --region region
-
对于您账户中的所有区域
$
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 "$region --- $default --- $kms_key"; done
- PowerShell
-
查看默认设置的加密
-
对于特定区域
PS C:\>
Get-EC2EbsEncryptionByDefault -Region region
-
对于您账户中的所有区域
PS C:\>
(Get-EC2Region).RegionName | ForEach-Object { [PSCustomObject]@{ Region = $_; EC2EbsEncryptionByDefault = Get-EC2EbsEncryptionByDefault -Region $_; EC2EbsDefaultKmsKeyId = Get-EC2EbsDefaultKmsKeyId -Region $_ } } | Format-Table -AutoSize
默认启用加密
-
对于特定区域
PS C:\>
Enable-EC2EbsEncryptionByDefault -Region region
-
对于您账户中的所有区域
PS C:\>
(Get-EC2Region).RegionName | ForEach-Object { [PSCustomObject]@{ Region = $_; EC2EbsEncryptionByDefault = Enable-EC2EbsEncryptionByDefault -Region $_; EC2EbsDefaultKmsKeyId = Get-EC2EbsDefaultKmsKeyId -Region $_ } } | Format-Table -AutoSize
默认禁用加密
-
对于特定区域
PS C:\>
Disable-EC2EbsEncryptionByDefault -Region region
-
对于您账户中的所有区域
PS C:\>
(Get-EC2Region).RegionName | ForEach-Object { [PSCustomObject]@{ Region = $_; EC2EbsEncryptionByDefault = Disable-EC2EbsEncryptionByDefault -Region $_; EC2EbsDefaultKmsKeyId = Get-EC2EbsDefaultKmsKeyId -Region $_ } } | Format-Table -AutoSize
您无法更改与现有快照或加密卷关联的 KMS 密钥。但是,您可在快照复制操作期间关联另一个 KMS 密钥,从而使生成的已复制快照由新 KMS 密钥 进行加密。
默认使用 API 和 CLI 管理加密
您可以使用以下 API 操作和 CLI 命令默认管理加密和默认 KMS 密钥。