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 (AWS Signature (version 4)
Rubriques
Authentification des demandes : utilisation de l'en-tête d'autorisation (AWS Signature (version 4)
Authentification des demandes : utilisation des paramètres de requête (AWS Signature (version 4)
Exemples : calculs de signature dans AWS Signature Version 4
Clés de politique d'authentification spécifiques à Amazon S3 Signature version 4
Chaque interaction avec Amazon S3 est authentifiée ou anonyme. Cette section explique l'authentification des demandes à l'aide de l'algorithme AWS Signature Version 4.
Note
Si vous utilisez les AWS SDK (voir Exemples de code et bibliothèques
L'authentification avec AWS Signature Version 4 fournit tout ou partie des éléments suivants, selon la manière dont vous choisissez de signer votre demande :
-
Vérification de l'identité du demandeur — Les demandes authentifiées nécessitent une signature que vous créez à l'aide de vos clés d'accès (ID de clé d'accès, clé d'accès secrète). Pour plus d'informations sur l'obtention de clés d'accès, voir Comprendre et obtenir vos informations d'identification de sécurité dans le Références générales AWS. Si vous utilisez des informations d'identification de sécurité temporaires, les calculs de signature nécessitent également un jeton de sécurité. Pour plus d’informations, consultez Demande d’informations d’identification temporaires de sécurité dans le Guide de l’utilisateur IAM.
-
In-transit protection des données — Afin d'empêcher toute manipulation d'une demande pendant son transit, vous utilisez certains éléments de la demande pour calculer la signature de la demande. À la réception de la demande, Amazon S3 calcule la signature en utilisant les mêmes éléments de demande. Si un composant de demande reçu par Amazon S3 ne correspond pas au composant qui a été utilisé pour calculer la signature, Amazon S3 rejettera la demande.
-
Protection contre la réutilisation des parties signées de la demande — Les parties signées (à l'aide de AWS signatures) des demandes sont valides dans les 15 minutes suivant l'horodatage de la demande. Une partie non autorisée ayant accès à une demande signée peut modifier les parties non signées de la demande sans affecter la validité de la demande dans la fenêtre de 15 minutes. C'est pourquoi nous vous recommandons de maximiser la protection en signant les en-têtes et le corps des demandes, en envoyant des requêtes HTTPS à Amazon S3 et en utilisant la clé de
s3:x-amz-content-sha256condition (voirClés de politique d'authentification spécifiques à Amazon S3 Signature version 4) dans AWS les politiques pour obliger les utilisateurs à signer les corps de requêtes Amazon S3.
Note
Amazon S3 prend en charge Signature Version 4, un protocole permettant d'authentifier les demandes d'API entrantes destinées aux AWS services, dans l'ensemble. Régions AWSÀ l'heure actuelle, les versions Régions AWS créées avant le 30 janvier 2014 continueront de prendre en charge le protocole précédent, Signature Version 2. Toutes les nouvelles régions après le 30 janvier 2014 ne prendront en charge que la version 4 de la signature. Par conséquent, toutes les demandes adressées à ces régions doivent être effectuées avec la version 4 de la signature. Pour plus d'informations sur AWS Signature Version 2, consultez la section Signature et authentification des requêtes REST dans le guide de l'utilisateur d'Amazon Simple Storage Service.
Méthodes d'authentification
Vous pouvez exprimer les informations d'authentification à l'aide de l'une des méthodes suivantes :
-
En-tête d'autorisation HTTP : l'utilisation de l'
Authorizationen-tête HTTP est la méthode la plus courante pour authentifier une requête Amazon S3. Toutes les opérations REST d'Amazon S3 (à l'exception des chargements par navigateur utilisant des requêtes POST) nécessitent cet en-tête. Pour plus d'informations sur la valeur de l'Authorizationen-tête et sur la façon de calculer la signature et les options associées, consultezAuthentification des demandes : utilisation de l'en-tête d'autorisation (AWS Signature (version 4). -
Paramètres de chaîne de requête : vous pouvez utiliser une chaîne de requête pour exprimer une demande entièrement dans une URL. Dans ce cas, vous utilisez les paramètres de requête pour fournir les informations de demande, y compris les informations d'authentification. Comme la signature de la demande fait partie de l'URL, ce type d'URL est généralement appelé URL présignée. Vous pouvez utiliser des URL présignées pour intégrer des liens cliquables, dont la validité peut aller jusqu'à sept jours, au format HTML. Pour de plus amples informations, veuillez consulter Authentification des demandes : utilisation des paramètres de requête (AWS Signature (version 4).
Amazon S3 prend également en charge les chargements via un navigateur qui utilisent des requêtes HTTP POST. Avec une requête HTTP POST, vous pouvez télécharger du contenu sur Amazon S3 directement depuis le navigateur. Pour plus d'informations sur l'authentification des requêtes POST, consultezBrowser-Based Téléversements à l'aide de POST (AWS Signature (version 4).
Présentation des demandes de signature
Les informations d'authentification que vous envoyez dans une demande doivent inclure une signature. Pour calculer une signature, vous devez d'abord concaténer les éléments de la demande de sélection pour former une chaîne, appelée chaîne à signer. Vous utilisez ensuite une clé de signature pour calculer le code d'authentification de message utilisant hash (HMAC) de la chaîne à signer.
Dans AWS la version 4 de Signature, vous n'utilisez pas votre clé d'accès secrète pour signer la demande. À la place, vous utilisez d'abord votre clé d'accès secrète pour dériver une clé de signature. La clé de signature dérivée est spécifique à la date, au service et à la région. Pour plus d'informations sur la dérivation d'une clé de signature dans différents langages de programmation, voir Exemples de dérivation d'une clé de signature pour Signature Version 4.
Le schéma suivant illustre le processus général de calcul d'une signature.
La chaîne à signer dépend du type de demande. Par exemple, lorsque vous utilisez l'en-tête d'autorisation HTTP ou les paramètres de requête pour l'authentification, vous utilisez une combinaison variable d'éléments de demande pour créer la chaîne à signer. Pour une requête HTTP POST, la politique POST de la demande est la chaîne que vous signez. Pour plus d'informations sur le calcul d'une chaîne à signer, suivez les liens fournis à la fin de cette section.
Pour clé de signature, le schéma montre une série de calculs, dont le résultat de chaque étape est intégré à l'étape suivante. La dernière étape est la clé de signature.
À la réception d'une demande authentifiée, les serveurs Amazon S3 recréent la signature en utilisant les informations d'authentification contenues dans la demande. Si les signatures correspondent, Amazon S3 traite votre demande ; sinon, la demande est rejetée.
Pour plus d'informations sur l'authentification des demandes, consultez les rubriques suivantes :