翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK を使用して S3 から静的ウェブサイトをデプロイするためのバケットポリシーの作成
AWS SDK を使用して、Amazon S3 から Amplify ホスティングに静的ウェブサイトをデプロイできます。SDK を使用してウェブサイトをデプロイする場合は、S3 バケット内のオブジェクトを取得するためのアクセス許可を Amplify ホスティングに付与する独自のバケットポリシーを作成する必要があります。
バケットポリシーの作成方法の詳細については、「Amazon Simple Storage Service ユーザーガイド」の「Amazon S3 のバケットポリシー」を参照してください。
次のバケットポリシーの例では、指定された AWS アカウント、Amplify アプリケーション ID、ブランチについて、バケットを一覧表示し、バケットオブジェクトを取得する許可を Amplify ホスティングに付与します。
この例を使用するには:
amzn-s3-demo-website-bucket/prefix
をウェブサイトのバケットとプレフィックスの名前に置き換えます。111122223333
を自分の AWS アカウント ID に置き換えます。region-id
を、us-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" } } } ] }