Comment résoudre l'erreur « Les demandes spécifiant le chiffrement côté serveur avec les clés gérées AWS KMS nécessitent AWS Signature Version 4 » lorsque j'essaie d'accéder à des objets S3 chiffrés avec des clés gérées AWS KMS ?

Lecture de 3 minute(s)
0

J'essaie d'accéder à des objets Amazon Simple Storage Service (Amazon S3) qui sont chiffrés avec AWS Key Management Service (AWS KMS). J’obtiens le message d’erreur « Les demandes spécifiant le chiffrement côté serveur avec des clés gérées AWS KMS nécessitent AWS Signature Version 4 ».

Résolution

Cette erreur s'affiche lorsque vous accédez à un objet chiffré par AWS KMS à l'aide d'une version de signature qui n'est pas la version 4 d'AWS Signature. Lorsque vous accédez à un objet S3 chiffré à l'aide d'une clé AWS KMS, assurez-vous que toutes vos demandes sont signées avec AWS Signature Version 4.

Assurez-vous de ne pas faire une demande anonyme

Cette erreur peut s'afficher lorsque vous faites une demande anonyme. Une demande anonyme est une demande qui n'est pas signée avec des informations d'identification AWS. Le téléchargement d'un objet S3 à l'aide de l'URL de l'objet sur votre navigateur ou sur un client HTTP est un exemple de demande anonyme. L'URL d'un objet S3 ressemble à ce qui suit :

https://bucketname.s3.region.amazonaws.com/folder/file.txt

À l'aide d'un client HTTP tel que curl, vous pouvez effectuer une requête anonyme à l'aide d'une commande similaire à la suivante :

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

Assurez-vous que vous n'utilisez pas AWS Signature Version 2

Certains points de terminaison et régions de l'API REST S3 prennent toujours en charge les demandes signées à l'aide de la version 2 de signature. Toutefois, il est recommandé d'utiliser la version 4 de Signature pour la connexion. Pour plus d'informations, consultez la section AWS Signature Version 2 désactivée (obsolète) pour Amazon S3.

Étant donné que certaines régions prennent toujours en charge la version 2 de Signature, vous pouvez envoyer des demandes signées avec la version 2 de Signature à des compartiments de ces régions. Toutefois, AWS KMS exige que vos demandes soient signées avec la version 4 de Signature. Si vous utilisez la version 2 de Signature avec un objet crypté par AWS KMS, cette erreur s'affiche :

Les demandes spécifiant le chiffrement côté serveur avec des clés gérées par AWS KMS nécessitent la version 4 d'AWS Signature.

Pour identifier la version de signature que vous avez utilisée pour envoyer des demandes aux objets de votre compartiment, procédez comme suit :

Remarque : Pour les demandes qui spécifient des clés gérées par AWS KMS, vous devez utiliser le protocole SSL (Secure Sockets Layer) ou le protocole TLS (Transport Layer Security). Si vous faites une demande qui spécifie des clés AWS KMS via une connexion non sécurisée (sans SSL/TLS), vous obtenez l'erreur suivante :

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.

Informations connexes

Spécification du chiffrement côté serveur avec AWS KMS (SSE-KMS)

Demandes d'authentification (AWS Signature Version 2)

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an