2016-10-03 14 views
1

S3を利用してクライアントからソフトウェアパッケージをダウンロードさせようとしています。私が想像しているのは、許可付きのシンプルなWebアプリケーションを作成することです。たとえば、ユーザーが認証されると、ソフトウェアをダウンロードするために使用されるS3 URLが表示されます。私は顧客に基づいてユーザーアカウントを作成します。特定のアプリケーションによるS3バケットポリシー

私の懸念は、ユーザーがS3 URLリンクをコピーし、それをソフトウェアのダウンロードを認証されていない人に与えるとどうなるでしょうか?

これを防ぐS3ポリシーを作成して、私のユースケースで使用できますか?私は特定のIPだけを許可することを検討しましたが、私は顧客のIPを見つける方法がなく、毎回それを尋ねてそれを毎回ポリシーに追加することは望ましくありません。

特定のIPを許可する方法の1つは、(download.mysoftware.com)にリンクされているIPからのダウンロードのみを許可していますが、S3からのダウンロードではなく、Webアプリケーションからのダウンロードが実際に行われます。二重の努力のように思える。

答えて

2

ユーザーがアプリケーションのダウンロードをリクエストした場合、有効期限が短くてpre-signed URLを生成します。 ファイルをダウンロードするまで有効である必要があるだけなので、有効期間は数分でも十分です。

ユーザーがこれらのURLのいずれかを共有することは技術的に可能ですが、他の人にURLを伝えて、すぐにダウンロードさせる必要があります。おそらくURLを共有しようとしないようにするには十分でしょう。 (完璧な防御はより難しく、とにかくおそらく不要です;ユーザーがダウンロードしたファイルを他の人に個人的に転送することを防ぐ方法はありません)

関連する問題