我有一个 Amazon S3 存储桶,并希望它可用于特定机器上的脚本,而无需部署登录凭证。所以我的计划是只允许从那台机器的 IP 匿名访问。我对亚马逊云很陌生,存储桶策略看起来像是要走的路。我将以下策略添加到我的存储桶中:
{
"Version": "2008-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "IPAllow",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::name_of_my_bucket/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"my_ip_1/24",
"my_ip_2/24"
]
}
}
}
]
}
但是匿名访问仍然不起作用。为了进行测试,我在 S3 管理控制台中授予了对“所有人”的访问权限。这很好用,但显然不是我想要做的。;-) 任何提示我做错了什么以及如何让它工作?
我的用例是使用 EC2 和 S3 进行一些数据处理,因此通过 IP 进行访问控制比摆弄用户帐户要简单得多。如果有更简单的解决方案,我愿意接受建议。