首页 > 解决方案 > 允许下载到特定 IP 地址的 S3 访问策略

问题描述

我正在尝试实施批处理病毒扫描程序。我设置了一个 cron 作业来定期扫描存储在 S3 上的未扫描文件。每当我尝试 wget 文件时,我都会得到一个403.

我已经设置了这个策略:

{
    "Version": "2012-10-17",
    "Id": "S3PolicyIPRestrict",
    "Statement": [
        {
            "Sid": "IPAllow",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::bucket/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "ip of my address/32"
                }
            }
        }
    ]
}

知道我做错了什么吗?

标签: amazon-web-servicesamazon-s3acl

解决方案


如果您想允许特定的 IP 地址访问 s3 存储桶上的文件,请使用以下存储桶策略。

{
    "Version": "2012-10-17",
    "Id": "S3PolicyId1",
    "Statement": [
        {
            "Sid": "IPAllow",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::<bucket>",
                "arn:aws:s3:::<bucket>/*"
            ],
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "<IP>/32"
                }
            }
        }
    ]
}


推荐阅读