如何通过AWS S3 Bucket Policy允许111.222段IPv4地址访问?
解决S3桶仅允许111.222开头IP访问的配置问题
可行,但你用的通配符写法不符合AWS规则,S3桶策略的aws:SourceIp条件不支持*或省略位的格式,必须用CIDR网段表示法批量指定IP范围。
问题分析
你之前尝试的111.222.*.*、111.222..这类写法不被AWS识别,只有单个完整IP(如111.222.1.2)或标准CIDR网段才会生效。
正确配置方法
所有以111.222开头的IPv4地址对应的CIDR网段是111.222.0.0/16(前16位固定,覆盖所有111.222.x.x的地址),替换到策略里即可:
{ "Version": "2012-10-17", "Id": "AllowAccess", "Statement": [ { "Sid": "AddAccess", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::mybucket/*", "Condition": { "IpAddress": { "aws:SourceIp": "111.222.0.0/16" } } } ] }
补充说明
- 确认存储桶的**阻止公共访问(Block Public Access)**设置没有完全禁止所有公开访问(你单个IP配置有效,应该已满足这个前提)。
- 如果需要多个非连续网段,可在
aws:SourceIp数组中添加多个CIDR值,比如["111.222.0.0/16", "192.168.0.0/24"]。
内容的提问来源于stack exchange,提问作者Ariane6
相关产品推荐
相关产品推荐

