Éléments d'une signature de demande d' AWS API - AWS Identity and Access Management

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Éléments d'une signature de demande d' AWS API

Important

À moins que vous n'utilisiez AWS les SDK ou la CLI, vous devez écrire du code pour calculer les signatures qui fournissent des informations d'authentification dans vos demandes. Le calcul des AWS signatures dans Signature Version 4 peut être une tâche complexe, et nous vous recommandons d'utiliser les AWS SDK ou la CLI dans la mesure du possible.

Chaque demande HTTP/HTTPS utilisant Signature Version 4 doit contenir ces éléments.

Spécification du point de terminaison

Spécifie le nom DNS du point de terminaison auquel vous envoyez la requête. Ce nom contient généralement le code du service et la région. Par exemple, le nom du point de terminaison Amazon DynamoDB de la région us-east-1 est dynamodb.us-east-1.amazonaws.com.

Pour les requêtes HTTP/1.1, vous devez inclure l'en-tête Host. Pour les requêtes HTTP/2, vous pouvez utiliser l'en-tête :authority ou Host. Utilisez uniquement l'en-tête :authority à des fins de conformité avec la spécification HTTP/2. Tous les services ne prennent pas en charge les requêtes HTTP/2.

Pour les points de terminaison pris en charge par chaque service, consultez Points de terminaison et quotas de service dans Références générales AWS.

Action

Spécifie une action d'API pour le service. Par exemple, l'action DynamoDB CreateTable ou l'action Amazon EC2 DescribeInstances.

Pour les actions prises en charge par chaque service, consultez la référence d'autorisation des services.

Paramètres d'action

Spécifie les paramètres de l'action spécifiée dans la requête. Chaque action d' AWS API comporte un ensemble de paramètres obligatoires et facultatifs. La version de l'API est généralement un paramètre obligatoire.

Pour connaître les paramètres pris en charge par une action d'API, consultez la référence d’API du service.

Date

Spécifie la date et l'heure de la requête. L'inclusion de la date et de l’heure dans la requête permet d'empêcher des tiers d'intercepter cette dernière et de la soumettre à nouveau ultérieurement. La date que vous spécifiez dans l’étendue des informations d'identification doit correspondre à la date de votre requête.

L'horodatage doit être au format UTC et au format ISO 8601 suivant : AAAAMMJJTHHMMSSZ. Par exemple, 20220830T123600Z. N'incluez pas de millisecondes dans l'horodatage.

Vous pouvez utiliser un en-tête date ou x-amz-date, ou inclure x-amz-date comme un paramètre de requête. Si nous ne trouvons pas d'en-tête x-amz-date, nous cherchons un en-tête date.

Informations d'authentification

Chaque demande que vous envoyez doit inclure les informations suivantes. AWS utilise ces informations pour garantir la validité et l'authenticité de la demande.

  • Algorithme : AWS 4-HMAC-SHA256 permet de spécifier la version 4 de la signature à l'aide de l'algorithme de hachage HMAC-SHA256.

  • Identification : chaîne composée de votre identifiant de clé d'accès, de la date au format AAAAMMJJ, du code de région, du code de service et de la chaîne de terminaison aws4_request, séparés par des barres obliques (/). Le code Région, le code de service et la chaîne de terminaison doivent utiliser des caractères minuscules.

    AKIAIOSFODNN7EXAMPLE/YYYYMMDD/region/service/aws4_request
  • En-têtes signés : en-têtes HTTP à inclure dans la signature, séparés par des points-virgules (;). Par exemple, host;x-amz-date.

  • Signature  : chaîne codée en hexadécimal qui représente la signature calculée. Vous devez calculer la signature en utilisant l'algorithme que vous avez spécifié dans le paramètre Algorithm.