2

AS3にファイルが入ったバケットがあります。コマンドで Amazon にリクエストを送信できるPHP APIとサーバーにアクセスできます。

私がやりたいことは、HTTP GET/POSTリクエストを使用してバケット内のファイルへのアクセスを許可することです。この関数を使用して私が理解したことから:

get_object_url ( $bucket, $filename, $preauth, $opt )

$preauth特定の URL で一定期間、ファイルを一般公開することができます。私はそれをしたくありません。必要なPOSTまたはGET資格情報を含む URL でファイルをプライベートに利用できるようにしたいです (ファイルにアクセスできるユーザーは、アプリケーションの「ユーザー」とそのアクセス許可を含むデータベースに基づいて決定されます)。非 HTTPS接続でGETまたはPOSTを介してあらゆる種類の資格情報を渡すことのセキュリティへの影響を理解しています。

これは可能ですか?トランザクションの範囲でAS3からサーバーにファイルをダウンロードし、自分のボックスですべての制御を行うこともできますが、それは高価なソリューションです (サーバーが実行する必要がなかったファイルを 1 回ではなく 2 回ダウンロードする必要があります)。一見簡単な問題に。

4

1 に答える 1

1

簡単な答えはノーです。

特にCloudfrontと組み合わせてコンテンツを保護するためのいくつかの方法については、 Amazons IAMを参照できますが、基本的に、ユーザー名とパスワードを渡してコンテンツへのアクセスを提供する方法はありません。

もちろん、サイトですでにユーザーを認証している場合は、署名されたURLのみをそれらのユーザーに提供できます。URLは、ユーザーがダウンロードを開始したときにのみ有効である必要があり、ダウンロードの全期間中は有効ではありません。

また、サーバーをS3とユーザーの間のプロキシとして使用する場合は、そもそもS3を使用することの多くの利点が失われます。ただし、EC2をサーバーとして使用して、前述の余分なコストを取り除くことができます。S3とEC2間の転送は無料です。

于 2012-05-03T13:33:32.467 に答える