스냅샷에서 암호화된 Amazon Elastic Block Store(Amazon EBS) 볼륨을 생성하거나 연결할 수 없습니다. 스냅샷은 AWS Key Management Service(AWS KMS) 고객 관리 키로 암호화됩니다.
간략한 설명
암호화된 스냅샷에서 암호화된 EBS 볼륨을 생성하거나 연결하지 못할 수 있습니다. 이는 스냅샷과 스냅샷을 암호화하는 데 사용된 사용자 지정 KMS 키가 동일한 계정에 있고, 키 정책 권한이 없는 경우 발생합니다. 이 문제를 해결하려면 AWS KMS 키 정책에서 AWS Identity and Access Management(AWS IAM) 사용자나 역할을 허용하세요.
해결 방법
CloudTrail 이벤트 기록을 사용하는 정책에서 누락된 권한을 확인합니다.
- AWS CloudTrail 콘솔을 엽니다.
- 이벤트 기록을 선택합니다. 그런 다음 AttachVolume이나 CreateVolume API 호출이 발생할 때 시간 범위를 15분으로 입력합니다.
- 필터를 선택하고 이벤트 소스를 선택한 다음 kms.amazonaws.com을 입력합니다.
- 결과가 로드되면 다운로드 버튼을 누르고 CSV 다운로드를 선택합니다.
- .csv 파일을 열고 오류 코드 열을 필터링해 AccessDenied를 찾습니다. 이벤트 이름에 AccessDenied 오류 코드가 있는 경우는 보통 권한이 누락된 경우입니다.
참고: CloudTrail 이벤트가 이벤트 기록 탭에 표시되는 데 최대 15분이 걸릴 수 있습니다. CreateVolume이나 AttachVolume 실패 상태를 받은 직후에 이벤트 기록을 확인하면 이벤트가 표시되지 않을 수 있습니다.
권한이 누락된 것을 확인한 후 다음 단계를 따라 문제를 해결하세요.
KMS 키 정책에 볼륨을 생성하거나 연결하는 IAM 사용자나 역할이 포함되어 있는지 확인합니다.
AWS KMS 콘솔 기본 보기
1. AWS KMS 콘솔을 엽니다.
-
고객 관리 키를 선택하고 적절한 키를 선택합니다.
-
키 정책에서 아래로 스크롤해 키 사용자로 이동합니다. 키 사용자 섹션 목록에 볼륨을 생성하거나 연결하는 IAM 사용자나 역할이 있는지 확인합니다.
-
키 사용자 섹션 목록에 사용자나 역할이 없는 경우, 추가를 눌러 사용자나 역할을 선택하고 추가를 선택합니다.
AWS KMS 콘솔 정책 보기
이전에 AWS KMS 키 정책을 수동으로 편집했다면 정책(JSON) 보기에서만 키 정책을 사용할 수 있습니다. 필수 AWS KMS 권한을 허용하려면 명령문에 IAM 사용자나 역할의 ARN을 주요로 명시하세요.
예제 키 정책
다음은 UserA를 Key1에 허용하는 AWS KMS 키 정책 예시입니다.
{
"Version": "2012-10-17",
"Id": "key-consolepolicy-3",
"Statement": [{
"Sid": "Enable IAM User Permissions",
...
},
{
"Sid": "Allow access for Key Administrators",
...
},
{
"Sid": "Allow use of the keys",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111111111111:user/UserA"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
},
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111111111111:user/UserA"
},
"Action": [
"kms:CreateGrant",
"kms:ListGrants",
"kms:RevokeGrant"
],
"Resource": "*",
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": "true"
}
}
}
]
}