我在 AWS bucket.test.com 中安装了 s3 bucket,我想从公司公共 IP 获得读写访问权限。我的公司有 3 个公共 IP,我需要将 s3 bucket 限制在这些 IP 地址上,并且它不应从公司外部网络访问。找到我使用的配置,但它不起作用。
{ "版本":"2008-10-17", “ID”:“测试策略”, “陈述”: [ { “席德”:“1”, "效果": "允许", “主要的”: { “AWS”:“*” }, “操作”:“s3:GetObject”, “资源”:“arn:aws:s3:::bucket01.test.com/*”, “健康)状况”: { “IP地址”: { “aws:SourceIp”:“publicip1/32” }, “NotIpAddress”:{ “aws:SourceIp”:“0.0.0.0” } } }, { “席德”:“2”, "效果": "允许", “主要的”: { “AWS”:“*” }, “操作”:“s3:*”, “资源”:“arn:aws:s3:::bucket01.test.com/*”, “健康)状况”: { “IP地址”: { “aws:SourceIp”:“publicip2/32” }, “NotIpAddress”:{ “aws:SourceIp”:“0.0.0.0/0” } } }, { “席德”:“3”, "效果": "允许", “主要的”: { “AWS”:“*” }, “操作”:“s3:*”, “资源”:“arn:aws:s3:::bucket01.test.com/*”, “健康)状况”: { “IP地址”: { “aws:SourceIp”:“publicip3/32” }, “NotIpAddress”:{ “aws:SourceIp”:“0.0.0.0/0” } } } ] }
答案1
这在AWS 文档。
我对其进行了轻微修改,以显示如何列出多个 IP 地址。请注意,如果您列出“允许”地址,则默认情况下会拒绝其他 IP,并且您不必列出它们或 0.0.0.0/0。
{
"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", "4.3.2.1/32"]}
}
}]
}