Saltar al contenido

¿Cómo soluciono el error "Requests require AWS Signature Version 4" cuando intento acceder a objetos de Amazon S3 que se han cifrado con claves administradas por AWS KMS?

3 minutos de lectura
0

He intentado acceder a los objetos de Amazon Simple Storage Service (Amazon S3) que se han cifrado con AWS Key Management Service (AWS KMS). Aparece el siguiente error: "Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4".

Resolución

Los siguientes motivos pueden provocar el mensaje de error "Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4":

  • Sus solicitudes no están firmadas con AWS Signature Version 4.
  • Hizo una solicitud anónima.

Sus solicitudes no están firmadas con AWS Signature Version 4

Al usar la Signature Version 2 con un objeto cifrado por AWS KMS, es posible que reciba un mensaje de error. Algunos puntos de enlace y regiones de AWS de la API de REST de S3 siguen admitiendo solicitudes firmadas con Signature Version 2. Sin embargo, se recomienda utilizar Signature Version 4 para iniciar sesión. Para obtener más información, consulte AWS Signature Version 2 se va a desactivar (quedará obsoleta) para Amazon S3.

Puede enviar solicitudes firmadas con Signature Version 2 a los buckets de las regiones que admiten Signature Version 2. Sin embargo, AWS KMS requiere que sus solicitudes estén firmadas con Signature Version 4.

Para identificar la versión de firma que usó para realizar solicitudes a los objetos de su bucket, realice las siguientes acciones:

Nota: Para las solicitudes que especifican claves administradas por AWS KMS, debe usar SSL o TLS. Si no utiliza SSL ni TLS y realiza la solicitud a través de una conexión no segura, aparecerá el siguiente error:

"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"

Hizo una solicitud anónima

Una solicitud anónima es una solicitud que no está firmada con credenciales de AWS. Por ejemplo, usa la URL del objeto en su navegador o un cliente HTTP para descargar un objeto S3.

Un ejemplo de URL de objeto es https://bucketname.s3.region.amazonaws.com/folder/file.txt.

El siguiente es un ejemplo de un comando curl que se ejecuta para realizar una solicitud anónima:

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

Para evitar que aparezca el mensaje de error, asegúrese de que la solicitud esté firmada con las credenciales de AWS.

OFICIAL DE AWSActualizada hace un año