Amazon S3でバケットを設定して、デフォルトですべてのファイルをパブリックに読み取り専用にするにはどうすればよいですか?
同様の投稿に対するこの回答が役立つ場合があります:stackoverflow.com/a/23102551/475882
—
jaxxbo
Amazon S3でバケットを設定して、デフォルトですべてのファイルをパブリックに読み取り専用にするにはどうすればよいですか?
回答:
このブログ投稿で詳しく説明されているように、バケットポリシーを設定できます。
http://ariejan.net/2010/12/24/public-readable-amazon-s3-bucket-policy/
@robbytの提案に従って、次のJSONでバケットポリシーを作成します。
{
"Version": "2008-10-17",
"Statement": [{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": { "AWS": "*" },
"Action": ["s3:GetObject"],
"Resource": ["arn:aws:s3:::bucket/*" ]
}]
}
重要:交換するbucket
にはResource
、あなたのバケツの名前を持つ行。
arn:aws:s3:::bucket
は、Resource
アレイに追加する必要もあります。(したがって、/*
。なし)これが私のようにこれに苦労していた他の人を助けることを願っています。
sync
、バケットを表示するだけでなく、を計画している場合にのみ必要です。
List
の権限をEveryone
バケットのプロパティ]> [権限]セクションで。
"2017-11-16",
Amazonはポリシー生成ツールを提供しています。
https://awspolicygen.s3.amazonaws.com/policygen.html
その後、AWSコンソールでバケットのポリシー要件を入力できます。
aws s3 sync ./local-folder-name s3://remote-bucket-name --acl=public-read