特定のドメインからのCloudfrontファイルのホットリンクをブロックしようとしています。オンラインの例とAmazon独自のポリシージェネレーターを組み合わせて、私はこれを思いついた:
{
"Version": "2008-10-17",
"Id": "http referer policy",
"Statement": [{
"Sid": "Block image requests",
"Action": "s3:GetObject",
"Effect": "Deny",
"Resource": "arn:aws:s3:::mybucket/subdir/*",
"Condition": {
"StringLike": {
"aws:Referer": [
"http://example.com/*"
]
}
},
"Principal": {
"AWS": "*"
}
}]
}
のサブディレクトリにあるファイルの無効化リクエストを送信しmybucket
、数分後、まだ送信されているリファラーヘッダーを使用して画像を再読み込みしようとしました(Chromeの開発ツールを使用して確認済み)。Ctrl + F5でハードリロードを実行し、応答ヘッダーに「X-Cache:Miss from cloudfront」が含まれていたため、間違いなく最新バージョンのイメージを取得しています。
ただし、画像は引き続き正常に表示され、ブロックされません。ポリシージェネレーターには「aws:Referer」キーのオプションがありませんでしたが、Amazonのドキュメントにあります。ここで何か間違ったことをしましたか?