2017-10-18 7 views
0

私のドメイン用にAWS s3バケットを作成しました。私のドメインはCloudFlareを使用しています。だから私はCloudFlareのDNSパネルに自分のバケットのアドレスをcnameとして追加します。できます。しかし、私はユーザーが自分のバケツにURLで直接アクセスすることを望んでいません。私のドメイン(CloudFlareプロキシを使って)からしかアクセスできないはずです。デフォルトでアクセスを拒否し、CloudFlareのIP範囲をホワイトリストにすべきです。私はそれらのIP範囲を持っています。すべてのIPアドレスへのアクセスをデフォルトで制限し、特定のIP範囲のみを許可するにはどうすればよいですか?aws s3をクラウドフレアの背後に使用

+0

:あなたは正しい...あなたは、単にコンテンツが唯一のCloudFlare上で設定されたドメイン名を使用してアクセスできるようにしたい、あなたのコンテンツを「確保」しようとしていませんか? –

答えて

0

S3バケットポリシーでこれを行う必要があります。バケットの「権限」タブの下にあります。私は以下のバケットポリシーを含んでいます。

このバケットポリシーは、Cloudflareの最新のIPアドレス(IPv6を含む)に対して更新され、Cloudflare IPアドレスからのすべてのアクセスをそのまま受け入れません。明確にするために

{ 
"Id": "Policy1517260196123", 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Sid": "A string ID here", 
     "Action": "s3:*", 
     "Effect": "Deny", 
     "Resource": "arn:aws:s3:::yourbucket.example.com/*", 
     "Condition": { 
      "NotIpAddress": { 
       "aws:SourceIp": [ 
        "103.21.244.0/22", 
        "103.22.200.0/22", 
        "103.31.4.0/22", 
        "104.16.0.0/12", 
        "108.162.192.0/18", 
        "131.0.72.0/22", 
        "141.101.64.0/18", 
        "162.158.0.0/15", 
        "172.64.0.0/13", 
        "173.245.48.0/20", 
        "188.114.96.0/20", 
        "190.93.240.0/20", 
        "197.234.240.0/22", 
        "198.41.128.0/17", 
        "2400:cb00::/32", 
        "2405:8100::/32", 
        "2405:b500::/32", 
        "2606:4700::/32", 
        "2803:f800::/32", 
        "2c0f:f248::/32", 
        "2a06:98c0::/29" 
       ] 
      } 
     }, 
     "Principal": { 
      "AWS": "*" 
     } 
    } 
] 

}

関連する問題