AWS Key Management Service(AWS KMS)에서 AWS KMS 키 정책을 업데이트하고 싶습니다. AWS Identity and Access Management(AWS IAM) 자격 증명(사용자, 그룹, 역할)에 대한 관리자 권한이 있음을 확인했습니다. 하지만 KMS 키 정책을 읽거나 업데이트할 수 없습니다.
간략한 설명
IAM 보안 주체는 API 작업 권한 GetKeyPolicy가 있어야 키 정책을 읽을 수 있고, PutKeyPolicy가 있어야 정책을 업데이트할 수 있습니다. 이러한 권한은 키 정책을 통해 직접 부여되거나 키와 IAM 정책을 조합하여 부여됩니다. 자세한 내용은 AWS Key Management Service(AWS KMS)를 참조하세요.
기본 AWS KMS 키 IAM 정책에는 다음과 비슷한 명령문이 포함되어 있습니다.
{ "Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:*",
"Resource": "*"
}
AWS 계정 111122223333의 IAM 엔터티는 연결된 정책에서 허용하는 모든 AWS KMS 작업을 수행할 수 있습니다. 연결된 정책에 권한이 포함되어 있더라도 엔터티가 GetKeyPolicy 또는 PutKeyPolicy 등의 API 작업을 수행할 수 없는 경우도 있습니다. 이 오류를 해결하려면 “IAM 사용자 권한 활성화” 명령문이 변경되었는지 확인합니다.
해결 방법
IAM 정책 권한 확인
이 IAM 정책과 마찬가지로 IAM 엔터티에 AWS KMS 키를 읽고 업데이트할 권한이 있는지 확인합니다.
{ "Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Create*",
"kms:Describe*",
"kms:Enable*",
"kms:List*",
"kms:Put*",
"kms:Update*",
"kms:Revoke*",
"kms:Disable*",
"kms:Get*",
"kms:Delete*",
"kms:TagResource",
"kms:UntagResource",
"kms:ScheduleKeyDeletion",
"kms:CancelKeyDeletion"
],
"Resource": "arn:aws:kms:*:111122223333:key/*"
}
]
}
CloudTrail 이벤트 기록 사용
- AWS CloudTrail 콘솔을 연 다음, 이벤트 기록을 선택합니다.
- 속성 조회 드롭다운 목록에서 이벤트 이름을 선택합니다.
- 검색 창에서 PutKeyPolicy를 입력합니다.
- 가장 최근의 PutKeyPolicy 이벤트를 엽니다.
- 이벤트 기록에서 정책을 복사하여 자주 사용하는 텍스트 편집기에 붙여넣습니다.
- 정책을 읽을 수 있는 형식으로 파싱합니다.
- IAM 정책 Sid “키 관리자에게 액세스 허용”에서 IAM 자격 증명 관리자는 다음과 같이 적어 둡니다.
{ "Sid": "Allow access for Key Administrators",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333:role/Administrator"
]
},
그러면 키 관리자를 사용하여 키에 다시 액세스할 수 있습니다.
Athena 쿼리 사용
CloudTrail 이벤트 기록 이벤트가 90일이 지난 경우 Amazon Athena를 사용하여 CloudTrail 로그를 검색할 수 있습니다. 지침은 CloudTrail 콘솔을 사용하여 CloudTrail 로그에 대한 Athena 테이블 생성을 참조하세요.
자세한 내용은 Athena에서 테이블을 자동으로 생성하여 CloudTrail 로그를 검색하려면 어떻게 해야 하나요?를 참조하세요.
관련 정보
보안 액세스 키
AWS KMS 개념