2017-04-17 15 views
2

私たちは、アプリケーションのユーザーがAmazon S3にアップロードしたファイルを保存しています。Amazon S3プライバシーとセキュリティ

安全な&プライベートこれらのファイルを保つために、我々は以下のとおりです(ファイルのURLを推測することは困難であるように)クライアントを持つ

  1. は、ファイル名のUUIDを生成します。参照:What is the probability of guessing (matching) a Guid?

  2. protect the data by using client-side encryptionに行く。

これら2つの指標は十分なセキュリティを提供していますか、またはAmazon Cognitoを使用してオブジェクトを取得したユーザーがアクセス権を持つユーザーの1人であることを確認する必要がありますか?

+0

がどのように彼らは、ファイルにアクセスしていますか?たとえば、彼らはファイルをダウンロードするためにS3に直接API呼び出しをしていますか? – PrestonM

+1

ユーザーはクライアントのユーザーインターフェイスを介してファイルにアクセスし、クライアントはS3に対してAPI呼び出しを行います。 – ma11hew28

+0

どのように許可を与えるのですか?どのクライアントもバケット内の任意のフォルダにアクセスできますか?バケツは「Everyone」に開放されていますか? – PrestonM

答えて

1

わかりにくいファイル名を使用するのは、セキュリティ上の安全性の高い方法ではありません。

ユーザがAmazon S3との間で安全にデータをアップロード/ダウンロードできるようにするには、Pre-Signed URLsを使用してください。

プロセスは、次のとおりです。

  • ユーザーが
  • ユーザーがアプリケーションを事前に署名生成
  • ファイルをダウンロード/アプリケーションと相互作用し、彼らがアップロードする指示にWeb /モバイルアプリケーションへの認証しますバケツ、パス、ファイルサイズなどの制限付き、Amazon S3へのアクセス権を含むURL
  • ユーザは、事前に署名されたURLを使用してファイルをアップロード/ダウンロードします。

この方法では、アプリケーションがセキュリティを制御し、不慮の問題を回避するための可能性がない、上書き、アクセスなど

参照:Uploading Objects Using Pre-Signed URLs