403 桶策略 IP 地址条件时

问题描述 投票:0回答:1

我想做的是只允许单个 IP 地址访问文件。

下面的存储桶策略仅在条件被删除时才有效,否则会出现

403
错误。 IP 地址是我托管网站的共享托管服务器的 IP 地址。这可能是 IP 地址无法被识别的原因吗?如果不是,可能是什么问题?

编辑: 共享主机支持告诉我,IP 地址是

68.6N.NN1.1N2
,而不是
68.6N.NN1.1N3
,因为它是共享主机。我还被告知 IP 地址是静态的。然而,问题仍然存在。 如果卷曲请求是通过 SSH 从共享托管服务器发送的,那么它会以
200
...

进行响应

(我对云平台零经验。任何帮助将不胜感激。)

{
    "Version": "2012-10-17",
    "Id": "Policy17NN310NN0610",
    "Statement": [
        {
            "Sid": "Stmt171NN106NN335",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::testbucket/file.jpg",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "68.6N.NN1.1N3"
                }
            }
        }
    ]
}
amazon-web-services amazon-s3
1个回答
0
投票

“首选”方法是:

  • 保留 Amazon S3 存储桶私有,没有存储桶策略
  • 为托管服务器上运行的应用程序创建IAM 用户
  • 向 IAM 用户授予
  • 权限,以授予其访问适当存储桶和前缀的权限
  • 应用程序
  • 使用AWS SDK访问文件,或者构建一个Amazon S3预签名URL,它提供对Amazon S3中私有对象的限时访问
这样,访问就得到了

身份验证,而不是依赖于来自特定 IP 地址的请求,特别是因为该 IP 地址可能与不受您控制的系统共享。

© www.soinside.com 2019 - 2024. All rights reserved.