繁体   English   中英

Amazon S3文件基于IP地址访问策略

[英]Amazon S3 files access policy based on IP Address

有没有办法根据客户端IP地址限制存储在Amazon S3中的文件的访问权限?

我有一个存储在那里的文件,只能通过特定的IP地址访问。 这该怎么做?

是的,虽然我自己没有用过。

S3支持使用“访问策略语言”对存储桶和对象进行粒度控制。 可以使用特定的白名单和黑名单IP语句。 但是,您必须编写APL语句并上传它们。

http://docs.amazonwebservices.com/AmazonS3/latest/dev/AccessPolicyLanguage.html

以下是两个条件部分示例:

白名单

"Condition" :  {
       "IpAddress" : {
          "aws:SourceIp" : ["192.168.176.0/24","192.168.143.0/24"]
      }
}

黑名单

"Condition" :  {
       "NotIpAddress" : {
          "aws:SourceIp" : ["192.168.176.0/24","192.168.143.0/24"]
      }
}

亚马逊在限制访问特定IP地址的 “存储桶策略示例”下的S3文档中对此进行了描述:

此语句中的条件标识允许的IP地址范围为54.240.143。*,但有一个例外:54.240.143.188。

{
  "Version": "2012-10-17",
  "Id": "S3PolicyId1",
  "Statement": [
    {
      "Sid": "IPAllow",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": "arn:aws:s3:::examplebucket/*",
      "Condition": {
         "IpAddress": {"aws:SourceIp": ["54.240.143.0/24", "1.2.3.4/32" ]},
         "NotIpAddress": {"aws:SourceIp": "54.240.143.188/32"} 
      } 
    } 
  ]
}

您可以在AWS S3控制台中添加类似的内容。 选择您的存储桶,单击Properties选项卡,然后单击Permissions。 单击“添加存储桶策略”并将其粘贴到弹出对话框的表单中。

我修改了Amazon的示例,以显示如何通过提供JSON数组而不是字符串来在策略中包含多个IP范围。 “1.2.3.4/32”的“aws:SourceIp”条目表示单个IP地址1.2.3.4也被授予访问权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM