퍼블릭 읽기 액세스 권한이 있는 Amazon S3 버킷의 403 액세스 거부 오류 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 1월 6일

퍼블릭 읽기 액세스를 허용하는 Amazon Simple Storage Service(Amazon S3) 버킷의 객체에 액세스하려고 합니다. 그러나 403 액세스 거부 오류가 발생합니다. 이 오류를 해결하려면 어떻게 해야 합니까?

해결 방법

퍼블릭 S3 버킷에서 객체에 액세스할 때 발생하는 문제를 진단하려면 AWS Systems Manager에서 AWSSupport-TroubleshootS3PublicRead 자동화 문서를 실행합니다. 이 문서에서는 버킷 정책 및 객체 ACL(액세스 제어 목록)과 같이 버킷 및 객체에 영향을 주는 일부 권한 설정을 분석합니다.

참고: AWSSupport-TroubleshootS3PublicRead 문서는 공개적으로 읽을 수 있는 객체에서 403 오류를 분석합니다. 문서는 프라이빗 객체에 대한 사용 권한을 평가하지 않습니다.

Systems Manager 콘솔을 사용하여 AWSSupport-TroubleshootS3PublicRead 자동화 문서를 실행하려면 다음 단계를 수행하세요.

1.    Systems Manager 콘솔을 엽니다.

2.    탐색 창에서 [자동화(Automation)]를 선택합니다.

3.    [자동화 실행(Execute automation)]을 선택합니다.

4.    [문서 선택(Choose document)]에서 [Amazon 소유(Owned by Amazon)] 탭을 선택합니다.

5.    [자동화 문서(Automation document)] 검색 창에 S3PublicRead를 입력한 다음 Enter키를 누릅니다.

6.    [AWSSupport-TroubleshootS3PublicRead]를 선택하고 [다음(Next)]을 선택합니다.

7.    [자동화 문서 실행(Execute automation document)]을 선택한 다음 [단순 실행(Simple execution)]을 선택합니다.

8.    (선택 사항) AutomationAssumeRole은 Systems Manager에서 S3 버킷에 요청을 보내도록 수임하는 AWS Identity and Access Management(IAM) 역할을 선택할 수 있습니다. 이 필드를 비워 두면 Systems Manager는 문서를 설정하는 데 사용 중인 IAM 자격 증명을 사용합니다.
중요: 선택한 IAM 역할의 신뢰 정책은 Systems Manager Automation이 역할을 수임하도록 허용해야 합니다. 또한 IAM 역할에는 AWSSupport-TroubleshootS3PublicRead 자동화 문서를 실행할 수 있는 권한이 있어야 합니다.

9.    S3BucketName에 문제를 해결할 S3 버킷의 이름을 입력합니다.

10.    (선택 사항) S3PrefixName의 경우 분석할 접두어를 지정할 수 있습니다. 이 필드를 비워 두면 문서에 버킷이 나열되고 처음 몇 개의 객체가 사전 순으로 평가됩니다.

11.    (선택 사항) StartAfter의 경우 문서에서 리스팅을 시작할 키 이름을 지정할 수 있습니다.

12.    MaxObjects에 문서에서 평가할 최대 객체 수를 입력합니다. 기본 숫자는 5입니다.

13.    IgnoreBlockPublicAccess의 경우 값을 false로 두는 것이 가장 좋습니다.

경고: 값을 true로 변경하면 액세스를 차단할 수 있는 Amazon S3 퍼블릭 액세스 차단 설정이 무시됩니다.

14.    HttpGet의 경우 각 객체의 일부 HTTP GET 요청(첫 번째 바이트)을 문서에서 수행하도록 하려면 값을 true로 둡니다. 문서에서 전체 GET 요청을 수행하도록 하려면 값을 false로 변경합니다.

15.    [세부 정보(Verbose)]에 대해 분석 중에 자세한 정보를 보려면 true를 입력합니다. 경고 및 오류 메시지만 보려면 false를 입력합니다.

16.    (선택 사항) CloudWatchLogGroupName의 경우, 분석 결과를 보낼 Amazon CloudWatch 로그 그룹 이름을 입력할 수 있습니다. 이름을 지정하고 로그 그룹이 없으면, 문서에서 해당 이름으로 로그 그룹을 생성하려 시도합니다.

17.    (선택 사항) CloudWatchLogStreamName의 경우 분석 결과를 보낼 CloudWatch 로그 스트림 이름을 입력할 수 있습니다. 이름을 지정하고 로그 그룹이 없으면, 문서에서 해당 이름으로 로그 그룹을 생성하려 시도합니다. 이 필드를 비워 두면 문서는 문서의 실행 ID를 로그 스트림 이름으로 사용합니다.

18.    ResourcePartition에 대해 S3 버킷이 있는 파티션을 선택합니다. 옵션은 aws, aws-us-gov 또는 aws-cn입니다.

19.    (선택 사항) [태그(Tags)]에 최대 5개의 키-값 페어 태그를 입력합니다.

20.    [실행(Execute)]을 선택합니다.

21.    [실행 상태(Execution status)]를 사용하여 문서의 진행률을 추적할 수 있습니다.

22.    상태가 [Success(성공)]이면 [출력(Outputs)]에 나열된 결과를 검토합니다. 결과에는 평가된 각 객체에 대한 오류 코드가 포함될 수 있습니다. 오류 코드는 각 객체에 대한 익명 요청에 대한 액세스 거부 오류의 원인을 진단하는 데 도움이 될 수 있습니다.

팁: 평가에서 개별 단계의 결과를 검토하려면 [실행된 단계(Executed steps)]에서 관련 단계 ID를 선택합니다. [실행된 단계(Executed Steps)]는 [실행 상태(Execution status)] 아래에 나열됩니다.


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


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