

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
<a name="reference_sigv-authentication-methods"></a>

**Important**  
À moins que vous n'utilisiez les AWS SDK ou l'interface de ligne de commande, 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 s'avérer complexe, et nous vous recommandons d'utiliser les AWS SDK ou l'interface de ligne de commande dans la mesure du possible.

Vous pouvez exprimer les informations d'authentification à l'aide de l'une des méthodes suivantes.

## En-tête d'autorisation HTTP
<a name="aws-signing-authentication-methods-http"></a>

L'en-tête HTTP `Authorization` est l'une des méthodes d'authentification des demandes les plus courantes. Toutes les opérations de l'API REST (à l'exception des chargements via un navigateur utilisant des demandes `POST`) nécessitent cet en-tête.

Les exemples suivants montrent la valeur d’en-tête `Authorization` pour SigV4 et SigV4a. 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.

**Example SigV4**  

```
Authorization: AWS4-HMAC-SHA256
Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, 
SignedHeaders=host;range;x-amz-date, 
Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024
```

**Example SigV4a**  

```
Authorization: AWS4-ECDSA-P256-SHA256
Credential=AKIAIOSFODNN7EXAMPLE/20130524/s3/aws4_request, 
SignedHeaders=host;range;x-amz-date;x-amz-region-set,
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.+  SigV4 – Utilisez `AWS4-HMAC-SHA256`. Cette chaîne identifie AWS SIGv4 (`AWS4`) et l'`HMAC-SHA256`algorithme. <br />+  SigV4A – Utilisez `AWS4-ECDSA-P256-SHA256`. Cette chaîne identifie AWS SIGv4 (`AWS4`) et l'`ECDSA-P256-SHA-256`algorithme.  | 
| Informations d'identification | Votre ID de clé d’accès et les informations relatives au champ d’application.+  SigV4 : inclut la date, la région et le service utilisés pour calculer la Signature. Cette chaîne présente le format suivant : <br />`<your-access-key-id>/<date>/<aws-region>/<aws-service>/aws4_request` <br />+  SigV4a : inclut la date et le service utilisés pour calculer la Signature. Cette chaîne présente le format suivant :  <br />`<your-access-key-id>/<date>/<aws-service>/aws4_request` <br />La valeur <date> est spécifiée à l’aide du format AAAAMMJJ. La valeur <aws-service> est S3 lors de l’envoi d’une demande à Amazon S3. | 
| 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 liste inclut uniquement les noms d'en-tête, qui doivent être en minuscules. Par exemple : `host;range;x-amz-date`<br />Pour SigV4a, vous devez inclure un en-tête de jeu de régions qui spécifie l’ensemble des régions dans lesquelles la demande sera valide. L’en-tête X-Amz-Region-Set est spécifié sous forme de liste de valeurs séparées par des virgules. | 
| Signature | La signature de 256 bits exprimée en 64 caractères hexadécimaux minuscules. Exemples :`fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024`<br />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
<a name="aws-signing-authentication-methods-query"></a>

Vous pouvez utiliser une chaîne de requête pour exprimer entièrement une demande 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 au format HTML, qui peuvent être valides jusqu'à sept jours. Pour plus d'informations, consultez [ Authentification des demandes : utilisation des paramètres de requête (AWS Signature version 4) ](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html) dans le manuel * Amazon S3 API Reference*.

Les exemples suivants montrent des URL pré-Signées pour SigV4 et SigV4a. Des sauts de ligne sont ajoutés à cet exemple pour faciliter la lecture :

**Example SigV4**  

```
https://s3.amazonaws.com/amzn-s3-demo-bucket/test.txt ?
X-Amz-Algorithm=AWS4-HMAC-SHA256 &
X-Amz-Credential=<your-access-key-id>/20130721/<region>/s3/aws4_request &
X-Amz-Date=20130721T201207Z &
X-Amz-Expires=86400 &
X-Amz-SignedHeaders=host &X-Amz-Signature=<signature-value>
```

**Example SigV4a**  

```
https://s3.amazonaws.com/amzn-s3-demo-bucket/test.txt ?
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256 &
X-Amz-Credential=<your-access-key-id>/20240721/s3/aws4_request &
X-amz-Region-Set=<regionset> &
X-Amz-Date=20240721T201207Z &
X-Amz-Expires=86400 &
X-Amz-SignedHeaders=host;x-amz-region-set &
X-Amz-Signature=<signature-value>
```

**Note**  
La valeur `X-Amz-Credential` dans l'URL affiche 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 de l'URL qui fournissent des informations d'authentification.


| Nom du paramètre de la chaîne d'interrogation | Description | 
| --- | --- | 
| X-Amz-Algorithm | Version de la AWS signature et algorithme que vous avez utilisés pour calculer la signature.+  SigV4 – Utilisez `AWS4-HMAC-SHA256`. Cette chaîne identifie AWS SIGv4 (`AWS4`) et l'`HMAC-SHA256`algorithme. <br />+  SigV4A – Utilisez `AWS4-ECDSA-P256-SHA256`. Cette chaîne identifie AWS SIGv4 (`AWS4`) et l'`ECDSA-P256-SHA-256`algorithme.  | 
| X-Amz-Credential | Outre l’ID de votre clé d’accès, ce paramètre fournit également le champ d’application pour lequel 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.+  SigV4 : le format général de cette valeur de paramètre est le suivant : `<your-access-key-id>/<date>/<AWS Region>/<AWS-service>/aws4_request`  <br />Par exemple : `AKIAIOSFODNN7EXAMPLE/20130721/us-east-1/s3/aws4_request`  <br />+  SigV4a : le format général de cette valeur de paramètre est le suivant : `<your-access-key-id>/<date>/<AWS-service>/aws4_request`  <br />Par exemple : `AKIAIOSFODNN7EXAMPLE/20130721/s3/aws4_request`  <br />La région pour SigV4a est définie dans l’en-tête de l’ensemble de régions `X-Amz-Region-Set`. <br />Pour une liste des chaînes AWS régionales, voir Points de terminaison [ régionaux ](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) dans la référence *AWS * générale. | 
| X-Amz-Region-Set | Ensemble de régions dans lesquelles la demande sera valide. L’en-tête x-amz-region-set est spécifié sous forme de liste de valeurs séparées par des virgules. | 
| X-Amz-Date | Le format de date et d'heure doit respecter la norme ISO 8601 et doit être au format `yyyyMMddTHHmmssZ`. Par exemple, si la date et l'heure étaient « 08/01 /2016 15:32:41.982-700 », elles doivent d'abord être converties en UTC (temps universel coordonné), puis soumises sous la forme « 20160801T223241Z ». | 
| X-Amz-Expires | Indique la période, en secondes, pendant laquelle l'URL présignée générée est valide. Par exemple, 86 400 (24 heures). Cette valeur est un nombre entier. La valeur minimale que vous pouvez définir est 1 et la valeur maximale est de 604 800 (sept jours). Une URL présignée peut être valide pendant sept jours au maximum, car la clé de signature que vous utilisez pour le calcul de la 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 :+  L'en-tête de l'hôte HTTP. <br />+  Tous les en-têtes x-amz-\* que vous prévoyez d'ajouter à la demande. <br />+  Pour SigV4a, X-Amz-Region-Set il est nécessaire de spécifier les régions dans lesquelles la demande peut être faite. <br />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, `733255ef022bec3f2a8701cd61d4b371f3f28c9f193a1f02279211d48d5193d7`<br />Les calculs de signature sont décrits dans la section suivante. | 
| X-Amz-Security-Token | Paramètre d'information d'identification facultatif si vous utilisez des informations d'identification provenant du service STS. | 