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.
Méthodes d'authentification
Important
À moins que vous n'utilisiez le AWS SDKs ouCLI, vous devez écrire du code pour calculer les signatures qui fournissent des informations d'authentification dans vos demandes. Le calcul des AWS signatures dans la version 4 de Signature peut être une tâche complexe, et nous vous recommandons d'utiliser le AWS SDKs ou CLI chaque fois que cela est possible.
Vous pouvez exprimer les informations d'authentification à l'aide de l'une des méthodes suivantes.
HTTPen-tête d'autorisation
L'HTTPAuthorization
en-tête est la méthode la plus courante pour authentifier une demande. Toutes les REST API opérations (à l'exception des téléchargements via un navigateur utilisant des POST
requêtes) nécessitent cet en-tête. Pour plus d'informations sur la valeur de l'en-tête d'autorisation et sur la façon de calculer la signature et les options associées, consultez Authentification des demandes : utilisation de l'en-tête d'autorisation (AWS signature version 4) dans la APIréférence Amazon S3.
Voici un exemple de valeur d'en-tête Authorization
. Des sauts de ligne sont ajoutés à cet exemple pour faciliter la lecture. Dans votre code, l'en-tête doit être une chaîne continue. Il n'y a pas de virgule entre l'algorithme et les informations d'identification, mais les autres éléments doivent être séparés par des virgules.
Authorization: AWS 4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, SignedHeaders=host;range;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024
Le tableau suivant décrit les différents composants de la valeur de l'en-tête d'autorisation dans l'exemple précédent :
Composant | Description |
---|---|
Autorisation |
Algorithme utilisé pour calculer la signature. Vous devez fournir cette valeur lorsque vous utilisez la version 4 de AWS signature pour l'authentification. La chaîne indique la version de AWS signature 4 ( |
Informations d'identification |
Votre ID de clé d'accès et les informations relatives au champ d'application, notamment la date, la région et le service, qui ont été utilisés pour calculer la signature. Cette chaîne présente le format suivant :
Où : |
SignedHeaders |
Une liste d'en-têtes de demande séparés par des points-virgules que vous avez utilisés pour calculer |
Signature |
La signature de 256 bits exprimée en 64 caractères hexadécimaux minuscules. Exemples : Veuillez noter que les calculs de signature varient en fonction de l'option que vous choisissez pour transférer la charge utile. |
Paramètres des chaînes de requête
Vous pouvez utiliser une chaîne de requête pour exprimer une demande entièrement dans unURL. 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 en fait partieURL, ce type de signature URL est souvent appelé présignéURL. Vous pouvez utiliser le présigné URLs pour intégrer des liens cliquablesHTML, qui peuvent être valables jusqu'à sept jours. Pour plus d'informations, consultez Authentification des demandes : utilisation des paramètres de requête (AWS Signature version 4) dans le manuel Amazon S3 API Reference.
Voici un exemple présignéURL. Des sauts de ligne sont ajoutés à cet exemple pour faciliter la lecture :
https://s3.amazonaws.com/amzn-s3-demo-bucket/test.txt ? X-Amz-Algorithm=AWS4-HMAC-SHA256 & X-Amz-Credential=<your-access-key-id>/20130721/us-east-1/s3/aws4_request & X-Amz-Date=20130721T201207Z & X-Amz-Expires=86400 & X-Amz-SignedHeaders=host &X-Amz-Signature=<signature-value>
Note
La X-Amz-Credential
valeur dans le URL indique le caractère «/» uniquement pour des raisons de lisibilité. En pratique, il doit être encodé sous la forme %2F. Par exemple :
&X-Amz-Credential=<your-access-key-id>%2F20130721%2Fus-east-1%2Fs3%2Faws4_request
Le tableau suivant décrit les paramètres de requête URL qui fournissent des informations d'authentification.
Nom du paramètre de la chaîne d'interrogation | Description |
---|---|
X-Amz-Algorithm |
Identifie la version de AWS Signature et l'algorithme que vous avez utilisé pour calculer la signature. Pour la version 4 de AWS Signature, vous définissez la valeur de ce paramètre sur. |
X-Amz-Credential |
Outre l'ID de votre clé d'accès, ce paramètre indique également l'étendue (AWS région et service) pour laquelle la signature est valide. Cette valeur doit correspondre au champ d'application que vous utilisez dans les calculs de signature, comme indiqué dans la section suivante. Le format général de cette valeur de paramètre est le suivant :
Par exemple : Pour obtenir la liste des chaînes AWS régionales, consultez la section Points de terminaison régionaux dans le manuel de référence AWS général. |
X-Amz-Date |
Le format de date et d'heure doit être conforme à la norme ISO 8601 et doit être formaté avec le |
X-Amz-Expires |
Indique la période, en secondes, pendant laquelle le présigné généré URL est valide. Par exemple, 86 400 (24 heures). Cette valeur est un nombre entier. La valeur minimale que vous pouvez définir est de 1 et la valeur maximale est de 604800 (sept jours). Un document présigné URL peut être valide pendant sept jours au maximum car la clé de signature que vous utilisez pour le calcul de signature est valide pendant sept jours au maximum. |
X-Amz- SignedHeaders |
Répertorie les en-têtes que vous avez utilisés pour calculer la signature. Les en-têtes suivants sont obligatoires pour les calculs de signature :
Pour plus de sécurité, vous devez signer tous les en-têtes de demande que vous prévoyez d'inclure dans votre demande. |
X-Amz-Signature |
Fournit la signature pour authentifier votre demande. Cette signature doit correspondre à la signature que le service calcule, sinon, le service refuse la demande. Par exemple, Les calculs de signature sont décrits dans la section suivante. |
X-Amz-Security-Token |
Paramètre d'identification facultatif si vous utilisez des informations d'identification provenant du STS service. |