AWS SDK를 사용하여 S3에서 정적 웹 사이트를 배포하기 위한 버킷 정책 생성 - AWS Amplify 호스팅

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS SDK를 사용하여 S3에서 정적 웹 사이트를 배포하기 위한 버킷 정책 생성

AWS SDK를 사용하여 Amazon S3에서 Amplify Hosting으로 정적 웹 사이트를 배포할 수 있습니다. SDK를 사용하여 웹 사이트를 배포하는 경우 Amplify Hosting에 S3 버킷에서 객체를 검색할 수 있는 권한을 부여하는 자체 버킷 정책을 생성해야 합니다.

버킷 정책을 생성하는 방법에 대해 자세히 알아보려면 Amazon Simple Storage Service 사용 설명서Amazon S3의 버킷 정책을 참조하세요.

다음 버킷 정책 예제는 Amplify Hosting에 지정된 AWS 계정, Amplify 애플리케이션 ID 및 브랜치에 대해 버킷을 나열하고 버킷 객체를 검색할 수 있는 권한을 부여합니다.

이 예제 사용

  • amzn-s3-demo-website-bucket/prefix를 웹 사이트 버킷 및 접두사 이름으로 바꿉니다.

  • 111122223333를 AWS 계정 ID로 바꿉니다.

  • region-idus-east-1와 같이 Amplify 애플리케이션이 위치한 AWS 리전으로 바꿉니다.

  • app_id를 Amplify 애플리케이션 ID로 바꿉니다. 이 정보는 Amplify 콘솔에서 확인할 수 있습니다.

  • branch_name을 브랜치 이름으로 바꿉니다.

참고

버킷 정책에서 aws:SourceArn은 URL 인코딩(백분율 인코딩) 브랜치 ARN이어야 합니다.

{ "Version": "2008-10-17", "Statement": [ { "Sid": "AllowAmplifyToListPrefix_appid_branch_prefix_", "Effect": "Allow", "Principal": { "Service": "amplify.amazonaws.com" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-website-bucket/prefix/*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn%3Aaws%3Aamplify%3Aregion-id%3A111122223333%3Aapps%2Fapp_id%2Fbranches%2Fbranch_name", "s3:prefix": "" } } }, { "Sid": "AllowAmplifyToReadPrefix__appid_branch_prefix_", "Effect": "Allow", "Principal": { "Service": "amplify.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-website-bucket/prefix/*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn%3Aaws%3Aamplify%3Aregion-id%3A111122223333%3Aapps%2Fapp_id%2Fbranches%2Fbranch_name" } } }, { "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::amzn-s3-demo-website-bucket/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }