0

ブラウザから直接 S3 へのマルチパート アップロードを実行しています。つまり、バックエンドをバイパスしています。

私の JS コードはハンドシェイク要求を S3 に送信し (POST)、ファイルを 5MB のチャンクでアップロードし (それぞれに PUT)、最終的にファイルをファイナライズします (POST)。

それはうまくいきます。ご想像のとおり、S3 への各リクエスト (ハンドシェイク、パーツのアップロード、ファイナライズ) には署名が必要です。もちろん、JS で署名を生成することは問題外です。AWS 秘密鍵が公開されるからです。

/sign?method=HTTPMethod&path=URLToSignこれまでに行ったことは次のとおりです。S3 への各リクエストの前に、署名文字列を返す自分のバックエンド (へ) にリクエストを送信します。このようにして、すべての AWS 資格情報はバックエンドにとどまります。

私の質問は次のとおりです。これは安全ですか?

4

1 に答える 1