私は、署名済みのURLを使用してファイルをs3にアップロードするUIを持っています(サーバから事前に署名されたURLを取得します)。これは非常にうまく動作しますが、もう1層の暗号化レイヤーを追加する必要があります(誤ったポリシーによってバケツが公開された場合)。JavaScriptで大きなファイルを暗号化しS3で効率的に保存する
私は非対称キーを使用してJavaScriptレイヤーで暗号化する方法があることを理解していますが、メモリ内のファイルを完全に読み取って暗号化して送信したようです。したがって、1GBをアップロードすると、ブラウザ/タブがクラッシュします。
これは効率的な方法ですか?私は今、$http
角度サービスを使ってファイルをアップロードしています。それは1GBのファイルを単独で扱うことができます。内部的にファイルを塊に分割して&を送信しているようです。
私はチャンクの動作を自分でエミュレートする方法がわかりませんでした。私は部分&を読むためにFile.slice()
を使うことができます。ただし、事前に署名されたURLは、それを単一のエンティティとしてアップロードします。次の部分は最初の部分だけを置き換えます。事前に署名されたURLと複数の部分のアップロードを組み合わせる方法が不明です。
$http
サービスが送信したチャンクを傍受して、本体を暗号化してからもう一度手をつないでもいいのかと疑問に思っていましたか?
オプションがない場合は、単純にファイルをサーバー側にアップロードして、&をS3にプッシュする必要があります。
マルチパート更新を使用しましたか? http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#createMultipartUpload-property –
私は簡単に調査しました。しかし、SDKを使用するには資格が必要です。一時的な資格情報を渡すことができますが、それは1つの(動的な)鍵だけにアップロードを制限する署名されたURLほど安全ではありません。私はAWSIngonitoが多くの場所で言及されているのを見てきましたが、チェックしませんでした。それを使用する最良の方法は何ですか? @D。Dimitrioglo – Vineet