2009-04-19 9 views
10

S3を理解しようとしています...あなたはS3にアップロードするファイルへのアクセスをどのように制限しますか?たとえば、Webアプリケーションでは、各ユーザーにアップロードできるファイルがありますが、そのユーザーだけがそのファイルにアクセスできるようにアクセスを制限する方法はありますか?クエリ文字列認証に有効期限が必要で、それが私にとってはうまくいかないようですが、これを行う別の方法はありますか?Amazon S3の権限

答えて

1

あなたはS3オブジェクトへのアクセスを制御するための様々な方法がありますが、あなたのアプリケーションでS3に

14

を全体のアクセスロジックを構築する必要があります。

  1. は、クエリ文字列認証を使用する - しかし、あなたのようにこれには有効期限が必要であることに注意してください。あなたは私がやったほとんどのことに十分になっています。

  2. S3 ACLSを使用する必要がありますが、ユーザーにはAWSアカウントがあり、S3オブジェクトにアクセスするためにAWSで認証する必要があります。これはおそらくあなたが探しているものではありません。

  3. S3オブジェクトへのアクセスは、アクセス制御ロジックを実装するアプリケーションを通じてプロキシします。これにより、すべての帯域幅がボックスに反映されます。

  4. プロキシロジックを使用してEC2インスタンスをセットアップできます。これにより、帯域幅がS3に近づき、特定の状況では待ち時間が短縮されます。これと#3の違いは最小限に抑えることができますが、特定の状況によって異なります。

8
  1. ユーザーが
  2. は、サーバーが短い期限とクエリ文字列認証を設定しているサーバーを直撃している(分、時間?)
  3. サーバーは#2
  4. にリダイレクト持っています
0

私もこれに対処してきました。私が使用しているS3 PHPクラスを書いたDonは、バケツの中でdirを使うことができると指摘しました。だからあなたはランダムな文字列でdirにあなたのファイルを置いて、それにリダイレクトすることができます。 mybucket.amazon.net/wef49kfe4j409jf4f4f9jdfd/myfile.zip安全ではありませんが、アクセス権を変更したり、必要に応じて作成および削除(別のバケツに安全に保管してください)することで、アクセスを制御することができます。