O CloudFront suporta a versão 4 da assinatura S3 para objetos criptografados do KMS?

2

Estou usando o Cloudfront com uma origem do S3 que está usando o KMS para criptografar objetos. Estou recebendo o seguinte erro ao enviar uma solicitação GET para um objeto no bucket S3.

Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4.

Assumi que a Cloudfront seria inteligente o suficiente para usar o AWS Signature Versão 4 ao solicitar o objeto, mas talvez não?

Parece que este tem sido um problema com as novas regiões do S3 . A Amazon recentemente adicionou suporte para essas novas regiões, mas eu não acho que eles tenham resolvido o problema com objetos criptografados pelo KMS.

Alguém tem experiência com isso e sabe se existe uma maneira de identificar o acesso de origem do Cloudfront para usar a assinatura v4?

    
por DJ Tarazona 13.05.2016 / 19:46

1 resposta

0

Você precisa configurar sua Versão de assinatura da AWS , eg

aws configure set default.s3.signature_version s3v4

ou para o perfil específico:

aws configure set profile.<profilename>.s3.signature_version s3v4

Em seguida, tente novamente, por exemplo,

aws s3 cp s3://rkbtest/check.png ./

Fonte: aws / aws-cli / issues / 1006 no GitHub .

Se você usar o comando curl / wget , será necessário adicionar um cabeçalho Authorization extra à sua solicitação, por exemplo,

GET /photos/puppy.jpg HTTP/1.1
Host: johnsmith.s3.amazonaws.com
Date: Tue, 27 Mar 2007 19:36:42 +0000

Authorization: AWS AKIAIOSFODNN7EXAMPLE:
bWq2s1WEIj+Ydj0vQ697zp+IXMU=

Sintaxe: Authorization: AWS AWSAccessKeyId:Signature .

Veja: Assinando e autenticando solicitações REST .

    
por 29.09.2017 / 14:56