AWS KMS 기본 암호화를 사용하는 Amazon S3 버킷에 파일을 업로드할 때 "액세스 거부(Access Denied)"라는 오류 메시지가 표시되는 이유는 무엇입니까?

최종 업데이트 날짜: 2020년 10월 19일

Amazon Simple Storage Service(Amazon S3) 버킷은 AWS Key Management Service(AWS KMS) 기본 암호화를 사용합니다. AWS Identity and Access Management(IAM) 사용자 또는 역할에는 버킷에 대한 s3:PutObject 권한이 있습니다. 버킷에 파일을 업로드하려 할 때 Amazon S3가 "액세스 거부됨" 오류 메시지를 반환합니다. 해결하려면 어떻게 해야 하나요?

해결 방법

수신한 오류 메시지를 기반으로 IAM 사용자 또는 역할의 AWS KMS 권한을 업데이트합니다.

중요: AWS KMS 키와 IAM 사용자 또는 역할이 다른 AWS 계정에 속하는 경우 IAM 정책과 KMS 키 정책 모두에 KMS 권한을 추가해야 합니다.

"PutObject 작업을 호출할 때 오류(AccessDenied) 발생: 액세스 거부됨"

이 오류 메시지는 IAM 사용자 또는 역할에 kms:GenerateDataKey 작업에 대한 권한이 필요함을 나타냅니다. 이 권한은 사용자 지정 AWS KMS 키로 기본 암호화를 사용하는 버킷에 필요합니다. kms:GenerateDataKey에 대해 권한을 추가하려면 다음 단계를 수행합니다.

  1. IAM 콘솔을 엽니다.
  2. 콘솔에서 Amazon S3 버킷에 파일을 업로드하는 데 사용할 IAM 사용자 또는 역할을 엽니다.
  3. IAM 사용자 또는 역할의 [권한(Permissions)] 탭에서 각 정책을 확장하여 해당 JSON 정책 문서를 봅니다.
  4. JSON 정책 문서에서 AWS KMS 액세스와 관련된 정책을 찾습니다. "Effect": "Allow"가 있는 문을 검토하여 사용자 또는 역할에 버킷의 AWS KMS 키에 대한 kms:GenerateDataKey 작업에 대해 권한이 있는지 확인합니다. 이 권한이 없는 경우 해당 정책에 권한을 추가합니다. 자세한 내용은 사용자에게 권한 추가(콘솔) 또는 역할 권한 정책 수정(콘솔)을 참조하십시오.
  5. JSON 정책 문서에서 "Effect": "Deny"가 있는 문을 찾습니다. 그런 다음 해당 문이 버킷 암호화에 사용된 키에 대한 KMS:GenateDataKey 작업에 IAM 사용자 또는 역할 액세스를 거부하지 않는지 확인합니다.

"CreateMultipartUpload작업을 호출할 때 오류(AccessDenied) 발생: 액세스 거부됨"

이 오류 메시지는 IAM 사용자 또는 역할에 kms:GenerateDataKeykms:Decrypt 작업에 대한 권한이 필요함을 나타냅니다. 이들 권한은 AWS KMS 기본 암호화를 사용하여 버킷으로 멀티파트 업로드를 수행하는 데 필요합니다. kms:GenerateDataKeykms:Decrypt에 대한 권한을 추가하려면 다음 단계를 수행합니다.

  1. IAM 콘솔을 엽니다.
  2. 콘솔에서 Amazon S3 버킷에 파일을 업로드하는 데 사용할 IAM 사용자 또는 역할을 엽니다.
  3. IAM 사용자 또는 역할의 [권한(Permissions)] 탭에서 각 정책을 확장하여 해당 JSON 정책 문서를 봅니다.
  4. JSON 정책 문서에서 AWS KMS 액세스와 관련된 정책을 찾습니다. "Effect": "Allow"이 있는 문을 검토하여 사용자 또는 역할에 버킷의 AWS KMS 키에 대한 kms:GenerateDataKeykms:Decrypt에 대해 권한이 있는지 확인합니다. 이러한 권한이 없는 경우 해당 정책에 권한을 추가합니다. 자세한 내용은 사용자에게 권한 추가(콘솔) 또는 역할 권한 정책 수정(콘솔)을 참조하십시오.
  5. JSON 정책 문서에서 "Effect": "Deny"가 있는 문을 찾습니다. 그런 다음 해당 문이 버킷 암호화에 사용된 키에 대한 kms:GenerateDataKeykms:Decrypt에 대해 IAM 사용자 또는 역할 액세스를 거부하지 않는지 확인합니다.

이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?