ブラウザのJavaScriptから直接S3にアップロードする方法。 サーバサイドに実サーバがあれば、サーバにアップ=>サーバからS3にアップするのが何も考えなくていいので楽だと思うのですが、AWS API Gateway / lambda等を使うシステムだと、そういう中継ができないので、大きなファイルなどをアップロードする場合はブラウザから直接S3にアップロードする形が必須になります。 そんな時に必要な手順を調べました。 軽く調べてみると、 JavaScript内にAWSのAccessKey/SecretKeyを埋め込んで、aws-sdk経由でアップロード サーバサイドでS3の編集権限のあるユーザでS3の署名付きURLを取得し、ブラウザサイドに送る サーバサイドでS3の編集権限のある時限ロールをSecurity Token Service(以下STS)で取得、それによりS3の署名付きURL