Amazon Machine Image(AMI) 또는 스냅샷이 암호화되어 있는지 알고 싶습니다. 만약 그렇다면 AWS Key Management Service(AWS KMS)의 관리형 키를 사용하는지 아니면 고객 관리 키를 사용하는지 알고 싶습니다.
해결 방법
참고:
- AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하는 경우 AWS CLI 버전을 사용하고 있는지 확인하세요.
- AWS CLI은 기본적으로 JSON을 출력합니다. 기본 형식을 사용하거나 명령에 --output json을 추가하여 다음 예제 출력과 비슷한 출력 결과를 얻을 수 있습니다. 자세한 내용을 보려면 출력 형식 선택을 참조하세요.
AWS CLI 명령을 통해 암호화 정보 보기
1. AMI에 연결된 스냅샷을 보려면 BlockDeviceMappings 쿼리 필터로 describe-images 명령을 실행합니다. 다음 예제에서는 image-ids와 리전을 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에 연결된 스냅샷을 보여줍니다. 스냅샷의 암호화된 파라미터가 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 파라미터는 고객입니다. 이는 해당 키가 고객 관리 키임을 보여줍니다. AWS KMS 키의 경우 KeyManager 파라미터가 AWS입니다.
콘솔을 통해 암호화 정보 보기
- Amazon Elastic Compute Cloud(Amazon EC2) 콘솔을 열고 AMI를 선택합니다.
- 세부 정보 확인을 원하는 AMI의 ID를 복제합니다.
- Elastic Block Store에서 스냅샷을 선택합니다.
- AMI ID를 입력한 후 Enter키를 누릅니다.
- 스냅샷을 선택한 후 설명탭에서 암호화항목이 암호화 됨 또는 암호화 되지 않음으로 설정되어 있는지 확인합니다. 스냅샷이 암호화 된 경우 KMS 키 ID와 ** KMS 키 ARN**을 기록해 두세요.
- AWS KMS 콘솔을 엽니다.
- AWS 관리형 키를 선택한 후 KMS 키 ID를 입력합니다. 결과가 표시되지 않으면 고객 관리 키를 선택한 후 KMS 키 ID를 입력합니다.
**참고:**AWS 관리형 키로 암호화된 AMI는 공유할 수 없습니다. 자세한 내용을 보려면 스냅샷을 공유하기 전에를 참조하세요.
관련 정보
AWS KMS 개념