ACL 対バケット ポリシーに苦労していたので、次の情報が役に立ちました。
ACL
ACL は、バケット内の 1 つのファイルに関連付けられたアクセス許可を定義します。バケット ポリシーは、バケット内のフォルダまたはファイルのアクセス許可を説明するスクリプトです。バケット ポリシーを使用して、ホット リンクを制限したり、特定またはすべてのファイルへのアクセスを許可または拒否したり、IP アドレスを制限したりします。
S3 バケット ポリシーを編集する
アマゾン ウェブ サービスにログインし、S3 をクリックして、左側の列のバケット名をクリックします。ページの下部にあるバケットの [プロパティ] パネルを表示します。右下隅にある [バケット ポリシーの編集] ボタンをクリックします。これにより、ポリシー スクリプトを貼り付けることができるライトボックスが表示されます。スクリプトが検証に失敗すると、スクリプトは保存されません。
全員に読み取りアクセスを許可するサンプル ポリシー (バケットがコンテンツ配信ネットワークとして使用されている場合に役立ちます)
{
"Version": "2008-10-17",
"Id": "",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my_bucket_name/*"
}
]
}
許可されていないホットリンク (サード パーティのサイトからのリンク) を防止し、誰でもファイルをダウンロードできるようにするポリシーの例:
{
"Version":"2008-10-17",
"Id":"preventHotLinking",
"Statement":[ {
"Sid":"1",
"Effect":"Allow",
"Principal": {
"AWS":"*"
},
"Action":"s3:GetObject",
"Resource":"arn:aws:s3:::your.bucket.name/*",
"Condition":{
"StringLike": {
"aws:Referer": [
"http://yourwebsitename.com/*",
"http://www.yourwebsitename.com/*"
]
}
}
}]
}
ポリシーを生成する
http://awspolicygen.s3.amazonaws.com/policygen.html
サンプル バケット ポリシー
http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?AccessPolicyLanguage_UseCases_s3_a.html