2017-10-08 6 views
0

私はS3を使用して、ユーザーがアップロードした画像を保存したいと考えています。プロフィール写真や他のサムネイルのような画像は、誰にでも見えるようにする必要があります。しかし、私はまた、画像が "投稿"されたグループのユーザーに見えるようにいくつかの画像を持たせたい。公開S3バケットから画像を取得するのは難しいですか?

私のアプリは、特定のユーザーが画像にアクセスできるかどうかを決定するロジックをすべて処理します。

私の質問は:パブリックS3バケットと画像の可視性を制御する私のアプリでは、誰かが一般にアクセスできない画像を見るのがどれほど難しいのでしょうか?

これらの要件を満たすためにS3バケットを設定するより良い方法はありますか?

ありがとうございました。

答えて

2

最善のアプローチは、次のとおりです。

  • 画像の任意のへのパブリックアクセス権を付与しないでください/アマゾンS3内のオブジェクト
  • すべての回であなたのアプリケーションは、彼らがアクセス
  • に許可するかどうかを決定し
  • イメージへのアクセスを許可されているユーザーの場合は、Amazon S3事前署名済みURLを作成します。これは、オブジェクトへのアクセスを許可する期間限定のURLです。

アプリケーションは、AWSを呼び出すことなく、2行のコードで事前署名されたURLを生成することができます。

このようにして、一部のオブジェクトを選択的に公開する必要はなく、アプリケーションによってすべてのセキュリティが維持され、オブジェクトに不正アクセスする方法はありません。

関連する問題