Ir para o conteúdo

Como soluciono o erro "Requests require AWS Signature Version 4" ao tentar acessar objetos do Amazon S3 criptografados com chaves gerenciadas do AWS KMS?

3 minuto de leitura
0

Tentei acessar objetos do Amazon Simple Storage Service (Amazon S3) que são criptografados com o AWS Key Management Service (AWS KMS). Recebi o seguinte erro: "Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4".

Resolução

Os seguintes motivos podem causar a mensagem de erro "Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4":

  • Suas solicitações não estão assinadas com o AWS Signature Version 4.
  • Você fez uma solicitação anônima.

Suas solicitações não estão assinadas com o AWS Signature Version 4

Ao usar o Signature Version 2 com um objeto criptografado pelo AWS KMS, é possível receber uma mensagem de erro. Alguns endpoints da API REST e regiões AWS do S3 ainda oferecem suporte a solicitações assinadas usando o Signature Version 2. No entanto, é uma prática recomendada usar o Signature Version 4 para fazer login. Para obter mais informações, consulte AWS Signature Version 2 turned off (deprecated) for Amazon S3 (AWS Signature Version 2 desativada (obsoleta) para o Amazon S3).

É possível fazer solicitações assinadas com o Signature Version 2 para buckets em regiões que oferecem suporte ao Signature Version 2. No entanto, o AWS KMS exige que suas solicitações sejam assinadas com o Signature Version 4.

Para identificar a versão da assinatura que você usou para solicitações de objetos em seu bucket, execute as seguintes ações:

Observação: Para solicitações que especificam chaves gerenciadas do AWS KMS, você deve usar SSL ou TLS. Se você não usar SSL ou TLS e fizer a solicitação por meio de uma conexão não segura, receberá o seguinte erro:

"An error occurred (InvalidArgument) when calling the operation_performed operation: Requests specifying Server Side Encryption with AWS KMS managed keys must be made over a secure connection.""Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4"

Você fez uma solicitação anônima

Uma solicitação anônima é uma solicitação que não está assinada com as credenciais da AWS. Por exemplo, você usa a URL do objeto no seu navegador ou um cliente HTTP para baixar um objeto do S3.

Um exemplo de uma URL de objeto é https://bucketname.s3.region.amazonaws.com/folder/file.txt.

Veja a seguir um exemplo de um comando curl que você executa para fazer uma solicitação anônima:

curl -vo ./local/path/file.txt https://bucketname.s3.region.amazonaws.com/folder/file.txt

Para evitar a mensagem de erro, certifique-se de que sua solicitação esteja assinada com as credenciais da AWS.

AWS OFICIALAtualizada há um ano
Sem comentários

Conteúdo relevante