(예제) VPC를 사용하여 Amazon S3 데이터에 대한 데이터 액세스 제한
VPC를 사용하여 Amazon S3 버킷의 데이터에 대한 액세스를 제한할 수 있습니다. 추가 보안을 위해 인터넷 액세스 없이 VPC를 구성하고 AWS PrivateLink를 사용하여 엔드포인트를 만들 수 있습니다. VPC 엔드포인트 또는 S3 버킷에 리소스 기반 정책을 연결하여 액세스를 제한할 수도 있습니다.
Amazon S3 VPC 엔드포인트 생성
인터넷 액세스 없이 VPC를 구성하는 경우 모델 사용자 지정 작업이 훈련 및 검증 데이터를 저장하고 모델 아티팩트를 저장하는 S3 버킷에 액세스할 수 있도록 Amazon S3 VPC 엔드포인트를 만들어야 합니다.
Create a gateway endpoint for Amazon S3의 단계에 따라 S3 VPC 엔드포인트를 만듭니다.
참고
VPC에 대해 기본 DNS 설정을 사용하지 않는 경우 엔드포인트 라우팅 테이블을 구성하여 훈련 작업 내 데이터 위치를 지정하는 데 사용하는 URL이 해결되는지 확인합니다. VPC 엔드포인트 라우팅 테이블에 대한 자세한 내용은 Routing for Gateway endpoints를 참조하세요.
(선택 사항) IAM 정책을 사용하여 S3 파일에 대한 액세스 제한
리소스 기반 정책을 사용하여 S3 파일에 대한 액세스를 더 엄격하게 제어할 수 있습니다. 다음 유형의 리소스 기반 정책을 조합하여 사용할 수 있습니다.
-
엔드포인트 정책 - VPC 엔드포인트에 엔드포인트 정책을 연결하여 VPC 엔드포인트를 통한 액세스를 제한할 수 있습니다. 기본 엔드포인트 정책은 VPC의 모든 사용자 또는 서비스에 Amazon S3에 대한 모든 액세스를 허용합니다. 엔드포인트를 만드는 동안 또는 만든 후, 필요한 경우 엔드포인트에 리소스 기반 정책을 연결하여 엔드포인트가 특정 버킷에 액세스하도록 허용하거나 특정 IAM 역할만 엔드포인트에 액세스하도록 허용하는 등의 제한을 추가할 수 있습니다. 예제는 Edit the VPC endpoint policy를 참조하세요.
다음은 VPC 엔드포인트에 연결하여 지정한 버킷에만 액세스하도록 허용할 수 있는 예제 정책입니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RestrictAccessToTrainingBucket", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
bucket
", "arn:aws:s3:::bucket/*
" ] } ] } -
버킷 정책 - 버킷 정책을 S3 버킷에 연결하여 이에 대한 액세스를 제한할 수 있습니다. 버킷 정책을 만들려면 버킷 정책 사용의 단계를 따르세요. VPC에서 들어오는 트래픽에 대한 액세스를 제한하려면 조건 키를 사용하여 VPC 자체, VPC 엔드포인트 또는 VPC의 IP 주소를 지정할 수 있습니다. aws:sourceVpc, aws:sourceVpce 또는 aws:VpcSourceIp 조건 키를 사용할 수 있습니다.
다음은 VPC에서 들어오는 트래픽을 제외한 모든 트래픽을 버킷으로 거부하기 위해 S3 버킷에 연결할 수 있는 정책의 예입니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RestrictAccessToOutputBucket", "Effect": "Deny", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
bucket
", "arn:aws:s3:::bucket/*
" ], "Condition": { "StringNotEquals": { "aws:sourceVpc": "your-vpc-id
" } } } ] }더 많은 예제는 Control access using bucket policies를 참조하세요.