Signature des demandes d'API AWS
Important
Si vous utilisez un SDK AWS ou un outil de ligne de commande AWS pour envoyer des demandes d'API AWS, ces outils signent les demandes d'API à votre place. Vous ne devez signer les demandes d'API AWS comme décrit dans cette documentation que si vous n'utilisez pas de SDK AWS ou d'outil de ligne de commande AWS pour envoyer des demandes d'API AWS.
Lorsque vous envoyez des demandes d'API à AWS, vous devez les signer pour que AWS puisse identifier l'expéditeur. Pour des raisons de sécurité, la plupart des demandes sont signées à l'aide de vos informations d'identification de sécurité AWS.
Lorsqu'un Service AWS reçoit une demande authentifiée, il recrée la signature à l'aide des informations d'authentification contenues dans la demande. Si les signatures correspondent, le service traite la demande. Sinon, il rejette la demande.
La version 4 de Signature est le protocole de signature AWS. AWS prend également en charge une extension, Signature Version 4A, qui prend en charge les signatures pour les demandes d'API multirégionales. Pour plus d’informations, veuillez consulter le projet sigv4a-signing-examples
Table des matières
Quand signer des demandes ?
Lorsque vous écrivez du code personnalisé pour envoyer des demandes d’API à AWS, vous devez inclure le code permettant de signer les demandes. Vous pouvez écrire du code personnalisé pour les raisons suivantes :
-
Vous utilisez un langage de programmation pour lequel il n'existe aucun kit SDK AWS.
-
Vous voulez exercer un contrôle complet de la façon dont les demandes sont envoyées à AWS.
Pourquoi les demandes sont-elles signées ?
Le processus de signature aide à sécuriser les demandes de différentes façons :
-
Vérifier l'identité du demandeur
Les demandes doivent être envoyées par une personne disposant d'une clé d'accès valide.
-
Protéger les données en transit
Pour éviter qu'une demande ne soit falsifiée pendant son transit, certains de ses éléments sont utilisés pour calculer son hachage (digest) et la valeur de hachage obtenue est incluse comme partie intégrante de la demande. Lorsqu'un Service AWS reçoit la demande, il utilise les mêmes informations pour calculer un hachage et le compare à la valeur de hachage de votre demande. Si les valeurs ne correspondent pas, AWS refuse la demande.
-
Assurer une protection contre les attaques potentielles par relecture
Dans la plupart des cas, une demande doit parvenir à AWS dans les cinq minutes suivant son horodatage. Sinon, AWS refuse la demande.