버킷 정책의 VPC 또는 VPC 엔드포인트 ID가 올바르지 않습니다. 버킷에 액세스하기 위해 정책을 수정하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 4월 9일

버킷 정책의 Amazon Virtual Private Cloud(VPC) ID 또는 VPC 엔드포인트 ID가 올바르지 않기 때문에 Amazon Simple Storage Service(Amazon S3) 버킷에 액세스할 수 없습니다. 버킷에 다시 액세스하기 위해 정책을 수정하려면 어떻게 해야 합니까?

​해결 방법

VPC ID 또는 VPC 종단점 ID가 유효하지만 잘못된 VPC용입니다.

버킷 정책의 VPC ID 또는 VPC 엔드포인트 ID가 유효하지만 잘못된 VPC를 가리키는 경우 다음 단계를 수행합니다.

참고: 버킷 정책에서 VPC ID를 지정한 경우 버킷에 액세스하고 정책을 수정하기 위해서는 VPC에 연결된 VPC 엔드포인트가 있어야 합니다.

1.    현재 허용된 VPC에 있고 VPC 종단점을 통해 Amazon S3에 대한 트래픽을 허용하는 라우팅 테이블도 사용하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결합니다. 또한 이 인스턴스에는 버킷에 액세스할 수 있는 권한이 있는 역할 또는 자격 증명이 있어야 합니다.

2.    인스턴스에서 다음과 같은 AWS 명령줄 인터페이스(AWS CLI) 명령을 실행하여 버킷 정책을 가져옵니다.

aws s3api get-bucket-policy --bucket example_bucket

3.    기존 버킷 정책을 복사한 다음, 이후 단계의 참조로 보관합니다.

4.    이 명령을 실행하여 버킷 정책을 삭제합니다.

경고: 다음 명령은 버킷 정책 전체를 삭제합니다. 참조를 위해 기존 버킷 정책의 사본을 보관해야 합니다.

aws s3api delete-bucket-policy --bucket example_bucket

5.    이전 버킷 정책을 편집하여 올바른 VPC 또는 VPC 종단점을 가리킵니다. 또는 VPC에 의해 제한되는 액세스가 필요 없을 경우, VPC 제한을 모두 제거합니다. 그런 다음, 수정된 정책을 JSON 문서로 저장합니다.

6.    버킷에 액세스할 수 있는 AWS 계정에서 이 명령을 실행하여 수정된 버킷 정책을 버킷에 추가합니다.

aws s3api put-bucket-policy --bucket example_bucket --policy file://policy.json

VPC ID 또는 VPC 엔드포인트 ID가 유효하지 않음

버킷 정책의 VPC ID 또는 VPC 엔드포인트 ID가 유효하지 않은 경우(예를 들어, 잘못 입력되었거나 VPC가 더 이상 존재하지 않음) 잘못된 정책을 삭제하거나 편집하려면 AWS 계정 루트 사용자 액세스 권한이 필요합니다. 관리자 수준의 액세스가 있는 AWS Identity and Access Management(IAM) 사용자 또는 역할을 사용해도 정책을 삭제하거나 편집할 수 없습니다.

참고: 이러한 절차는 AWS GovCloud(US)에 적용되지 않습니다. AWS GovCloud(US) 사용자인 경우, AWS Support에 문의하여 지원을 받으십시오.

다음 단계에 따라 Amazon S3 콘솔을 사용하여 버킷 정책을 수정합니다.

1.    Amazon S3 콘솔에 루트 사용자로 로그인합니다.

2.    삭제하거나 편집하려는 버킷 정책이 포함된 버킷을 선택합니다.

참고: 버킷을 열면 콘솔에서 "액세스 거부" 오류가 표시될 수 있습니다. 이 오류가 나타난 경우에도 다음 단계로 넘어갈 수 있습니다.

3.    권한 보기를 선택합니다.

4.    버킷 정책을 선택합니다.

5.    버킷 정책을 완전히 삭제하려면 삭제를 선택합니다. VPC ID 또는 VPC 엔드포인트 ID만 편집하려면 버킷 정책 편집기에서 ID를 수정한 후 [저장]을 선택합니다.

경고: 버킷 정책을 완전히 삭제하는 경우, 참조를 위해 기존 버킷 정책의 사본을 보관해야 합니다.

다음 단계에 따라 AWS CLI를 사용하여 버킷 정책을 수정합니다.

경고: 이 절차에서는 루트 사용자 자격 증명(액세스 키)을 사용합니다. 이 자격 증명은 긴급 상황 또는 복구 시에만 사용하는 것이 좋습니다. 꼭 필요한 경우 외에는 루트 계정 자격 증명을 사용하지 마십시오. 자세한 내용은 AWS 계정 루트 사용자 액세스 키 보안을 참조하십시오.

1.    이 명령을 실행하여 AWS CLI를 구성합니다.

aws configure

2.    이 명령은 자격 증명을 입력하라는 프롬프트를 반환합니다. 루트 사용자 자격 증명을 입력합니다. 이러한 자격 증명을 생성하는 방법에 대한 지침은 루트 사용자를 위한 액세스 키 생성을 참조하십시오.

3.    이 명령을 실행하여 버킷 정책을 가져옵니다.

aws s3api get-bucket-policy --bucket example_bucket

4.    기존 버킷 정책을 복사한 다음, 이후 단계의 참조로 보관합니다.

5.    이 명령을 실행하여 버킷 정책을 삭제합니다.

경고: 다음 명령은 버킷 정책 전체를 삭제합니다. 참조를 위해 기존 버킷 정책의 사본을 보관해야 합니다.

aws s3api delete-bucket-policy --bucket example_bucket

6.    이전 버킷 정책을 편집하여 올바른 VPC 또는 VPC 종단점을 가리킵니다. 또는 VPC에 의해 제한되는 액세스가 필요 없을 경우, VPC 제한을 모두 제거합니다. 그런 다음, 수정된 정책을 JSON 문서로 저장합니다.

7.    다음 명령을 실행하여 수정된 버킷 정책을 버킷에 추가합니다.

aws s3api put-bucket-policy --bucket example_bucket --policy file://policy.json

중요: AWS 보안 모범 사례는, 버킷 정책을 수정한 후 다음을 수행하는 것입니다.


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

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?