私は S3 を試してみましたが、バケット ポリシーを通じてバケットのコンテンツに ACL を設定できるこのクールな機能があります。したがって、たとえば、ファイルの実際の ACL が非公開に設定された一連のファイルを持つことができますが、上書きポリシーを通じて特定のユーザー / IP アドレス / リファラーがファイルを利用できるようになります。
私の場合、バケットにプライベート コンテンツがたくさんありますが、特定のディレクトリ内のファイルを自分のサイト (画像など) で利用できるようにしたいと考えています。だから私はこのようなものを持っています:
{
"Version": "2008-10-17",
"Id": "",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::content-racket-fm/uploaded/images/*"
}
]
}
これで、質問に答えることができる背景がいくつかわかりました。私は最近ここで知りました:
https://forums.aws.amazon.com/thread.jspa?threadID=78294
そのバケット ポリシーは、バケット所有者が所有するファイルに対してのみ機能します。たとえば、encoding.com や panda stream などの外部サービスを介してファイルがバケットに格納され、S3 バケットに独自のユーザーが存在する場合、バケット ポリシーが適用されないため、問題が発生します。これらのファイル (私の意見では、これは Amazon による見落としのように思えますが、私が思いもよらなかった正当な理由があると確信しています)
私はレールを使用しています。オブジェクトの所有者をバケットに設定する方法はありますか。
編集
もっと良い質問があると思います...
所有者に関係なくすべてのファイルにバケット ポリシーを適用するように、Amazon バケットをセットアップする方法はありますか。