Amazon マシンイメージ (AMI) またはスナップショットが暗号化されているかどうかを確認したいと考えています。暗号化されている場合、AWS Key Management Service (AWS KMS) 管理キーを使用しているのか、カスタマー管理キーを使用しているのかを知りたいです。
解決策
注:
AWS CLI コマンドを使用して暗号化情報を表示する
1. AMI に関連付けられているスナップショットを表示するには、BlockDeviceMappings クエリフィルタを指定して describe-images コマンドを実行します。次の例では、image-ids と region を 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 に設定されています。
2. 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 を書き留めておきます。
3. キーが AWS KMS キーかカスタマー管理キーかを判断するには、describe-key コマンドを実行します。次のコマンドで、key-id を describe-snapshot コマンドにリストされている KMSKeyId に置き換えます。リージョンをスナップショットのリージョンに置き換えます。
# 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 です。
コンソールを使用して暗号化情報を表示する
- Amazon Elastic Compute Cloud (Amazon EC2) コンソールを開き、AMI を選択します。
- 詳細を知りたい AMI の ID をコピーします。
- [Elastic ブロックストア] で [スナップショット] を選択します。
- AMI ID を入力し、Enter キーを押します。
- スナップショットを選択し、[説明] タブで [暗号化] が [暗号化] または [暗号化なし] に設定されていることを確認します。スナップショットが暗号化されている場合は、KMS キー ID と KMS キー ARN を書き留めておきます。
- AWS KMS コンソールを開きます。
- AWS マネージドキーを選択し、KMS キー ID を入力します。結果が表示されない場合は、[カスタマー管理キー] を選択し、KMS キー ID を入力します。
注: AWS マネージドキーで暗号化された AMI は共有できません。詳細については、「スナップショットを共有する前に」を参照してください。
関連情報
AWS KMS の概念