イメージのホスティングに Amazon S3 を使用するサンプル アプリケーションを起動しました。私はなんとかそれを機能させることができました。アプリケーションはgithub.comでホストされています。このアプリケーションでは、プロフィール写真付きのユーザーを作成できます。写真をアップロードすると、ウェブ アプリケーションはその写真をローカル ファイル システムではなく Amazon S3 に保存します。( heroku.comでホストする場合は非常に重要です)
しかし、ページのブラウザで「ソースを表示」すると、画像の URL が、アプリに割り当てた S3 バケット内の Amazon S3 URL であることに気付きました。URL をカット アンド ペーストしたところ、同じブラウザで画像を表示できました。別のブラウザでは、Web アプリまたは Amazon S3 へのセッションを開いていませんでした。
アプリケーションにログインしているブラウザのみがアクセスできるように、その URL (および画像) へのアクセスを制限する方法はありますか?
Amazon ACL について私が見つけた情報のほとんどは、所有者のみ、Amazon や AmazonS3 で認証されたユーザーのグループ、または匿名の全員へのアクセスに関するものにすぎません。
編集----2010年7月7日更新
Amazon は、S3 オブジェクトとバケットへのアクセスを制限する方法をさらに発表しました。とりわけ、HTTP リファラーを修飾することで、S3 オブジェクトへのアクセスを制限できるようになりました。これは面白そうです...彼らが開発者向けドキュメントを更新するのが待ちきれません。