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.
Demandes d'authentification pour Amazon SQS
L'authentification est le processus d'identification et de vérification de la partie qui envoie une requête. Au cours de la première étape de l'authentification, AWS vérifie l'identité du créateur et si celui-ci est enregistré pour utiliser AWS
-
Le producteur (expéditeur) obtient les autorisations requises.
-
Le créateur envoie une requête et l'autorisation au consommateur (destinataire).
-
Le consommateur utilise l'autorisation pour vérifier si le producteur a envoyé la requête.
-
L'une des situations suivantes se produit :
-
Si l'authentification réussit, le consommateur procède au traitement de la requête.
-
Si l'authentification échoue, le consommateur rejette la requête et renvoie une erreur.
-
Processus d'authentification de base avec HMAC-SHA
Lorsque vous accédez à Amazon SQS grâce à l'API Query, vous devez fournir les éléments suivants pour authentifier votre demande :
-
L'ID de clé d'AWS accès qui vous identifie Compte AWS et qui est AWS utilisé pour rechercher votre clé d'accès secrète.
-
La signature de la HMAC-SHA demande, calculée à l'aide de votre clé d'accès secrète (un secret partagé que vous êtes le seul à connaître et, AWS pour plus d'informations, consultez la http://www.faqs.org/rfcs/rfc2104.html
RFC2104). Le kit SDK AWS gère le processus de signature. Toutefois, si vous soumettez une requête de requête via HTTP ou HTTPS, vous devez inclure une signature dans chacune de ces requêtes. -
Dérivez une clé de signature de Signature Version 4. Pour plus d'informations, consultez Dérivation d'une clé de signature avec Java.
Note
Amazon SQS prend en charge la version 4 de Signature, qui améliore SHA256-based la sécurité et les performances par rapport aux versions précédentes. Lorsque vous créez des applications qui utilisent Amazon SQS, optez pour Signature version 4.
-
Base64-encode la signature de la demande. C'est ce que fait l'exemple de code Java suivant :
package amazon.webservices.common; // Define common routines for encoding data in AWS requests. public class Encoding { /* Perform base64 encoding of input bytes. * rawData is the array of bytes to be encoded. * return is the base64-encoded string representation of rawData. */ public static String EncodeBase64(byte[] rawData) { return Base64.encodeBytes(rawData); } }
-
-
Horodatage (ou expiration) de la requête. L'horodatage que vous utilisez dans la requête doit être un objet
dateTime, avec la date complète suivie des heures, des minutes et des secondes. Par exemple : 2007-01-31T23:59:59ZBien que ce ne soit pas obligatoire, nous vous recommandons de fournir l'heure système affichée dans la zone d'heure de l'heure universelle coordonnée (Heure de Greenwich).Note
Assurez-vous que votre serveur affiche l'heure correcte. Si vous spécifiez un horodatage (plutôt qu'une expiration), la demande expire automatiquement 15 minutes après l'heure spécifiée (AWS ne traite pas les demandes dont l'horodatage est antérieur de plus de 15 minutes à l'heure actuelle sur les serveurs). AWS
Si vous utilisez .NET, vous ne devez pas envoyer des heures systèmes excessivement spécifiques, en raison des diverses propositions existant sur la façon de renoncer à une précision horaire absolue. Dans ce cas, vous devez créer manuellement les objets
dateTimeavec une précision ne dépassant pas une milliseconde.
Partie 1 : Demande de l'utilisateur
La procédure à suivre pour authentifier les AWS demandes à l'aide d'une signature de HMAC-SHA demande est la suivante.
-
Créez une demande pour AWS.
-
Calculez la signature d'un code d'authentification (HMAC-SHA) d'un message de hachage à clé à l'aide de votre clé d'accès secrète.
-
Incluez la signature et l'ID de votre clé d'accès dans la demande, puis envoyez-la à AWS.
Partie 2 : La réponse de AWS
AWS lance le processus suivant en réponse.
-
AWS utilise l'ID de clé d'accès pour rechercher votre clé d'accès secrète.
-
AWS génère une signature à partir des données de la demande et de la clé d'accès secrète, en utilisant le même algorithme que celui que vous avez utilisé pour calculer la signature que vous avez envoyée dans la demande.
-
L'une des situations suivantes se produit :
-
Si la signature AWS générée correspond à celle que vous envoyez dans la demande, AWS la demande est considérée comme authentique.
-
Si la comparaison échoue, la demande est rejetée et AWS renvoie une erreur.
-