如何查看有关我的 AMI 或快照的加密信息?

2 分钟阅读
0

我想知道我的亚马逊机器映像 (AMI) 或快照是否已加密。如果已加密,我想知道使用的是 AWS Key Management Service (AWS KMS) 托管密钥还是客户托管密钥。

解决方法

注意:

  • 如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请确保您使用的是最新版本的 AWS CLI
  • JSON 是 AWS CLI 的默认输出格式。您可以使用默认格式,或在命令中附加 --output json,以接收与以下示例输出类似的输出结果。有关更多信息,请参阅选择输出格式

使用 AWS CLI 命令查看加密信息

  1. 要查看与 AMI 关联的快照,请使用 BlockDeviceMappings 查询过滤器运行 describe-images 命令。将以下示例中的 image-idsregion 替换为您的 AMI 的 ID 和 AWS 区域。
# aws ec2 describe - images--image - ids ami - xxxxxxxxx--region eu - west - 1--query "Images[*].BlockDeviceMappings" [
	[{
		"DeviceName": "/dev/xvda",
		"Ebs": {
			"DeleteOnTermination": true,
			"SnapshotId": "snap-xxxxxxxxx",
			"VolumeSize": 8,
			"VolumeType": "gp2",
			"Encrypted": true
		}
	}]
]

上述示例输出结果显示了与 AMI 关联的快照。快照的 Encrypted 参数设置为 ** true**。

  1. 运行 describe-snapshots 命令。使用 describe-images 命令输出结果中列出的快照的 snapshot-id
# aws ec2 describe - snapshots--snapshot - ids snap - xxxxxxxxx--region eu - west - 1 {
	"Snapshots": [{
		"Description": "Copied for DestinationAmi ami-xxxxxxxxx from SourceAmi ami-xxxxxxxxx for SourceSnapshot snap-xxxxxxxxx. Task created on 1,579,611,950,318.",
		"Encrypted": true,
		"KmsKeyId": "arn:aws:kms:eu-west-1:9208xxxxxxxxx:key/dcd4d062-xxxxxxxxx-xxxxxxxxxx",
		"OwnerId": "111122223333",
		"Progress": "100%",
		"SnapshotId": "snap-xxxxxxxxx",
		"StartTime": "2020-01-21T13:05:53.887Z",
		"State": "completed",
		"VolumeId": "vol-ffffffff",
		"VolumeSize": 8
	}]
}

记下命令输出结果中的 KMSKeyId

  1. 要确定密钥是 AWS KMS 密钥还是客户托管密钥,请运行 describe-key 命令。将以下命令中的 key-id 替换为 describe-snapshot 命令中列出的 KMSKeyId。将 Region 替换为快照的区域。
# aws kms describe - key--key - id dcd4d062 - xxxxxxxxx - xxxxxxxxx--region eu - west - 1 {
	"KeyMetadata": {
		"AWSAccountId": "92xxxxxxxxx",
		"KeyId": "dcd4d062-xxxxxxxxx-xxxxxxxx",
		"Arn": "arn:aws:kms:eu-west-1:92xxxxxxxxx:key/dcd4d062-xxxxxxxxx-xxxxxxx",
		"CreationDate": 1579611763.538,
		"Enabled": true,
		"Description": "02-example-CMK",
		"KeyUsage": "ENCRYPT_DECRYPT",
		"KeyState": "Enabled",
		"Origin": "AWS_KMS",
		"KeyManager": "CUSTOMER",
		"CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
		"EncryptionAlgorithms": ["SYMMETRIC_DEFAULT"]
	}
}

在上述示例输出结果中,KeyManager 参数为 Customer。这表示密钥是客户托管的密钥。对于 AWS KMS 密钥,KeyManager 参数为 AWS

使用控制台查看加密信息

  1. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台,然后选择 AMI。
  2. 复制您想要获取详细信息的 AMI 的 ID。
  3. Elastic Block Store 下,选择快照
  4. 输入 AMI ID,然后按回车键
  5. 选择快照,然后在描述选项卡上,验证加密是设置为加密还是未加密。如果快照已加密,请记下 KMS 密钥 IDKMS 密钥 ARN
  6. 打开 AWS KMS 控制台
  7. 选择 AWS 托管式密钥,然后输入 KMS 密钥 ID。如果未显示任何结果,请选择客户托管密钥,然后输入 KMS 密钥 ID

**注意:**您无法共享使用 AWS 托管式密钥加密的 AMI。有关更多信息,请参阅共享快照之前的注意事项

相关信息

AWS KMS 概念

AWS 官方
AWS 官方已更新 9 个月前