Vous pouvez ajouter une signature à votre demande d'API après l'avoir calculée dans Calculer une signature.

Vous pouvez inclure la signature soit dans l'en-tête HTTP Authorization, soit dans la chaîne de requête, mais pas dans les deux à la fois.

Vous n'avez pas besoin de faire cette procédure si vous utilisez AWS CLI ou un SDK pour votre demande d'API.

Les procédures suivantes sont disponibles : 

Avant de commencer : Vous devez avoir complété la procédure Calculer une signature.


Ajouter la signature à l'en-tête Authorization

  • Pour construire l'en-tête Authorization, référez-vous au pseudo-code suivant :

    Construction de l'en-tête Authorization
    Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
    • Ne mettez pas de virgule entre l'algorithme et Credential. En revanche, séparez les valeurs suivantes par des virgules.
    • La valeur de Credential correspond à l'ID de l'access key, suivi d'une barre oblique (/), suivie des informations d'identification calculées dans Créer une chaîne à signer. La secret key sert à créer la signing key nécessaire à la signature, mais elle ne fait pas partie des informations de signature inclues dans la demande.

    L'en-tête HTTP Authorization est créé et contient la signature.

    Exemple d'en-tête Authorization
    Authorization: AWS4-HMAC-SHA256 Credential=ACCESSKEYID/20180915/eu-west-2/ec2/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=8522c3bcf28f7c39dd7667ccf86a8d31718ca04d56d39d48649119d48021f567


Ajouter la signature à la chaîne de requête

  • Pour construire une chaîne de requête avec tous les paramètres de la demande et la signature calculée, référez-vous au pseudo-code suivant :

    Construction de la chaîne de requête
    querystring = Action=action
    querystring += &X-Amz-Algorithm=algorithm
    querystring += &X-Amz-Credential= urlencode(access_key_ID + '/' + credential_scope)
    querystring += &X-Amz-Date=date
    querystring += &X-Amz-Expires=timeout interval
    querystring += &X-Amz-SignedHeaders=signed_headers
    querystring += &X-Amz-Signature=signature 

    Toutes les valeurs de la chaîne de requête, à l'exception de la signature, sont comprises dans la chaîne de requête canonique qui fait partie de la demande canonique créée dans Créer une demande canonique.

    Si vous effectuez une demande dans laquelle tous les paramètres sont inclus dans la chaîne de requête, l'URL qui en résulte représente une action qui est déjà authentifiée. Vous devez donc traiter cette URL avec autant d'attention que vous le feriez pour vos vrais identifiants. Nous vous recommandons de spécifier un délai d'expiration court pour la demande avec le paramètre X-Amz-Expires.

    La chaîne de requête contient tous les paramètres de la demande et la signature.

    Exemple de chaîne de requête avec les informations de signature
    https://fcu.eu-west-2.outscale.com?Action=DescribeInstances&Version=2016-09-15&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ACCESSKEYID%2F20180915%2Feu-west-2%2Fec2%2Faws4_request&X-Amz-Date=20180915T163400Z&X-Amz-Expires=60&X-Amz-SignedHeaders=content-type%3Bhost&X-Amz-Signature=8522c3bcf28f7c39dd7667ccf86a8d31718ca04d56d39d48649119d48021f567



AWS™ et Amazon Web Services™ sont des marques de commerce d'Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.