建立儲存貯體政策以從 中部署靜態網站 S3 使用 AWS SDKs - AWS Amplify 託管

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立儲存貯體政策以從 中部署靜態網站 S3 使用 AWS SDKs

您可以使用 AWS SDKs 將靜態網站從 Amazon S3 部署到 Amplify Hosting。如果您使用 部署網站SDK,則必須建立自己的儲存貯體政策,授予 Amplify Hosting 許可,以擷取您 中的物件 S3 儲存貯體。

若要進一步了解如何建立儲存貯體政策,請參閱 Amazon Simple Storage Service 使用者指南 中的 Amazon S3 儲存貯體政策

下列範例儲存貯體政策授予 Amplify Hosting 許可,以列出儲存貯體,並擷取指定 AWS 帳戶、Amplify 應用程式 ID 和分支的儲存貯體物件。

若要使用此範例:

  • Replace (取代) amzn-s3-demo-website-bucket/prefix 網站儲存貯體和字首的名稱。

  • Replace (取代) 111122223333 您的 AWS 帳戶 ID。

  • Replace (取代) region-id 您的 AWS 區域 Amplify 應用程式所在的 ,例如 us-east-1

  • Replace (取代) app_id 與您 Amplify 應用程式 ID。此資訊可在 Amplify 主控台中取得。

  • Replace (取代) 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" } } } ] }