Amazon S3 バケットがあり、ログイン資格情報をデプロイする必要なく、特定のマシン上のスクリプトで利用できるようにしたいと考えています。したがって、私の計画は、そのマシンの IP からのみ匿名アクセスを許可することでした。私は Amazon クラウドにまったく慣れていないので、バケット ポリシーは最適な方法のようです。次のポリシーをバケットに追加しました。
{
"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 管理コンソールで「Everyone」へのアクセスを許可しました。それはうまくいきますが、明らかに私がやりたいことではありません。;-)私が間違っていることと、これを機能させる方法のヒントはありますか?
私のユースケースは、EC2 と S3 を使用したデータ処理であるため、IP によるアクセス制御は、ユーザー アカウントをいじるよりもはるかに簡単です。もっと簡単な解決策があれば、提案をお待ちしています。