将访问 AWS S3 静态网络托管的 IP 地址列入白名单

将访问 AWS S3 静态网络托管的 IP 地址列入白名单

我见过一些参考资料使用与以下结构类似的存储桶策略

{
    "Version": "2012-10-17",
    "Id": "Policy1607646663558",
    "Statement": [
        {
            "Sid": "Stmt1607646606566",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::mybucket/*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": [
                        "73.63.x.y",
                        "73.63.w.x"
                    ]
                }
            }
        }
    ]
}

此外,作为调试的一部分,我将其公开。这不是可取的做法,最好将其收紧。

在此处输入图片描述

但即使打开了它也无法工作(我从 73.63.xy ip 地址访问)

在此处输入图片描述

两个问题:

  • 为什么白名单 IP 的权限被拒绝?
  • 是否可以启用“阻止所有公共访问”并仍然通过白名单 IP 进行访问?

答案1

如果您允许主机(如这个 73.63.xy/32)或 IP 块的相应网络掩码,则需要将 /32 添加到您的 IP 地址。

对您的问题的回答:

  • NotIpAddress由于您的条件是,因此许可(效果)被拒绝。
  • 是的,因为 AWS 会评估所有策略。用户策略和基于资源的策略(存储桶策略、存储桶 ACL、对象 ACL)来决定允许或拒绝。

相关内容