가상 사설 클라우드로 제한된 액세스 포인트 만들기
가상 사설 클라우드로 제한된 액세스 포인트 만들기 (Creating access points restricted to a virtual private cloud)
액세스 포인트를 만들 때 인터넷에서 접근 가능하게 하거나, 그 액세스 포인트를 통해 이루어지는 모든 요청이 특정 가상 사설 클라우드(VPC)에서 시작되어야 한다고 지정할 수 있어요. 인터넷에서 접근 가능한 액세스 포인트는 네트워크 오리진이 Internet이라고 해요. 액세스 포인트, 기본 데이터 소스, 요청된 객체 같은 관련 리소스에 적용된 다른 접근 제한이 있지 않다면 인터넷 어디에서든 사용할 수 있어요. 지정된 VPC에서만 접근할 수 있는 액세스 포인트는 네트워크 오리진이 VPC이고, Amazon S3는 해당 VPC에서 시작되지 않는 액세스 포인트 요청을 거부해요.
출처: 문서
본문
중요 — 액세스 포인트의 네트워크 오리진은 액세스 포인트를 만들 때만 지정할 수 있어요. 액세스 포인트를 만든 뒤에는 네트워크 오리진을 변경할 수 없어요.
액세스 포인트를 VPC 전용 접근으로 제한하려면 액세스 포인트 생성 요청에 VpcConfiguration 파라미터를 포함해요. VpcConfiguration 파라미터에서 액세스 포인트를 사용할 수 있게 하려는 VPC ID를 지정해요. 액세스 포인트를 통해 요청이 이루어지면 요청은 그 VPC에서 시작되어야 해요. 그렇지 않으면 Amazon S3가 거부해요.
AWS CLI, AWS SDKs 또는 REST API로 액세스 포인트의 네트워크 오리진을 검색할 수 있어요. 액세스 포인트에 VPC 구성이 지정되어 있으면 네트워크 오리진은 VPC예요. 그렇지 않으면 액세스 포인트의 네트워크 오리진은 Internet이에요.
예시: 액세스 포인트를 만들어 VPC ID로 제한하기
다음 예시는 계정 123456789012에서 버킷 amzn-s3-demo-bucket에 대한 example-vpc-ap라는 액세스 포인트를 만들고, vpc-1a2b3c VPC에서만 접근을 허용해요. 그런 다음 예시는 새 액세스 포인트의 네트워크 오리진이 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 네트워크 속성 enableDnsHostnames와 enableDnsSupport가 true로 설정되도록 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에 대한 자세한 내용은 ARN, 액세스 포인트 별칭, 가상 호스트 스타일 URI로 액세스 포인트 참조하기를 참고하세요.
VPC 엔드포인트 정책에 대한 자세한 내용은 VPC User Guide의 Amazon S3용 엔드포인트 정책 사용을 참고하세요.
VPC 엔드포인트로 액세스 포인트를 만드는 튜토리얼은 VPC 엔드포인트와 액세스 포인트로 Amazon S3 접근 관리를 참고하세요.
예시: FSx for OpenZFS 볼륨에 연결된 액세스 포인트를 만들어 VPC ID로 제한하기
Amazon FSx 콘솔, AWS CLI 또는 API로 액세스 포인트를 만들어 FSx for OpenZFS 볼륨에 연결할 수 있어요. 연결한 뒤에는 지정된 VPC에서 S3 객체 API로 파일 데이터에 접근할 수 있어요.
FSx for OpenZFS 볼륨에 연결된 액세스 포인트를 만들고 제한하는 방법은 FSx for OpenZFS User Guide의 가상 사설 클라우드(VPC)로 제한된 액세스 포인트 만들기를 참고하세요.
예시: FSx for ONTAP 볼륨에 연결된 액세스 포인트를 만들어 VPC ID로 제한하기
Amazon FSx 콘솔, AWS CLI 또는 API로 액세스 포인트를 만들어 FSx for ONTAP 볼륨에 연결할 수 있어요. 연결한 뒤에는 지정된 VPC에서 S3 객체 API로 파일 데이터에 접근할 수 있어요.
FSx for ONTAP 볼륨에 연결된 액세스 포인트를 만들고 제한하는 방법은 FSx for ONTAP User Guide를 참고하세요.