このバケット ポリシーを使用して、Amazon S3 でのメディア ファイルのホットリンクを防止してみました。
{
"Version": "2008-10-17",
"Id": "my-id",
"Statement": [
{
"Sid": "Allow get requests to specific referrers",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucketname/*",
"Condition": {
"StringLike": {
"aws:Referer": "http://sitename.com/"
}
}
},
{
"Sid": "Allow CloudFront get requests",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::amazonaccountid:root"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucketname/*"
}
]
}
ACL はプライベートに設定されています。アクセスしようとしているファイルを受け入れることができません。
ここで見つけたさまざまなポリシーを試しましたが、どれも効果がないようです。ホットリンクを防止しようとしているファイルは .swf ファイルです。
クラウドフロントなしで正確な (bucketname.s3.amazonaws.com) リンクを使用すると、機能します。