AWS KMS에서 KMS 키 정책을 읽거나 업데이트할 수 없는 이유는 무엇입니까?

최종 업데이트 날짜: 2021년 8월 26일

AWS Key Management Service(AWS KMS)에서 AWS KMS 키 정책을 업데이트하고 싶습니다. AWS Identity and Access Management(IAM) 자격 증명(사용자, 그룹 및 역할)에 대한 관리자 권한이 있는지 확인했지만 KMS 키 정책을 읽거나 업데이트할 수 없습니다.

간략한 설명

IAM 보안 주체는 키 정책을 읽을 수 있는 API 작업 권한 GetKeyPolicy 및 정책을 업데이트하는 PutKeyPolicy가 있어야 합니다. 이러한 권한은 키 정책으로 직접 부여되거나 키와 IAM 정책의 조합으로 부여됩니다. 자세한 내용은 AWS KMS 키에 대한 액세스 관리를 참조하세요.

기본 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 정책과 유사한 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 이벤트 기록 사용

1.    AWS CloudTrail 콘솔을 열고 [이벤트 기록(Event history)]을 선택합니다.

2.    [조회 속성(Lookup attributes)] 드롭다운 목록을 선택한 다음 [이벤트 이름(Event name)]을 선택합니다.

3.    검색 창에 PutKeyPolicy를 입력합니다.

4.    가장 최근의 PutKeyPolicy 이벤트를 엽니다.

5.    [이벤트 레코드(Event record)]에서 정책을 복사하여 즐겨찾는 텍스트 편집기에 붙여 넣습니다.

6.    정책을 읽기 가능한 형식으로 구문 분석합니다.

7.    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 로그 검색을 위한 테이블을 자동으로 생성하려면 어떻게 해야 합니까?를 참조하세요.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?