0

流星アプリからS3にアップロードしようとしています。私はthis packageを使用していますが、まだSSEの指定をサポートしていないので修正しました(私はこのためにissueを作成しました)。コードの私のフォークのバージョンでS3にアップロードすると、サーバー側暗号化(SSE)を指定するときに403が禁止されます

、私はthis fileの底部近くuploadFile機能にこれらの行を追加しました:

if ops.server_side_encryption 
    form_data.append "x-amz-server-side-encryption", "AES256" 

とtrueにops.server_side_encryptionを設定する方法。

これはすべて非常に簡単で、投稿されたform_dataにx-amz-server-side-encryption": "AES256"を追加できました。問題は、このパラメータを追加するとs3の403 Forbidden応答が発生することです。

AWS docs don't sayバケットはに特別なものである必要があり、この新しいパラメータであるため、SSEを許可する必要があります。彼らはを適用してを要求しています。クライアントの要求で暗号化が指定されていますが、このポリシーを無用に追加しようとしました(このパラメータを許可する特別なポリシーが必要だとは言わないため、 。

クライアントのアップロード要求でそのSSEパラメータを使用できるようにするために必要な設定に関する情報がありませんか?

+0

S3バケットにAES256暗号化を使用できないようにするカスタムポリシーがある可能性はありますか? –

+0

ポリシーは空白なので、いいえ、SSEを指定していない要求を正常に許可しなかったが、SSEを指定する要求を正常に許可できなかったポリシーを使用しました。 – tscizzle

+0

上記のコードをコメントアウトすると、(暗号化されていないファイル以外の)問題なくアップロードできますか? –

答えて

0

(私はマーク・Bさんのコメントに感謝を発見した)答えはこれです:私はS3にファイルをアップロードのフォームのPOSTメソッドを使用していた

。私はポストのポリシー文書に一定の制限が含まれることを忘れていました。暗号化を許可するために送信されるポリシー文書(私の条件の1つとして{"x-amz-server-side-encryption": "AES256"})。

関連する問題