2017-10-18 93 views
0

AWS S3我创建了一个AWS S3存储我的域。我的域名使用CloudFlare。所以,我想补充我的桶的地址作为CloudFlare的DNS面板上的CNAME。有用。但我不希望用户我斗,其网址直接访问,应该我想我应该拒绝默认和白名单CloudFlare的IP范围访问是仅通过我的网域(CloudFlare的代理)进行访问。我得到了这些IP范围。我如何限制对所有IP地址的访问,并且只允许特定的IP范围?使用落后的CloudFlare

+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": "*" 
     } 
    } 
] 

}