AWS Identity and Access Management(IAM) 자격 증명과 같은 인증을 사용하지 않고 Amazon Simple Storage Service(Amazon S3) 버킷에 비공개로 액세스하려고 합니다. 어떻게 해야 합니까? 

Amazon S3에 대한 엔드포인트가 있는 Amazon Virtual Private Cloud(Amazon VPC)에서 S3 버킷에 액세스하는 경우 인증하지 않고 비공개로 S3 버킷에 액세스할 수 있습니다.

다음 단계에 따라 S3 버킷에 대한 VPC 엔드포인트 액세스를 설정합니다.

  1. Amazon S3에 대한 VPC 엔드포인트를 생성합니다.
  2. VPC 엔드포인트에서 액세스를 허용하는 버킷 정책을 추가합니다.

시작하기 전에 버킷에 액세스할 VPC를 생성해야 합니다.

Amazon S3에 대한 VPC 엔드포인트 생성

  1. Amazon VPC 콘솔을 엽니다.
  2. 탐색 모음에서 리전 선택기를 사용하여 AWS 리전에서 사용하려는 VPC와 동일한 리전으로 AWS 리전을 설정합니다.
  3. 탐색 창에서 [Endpoints]를 선택합니다.
  4. [Create Endpoint]를 선택합니다.
  5. [Service category]에서 AWS 서비스가 선택되었는지 확인합니다.
  6. [Service Name]에서 "s3"를 포함하는 서비스 이름을 선택합니다. 예를 들어, 미국 동부(버지니아 북부)의 서비스 이름은 com.amazonaws.us-east-1.s3입니다.
  7. [VPC]에서 사용할 VPC를 선택합니다.
  8. [Configure route tables]에서 엔드포인트에 액세스하도록 허용하려는 연결된 서브넷을 기반으로 라우팅 테이블을 선택합니다.
  9. [Policy]에서 [Full Access]가 선택되었는지 확인합니다.
  10. [Create endpoint]를 선택합니다.
  11. [VPC Endpoint ID]를 기록합니다. 이후 단계에서 이 ID가 필요합니다.

VPC 엔드포인트에서 액세스를 허용하는 버킷 정책 추가

생성한 VPC 엔드포인트에서 요청이 수신된 경우 사용자가 S3 버킷에 액세스할 수 있는 조건을 포함하도록 버킷 정책을 업데이트합니다. 사용자가 객체를 다운로드할 수 있도록 다음과 유사한 버킷 정책을 사용할 수 있습니다.

참고: aws: sourceVpce의 값으로 생성한 엔드포인트의 VPC 엔드포인트 ID를 입력합니다.

{
   "Version": "2012-10-17",
   "Id": "Policy1415115909152",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPCE-only",
       "Principal": "*",
       "Action": "s3:GetObject",
       "Effect": "Allow",
       "Resource": ["arn:aws:s3:::awsexamplebucket/*"],
       "Condition": {
         "StringEquals": {
           "aws:sourceVpce": "vpce-1a2b3c4d"
         }
       }
     }
   ]
}

중요: 이 정책은 VPC 엔드포인트로부터 액세스를 허용하지만, 엔드포인트 외부의 액세스를 모두 거부하지는 않습니다. 동일한 계정의 사용자가 인증되면 이 정책은 계속해서 사용자가 VPC 외부에서도 버킷에 액세스하도록 허용합니다. 보다 제한적인 버킷 정책이 필요한 경우 엔드포인트 외부의 모든 요청에 대한 액세스를 명시적으로 거부하는 정책을 사용합니다. 


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시 날짜: 2019년 3월 6일