가상 프라이빗 클라우드(VPC)로 제한된 액세스 포인트 생성 - Amazon Simple Storage Service

가상 프라이빗 클라우드(VPC)로 제한된 액세스 포인트 생성

액세스 포인트를 생성할 때 인터넷에서 액세스 포인트를 액세스할 수 있도록 선택하거나 해당 액세스 포인트를 통해 이루어진 모든 요청이 특정 가상 프라이빗 클라우드(VPC)에서 시작되도록 지정할 수 있습니다. 인터넷에서 액세스할 수 있는 액세스 포인트의 네트워크 오리진은 Internet입니다. 액세스 포인트, 기본 버킷 및 관련 리소스(예: 요청된 객체)에 대한 기타 액세스 제한에 따라 인터넷 어디에서나 사용할 수 있습니다. 지정된 VPC에서만 액세스할 수 있는 액세스 포인트의 네트워크 오리진은 VPC이고, Amazon S3은 해당 VPC에서 시작되지 않은 액세스 포인트에 대한 모든 요청을 거부합니다.

중요

액세스 포인트를 생성할 때만 액세스 포인트의 네트워크 오리진을 지정할 수 있습니다. 액세스 포인트를 생성한 후에는 네트워크 오리진을 변경할 수 없습니다.

액세스 포인트를 VPC 전용 액세스로 제한하려면 액세스 포인트 생성 요청에 VpcConfiguration 파라미터를 포함합니다. VpcConfiguration 파라미터에서 액세스 포인트 사용을 허용할 VPC ID를 지정합니다. 액세스 포인트를 통해 요청이 이루어진 경우 요청은 VPC에서 시작되어야 하며 그렇지 않으면 Amazon S3에서 이를 거부합니다.

AWS CLI, AWS SDK 또는 REST API를 사용하여 액세스 포인트의 네트워크 오리진을 검색할 수 있습니다. 액세스 포인트에 VPC 구성이 지정되어 있는 경우 네트워크 오리진은 VPC입니다. 그렇지 않으면 액세스 포인트의 네트워크 오리진은 Internet입니다.

예: VPC 액세스로 제한된 액세스 포인트 생성

다음 예제에서는 vpc-1a2b3c VPC에서만 액세스하도록 허용하는 계정 123456789012의 버킷 amzn-s3-demo-bucket에 이름이 example-vpc-ap인 액세스 포인트를 생성합니다. 그런 다음 새 액세스 포인트의 네트워크 오리진이 VPC인지 확인합니다.

AWS CLI
aws s3control create-access-point --name example-vpc-ap --account-id 123456789012 --bucket amzn-s3-demo-bucket --vpc-configuration VpcId=vpc-1a2b3c
aws s3control get-access-point --name example-vpc-ap --account-id 123456789012 { "Name": "example-vpc-ap", "Bucket": "amzn-s3-demo-bucket", "NetworkOrigin": "VPC", "VpcConfiguration": { "VpcId": "vpc-1a2b3c" }, "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true }, "CreationDate": "2019-11-27T00:00:00Z" }

VPC와 함께 액세스 포인트를 사용하려면 VPC 엔드포인트에 대한 액세스 정책을 수정해야 합니다. VPC 엔드포인트를 사용하면 VPC에서 Amazon S3으로 트래픽이 흐를 수 있습니다. VPC 내의 리소스가 Amazon S3와 상호 작용할 수 있는 방법을 제어하는 액세스 제어 정책이 있습니다. VPC에서 Amazon S3로의 요청은 VPC 엔드포인트 정책이 액세스 포인트와 기본 버킷 모두에 대한 액세스 권한을 부여하는 경우에만 액세스 포인트를 통해 성공합니다.

참고

VPC 내에서만 리소스에 액세스할 수 있도록 하려면 VPC 엔드포인트에 대한 프라이빗 호스팅 영역을 생성해야 합니다. 프라이빗 호스팅 영역을 사용하려면 VPC 네트워크 속성enableDnsHostnamesenableDnsSupport로 설정되도록 VPC 설정을 수정합니다.

다음 예제 정책 문은 이름이 awsexamplebucket1인 버킷과 이름이 example-vpc-ap인 액세스 포인트에 GetObject 호출을 허용하도록 VPC 엔드포인트를 구성합니다.

{ "Version": "2012-10-17", "Statement": [ { "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::awsexamplebucket1/*", "arn:aws:s3:us-west-2:123456789012:accesspoint/example-vpc-ap/object/*" ] }] }
참고

이 예제의 "Resource" 선언은 Amazon 리소스 이름(ARN)을 사용하여 액세스 포인트를 지정합니다. 액세스 포인트 ARN에 대한 자세한 내용은 Amazon S3 액세스 포인트 사용 단원을 참조하십시오.

VPC 엔드포인트 정책에 대한 자세한 내용은 VPC 사용 설명서Amazon S3에 대한 엔드포인트 정책 사용을 참조하십시오.

VPC 엔드포인트를 사용하여 액세스 포인트를 생성하는 방법에 대한 자습서는 Managing Amazon S3 access with VPC endpoints and access points를 참조하세요.