AWS SDKs S3を使用して から静的ウェブサイトをデプロイするバケットポリシーの作成 - AWS Amplify ホスティング

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS SDKs S3を使用して から静的ウェブサイトをデプロイするバケットポリシーの作成

AWS SDKs を使用して、Amazon S3 から Amplify ホスティングに静的ウェブサイトをデプロイできます。SDK を使用してウェブサイトをデプロイする場合は、S3 バケット内のオブジェクトを取得するためのアクセス許可を Amplify ホスティングに付与する独自のバケットポリシーを作成する必要があります。

バケットポリシーの作成方法の詳細については、「Amazon Simple Storage Service ユーザーガイド」の「Amazon S3 のバケットポリシー」を参照してください。

次のバケットポリシーの例では、指定された、Amplify アプリケーション ID、ブランチのバケットを一覧表示し AWS アカウント、バケットオブジェクトを取得するアクセス許可を Amplify ホスティングに付与します。

この例を使用するには:

  • amzn-s3-demo-website-bucket/prefix をウェブサイトのバケットとプレフィックスの名前に置き換えます。

  • 111122223333 を ID AWS アカウント に置き換えます。

  • region-id を、Amplify アプリケーション AWS リージョン がある などに置き換えますus-east-1

  • app_id を Amplify アプリケーション ID に置き換えます。この情報は、Amplify コンソールで入手できます。

  • branch_name をお使いのブランチ名に置き換えます。

注記

バケットポリシーでは、aws:SourceArn が URL エンコード (パーセントエンコード) ブランチ ARN である必要があります。

JSON
{ "Version": "2012-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" } } } ] }