2017-07-19 5 views
2

S3のコンテンツにアクセスするために、当社のウェブサイトは現在ボットによって掻き取られています。バケツポリシー設定を取得しようとしていますので、私たちのドメインを除く他のリファラーがS3 URLにアクセスすることはできません。問題は、ドメインが参照元であることを検出していないように見えることです。ここでは、以下に設定したバケットポリシーを示します。特定の参照者にアクセスを許可するバケットポリシーを設定する方法

{ 
    "Version": "2008-10-17", 
    "Statement": [ 
     { 
      "Sid": "AllowPublicRead", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::example/*", 
      "Condition": { 
       "StringNotLike": { 
        "aws:Referer": [ 
         "https://www.example.com/*", 
         "http://www.example.com/*", 
         "https://*.example.com/*", 
         "https://*.example.com/*" 
        ] 
       } 
      } 
     } 
    ] 
} 

誰でも、www.example.com/blah/blah.htmlなどをリフェラーとして認識しないのは誰か知っていますか?

GoogleのアプリケーションからURLにアクセスすると、参照元として登録されているAWSを確認する方法はありますか?それはトラブルシューティングに役立ちます。

答えて

2

Bucket Policy Examples - Restricting Access to a Specific HTTP Referrerから:

{ 
    "Version":"2012-10-17", 
    "Id":"http referer policy example", 
    "Statement":[ 
    { 
     "Sid":"Allow get requests originating from www.example.com and example.com.", 
     "Effect":"Allow", 
     "Principal":"*", 
     "Action":"s3:GetObject", 
     "Resource":"arn:aws:s3:::examplebucket/*", 
     "Condition":{ 
     "StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]} 
     } 
    } 
    ] 
} 

Referer文字列がリストに示されたもののようなものである場合には、このポリシーがアクセスを許可されます。

あなたの費用はStringNotLikeを使用しています。したがって、Refererがではなく、あなたがリストしたものがである場合にのみアクセスが許可されています。

+0

ありがとうジョン。私はそれが動作していないので、あなたの更新でも実験している間に私が行った変更だと思います。バケットが参照元として見ているものを、おそらくログを通して検出する方法はありますか? – natab

+0

私はその情報を見る方法を知らない。ただし、使用できる[Policy Simulator](https://policysim.aws.amazon.com/home/index.jsp?#)があります。 –

関連する問題