メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::S3::BucketPolicy

AWS::S3::BucketPolicy タイプは、Amazon S3 バケットポリシーを Amazon S3 バケットに適用します。

AWS::S3::BucketPolicy のスニペット: Amazon S3 バケットポリシーの宣言

トピック

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::S3::BucketPolicy", "Properties" : { "Bucket" : String, "PolicyDocument" : JSON } }

YAML

Copy
Type: "AWS::S3::BucketPolicy" Properties: Bucket: String PolicyDocument: JSON

プロパティ

Bucket

ポリシー適用対象の Amazon S3 バケット。

Required: Yes

Type: String

このプロパティを更新することはできません。バケットポリシーからバケットを追加または削除するには、新しいバケットポリシーリソースを作成し、古いリソースを削除して、AWS CloudFormation テンプレートを変更する必要があります。その後、変更されたテンプレートを使用して AWS CloudFormation スタックを更新します。

PolicyDocument

指定されたバケットに追加する許可を含むポリシードキュメント。詳細については、Amazon Simple Storage Service 開発者ガイドの「アクセスポリシー言語の概要」を参照してください。

Required: Yes

Type: JSON object

更新に伴う要件: 中断はありません。

特定のリファラからの GET リクエストを許可するバケットポリシー

以下は、myExampleBucket バケットにアタッチされ、www.example.comexample.com からの GET リクエストを許可するバケットポリシーの例です。

JSON

Copy
"SampleBucketPolicy" : { "Type" : "AWS::S3::BucketPolicy", "Properties" : { "Bucket" : {"Ref" : "myExampleBucket"}, "PolicyDocument": { "Statement":[{ "Action":["s3:GetObject"], "Effect":"Allow", "Resource": { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "myExampleBucket" } , "/*" ]]}, "Principal":"*", "Condition":{ "StringLike":{ "aws:Referer":[ "http://www.example.com/*", "http://example.com/*" ] } } }] } } }

YAML

Copy
SampleBucketPolicy: Type: "AWS::S3::BucketPolicy" Properties: Bucket: Ref: "myExampleBucket" PolicyDocument: Statement: - Action: - "s3:GetObject" Effect: "Allow" Resource: Fn::Join: - "" - - "arn:aws:s3:::" - Ref: "myExampleBucket" - "/*" Principal: "*" Condition: StringLike: aws:Referer: - "http://www.example.com/*" - "http://example.com/*"

このページの内容: