Salta al contenuto

Come posso risolvere l'errore "Requests require AWS Signature Version 4" quando provo ad accedere a oggetti Amazon S3 crittografati con chiavi gestite da AWS KMS?

3 minuti di lettura
0

Ho provato ad accedere agli oggetti di Amazon Simple Storage Service (Amazon S3) crittografati con il Servizio AWS di gestione delle chiavi (AWS KMS). Ricevo il seguente errore:"Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4".

Risoluzione

Il messaggio di errore "Requests specifying Server Side Encryption with AWS KMS managed keys require AWS Signature Version 4" può essere causato dai seguenti motivi:

  • Le richieste non sono firmate con AWS Signature Version 4.
  • Hai fatto una richiesta anonima.

Le richieste non sono firmate con AWS Signature Version 4

Quando utilizzi Signature Version 2 con un oggetto crittografato con AWS KMS, potresti ricevere un messaggio di errore. Alcuni endpoint di REST API S3 e Regioni AWS supportano ancora richieste firmate utilizzando Signature Version 2. Tuttavia, è consigliabile utilizzare Signature Version 4 per accedere. Per ulteriori informazioni, consulta AWS Signature Version 2 turned off (deprecated) for Amazon S3 (AWS Signature Version 2 disattivato (obsoleto) per Amazon S3).

Puoi effettuare richieste firmate con Signature Version 2 a bucket nelle Regioni che supportano Signature Version 2. Tuttavia, per AWS KMS è necessario che le richieste siano firmate con Signature Version 4.

Per identificare la versione della firma utilizzata per richieste a oggetti nel bucket, esegui queste azioni:

Nota: per le richieste che specificano chiavi gestite da AWS KMS, devi utilizzare SSL o TLS. Se non utilizzi SSL o TLS ed effettui la richiesta tramite una connessione non sicura, ricevi il seguente errore:

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

Hai fatto una richiesta anonima

Una richiesta anonima è una richiesta non firmata con credenziali AWS. Ciò accade, ad esempio, se utilizzi l'URL dell'oggetto sul browser o su un client HTTP per scaricare un oggetto S3.

Un esempio di URL di un oggetto è https://bucketname.s3.region.amazonaws.com/folder/file.txt.

Di seguito è riportato un esempio di comando curl eseguito per effettuare una richiesta anonima:

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

Per evitare il messaggio di errore, assicurati che la richiesta sia firmata con credenziali AWS.

AWS UFFICIALEAggiornata un anno fa