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

최종 업데이트 날짜: 2020년 12월 23일

내 Amazon Simple Storage Service(Amazon S3) 버킷은 잘못된 Amazon Virtual Private Cloud(Amazon VPC) ID 또는 VPC 엔드포인트 ID를 지정합니다. 버킷에 다시 액세스할 수 있도록 정책을 수정하려면 어떻게 해야 합니까?

해결 방법

VPC ID 또는 VPC 엔드포인트 ID가 유효하지만, 잘못된 VPC용임

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

참고: 버킷 정책에서 VPC ID를 지정한 경우 VPC 엔드포인트가 VPC와 연결되어 있는지 확인합니다. 그렇지 않으면 버킷을 업데이트할 수 없습니다.

1.    현재 허용된 VPC에 있는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결합니다.

참고: Amazon EC2 인스턴스는 VPC 엔드포인트를 통해 Amazon S3로의 트래픽을 허용하는 라우팅 테이블도 사용해야 합니다. 또한 S3 버킷에 액세스할 권한이 있는 역할 또는 자격 증명이 인스턴스에 있어야 합니다.

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

aws s3api get-bucket-policy --bucket example_bucket

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.

3.    기존 버킷 정책을 복사한 다음, 나중 단계를 위한 참조로 보관합니다.

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

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

aws s3api delete-bucket-policy --bucket example_bucket

5.    올바른 VPC 또는 VPC 종단점을 가리키도록 이전 버킷 정책을 편집합니다. 또는 VPC로 제한된 액세스 권한이 필요 없는 경우 VPC 정책을 완전히 제거합니다. 그런 다음, 수정된 정책을 JSON 문서로 저장합니다.

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

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

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

버킷 정책의 VPC ID 또는 VPC 엔드포인트 ID가 유효하지 않거나 잘못 입력되면 오류가 발생합니다. 유효하지 않거나 잘못된 정책을 업데이트하려면 AWS 계정 루트 사용자 액세스 권한이 있어야 합니다. 관리자 수준 액세스 권한이 있어도 정책을 편집하거나 제거할 수 없습니다.

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

Amazon S3 콘솔을 사용하여 버킷 정책을 수정하려면 다음 단계를 따릅니다.

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

2.    삭제하거나 편집할 Amazon S3 버킷 정책이 있는 버킷을 선택합니다.

참고: 버킷을 연 후에 콘솔에서 '액세스 거부' 오류가 나타날 수 있습니다. 이 오류가 나타나는 경우에도 다음 단계로 진행할 수 있습니다.

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

4.    [Bucket Policy]를 선택합니다.

5.    버킷 정책을 완전히 삭제하려면 Delete(삭제)를 선택합니다. 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.    put-bucket-policy 명령을 실행하여 수정된 버킷 정책을 버킷에 추가합니다.

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

AWS 모범 사례

버킷 정책을 수정한 후 다음 모범 사례를 준수해야 합니다.


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


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