View a markdown version of this page

Clés de politique d'authentification spécifiques à Amazon S3 Signature version 4 - Amazon Simple Storage Service

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.

Clés de politique d'authentification spécifiques à Amazon S3 Signature version 4

Le tableau suivant présente les clés de politique liées à l'authentification Amazon S3 Signature Version 4 qui peuvent figurer dans les politiques Amazon S3. Dans une stratégie de compartiment, vous pouvez ajouter ces conditions pour imposer un comportement spécifique lorsque les requêtes sont authentifiées en utilisant Signature Version 4. Pour obtenir des exemples de politiques, consultez Exemples de politiques relatives aux compartiments utilisant des clés de condition associées à Signature Version 4.

Clés applicables Description

s3:signatureversion

Identifie la version de AWS Signature que vous souhaitez prendre en charge pour les demandes authentifiées. Pour les demandes authentifiées, Amazon S3 prend en charge Signature Version 4 et Signature Version 2. Vous pouvez ajouter cette condition à votre politique de bucket pour exiger une version de signature spécifique.

Valeurs valides :

"AWS"identifie la version 2 de Signature

"AWS4-HMAC-SHA256"identifie la version 4 de Signature

s3:authType

Amazon S3 prend en charge différentes méthodes d'authentification (voirDemandes d'authentification (AWS Signature (version 4). Vous pouvez éventuellement utiliser cette clé de condition pour limiter les demandes entrantes à l'aide d'une méthode d'authentification spécifique. Par exemple, vous pouvez autoriser uniquement l'utilisation de l'Authorizationen-tête HTTP pour l'authentification des demandes.

Valeurs valides :

REST-HEADER

REST-QUERY-STRING

POST

s3:signatureAge

La durée, en millisecondes, pendant laquelle une signature est valide dans une demande authentifiée.

Cette condition fonctionne pour :

  • URL présignées  : lorsque la condition la plus restrictive l'emporte. Pour plus d'informations, consultez la section Utilisation d'URL présignées.

  • POST présigné  : chargez des fichiers directement sur S3 à l'aide du POST pré-signé. Pour plus d'informations, consultez la politique POST d'Amazon S3.

Dans la version 2 de Signature, cette valeur est toujours définie sur 0.

Dans Signature Version 4, la clé de signature est valide pendant sept jours au maximum. Par conséquent, les signatures ne restent valides que pendant sept jours. Vous pouvez utiliser cette condition pour limiter davantage la durée de la signature. Pour de plus amples informations, veuillez consulter Présentation des demandes de signature.

Exemple de valeur : 100

s3:x-amz-content-sha256

Vous pouvez utiliser cette clé de condition pour interdire les contenus non signés dans votre compartiment.

Lorsque vous utilisez Signature Version 4, pour les requêtes qui utilisent l'en-tête Authorization, vous ajoutez l'en-tête x-amz-content-sha256 dans le calcul de signature, puis définissez sa valeur sur la charge utile du hachage. Notez que cette clé de condition ne prend pas en charge l'x-amz-content-sha256en-tête en tant que paramètre de chaîne de requête.

Vous pouvez utiliser cette clé de condition dans votre politique de bucket pour refuser tout téléchargement dont les charges utiles ne sont pas signées. Par exemple, vous pouvez refuser les chargements qui utilisent l'Authorizationen-tête pour authentifier les demandes mais ne signent pas la charge utile. Pour de plus amples informations, veuillez consulter Calculs de signature pour l'en-tête d'autorisation : transfert de la charge utile en un seul bloc (AWS Signature (version 4).

Valeur valide : UNSIGNED-PAYLOAD

Exemples de politiques relatives aux compartiments utilisant des clés de condition associées à Signature Version 4

La politique de compartiment suivante refuse toute demande d'URL présignée Amazon S3 sur des objets examplebucket dont la signature date de plus de dix minutes.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Deny a presigned URL request if the signature is more than 10 min old", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::examplebucket3/*", "Condition": { "NumericGreaterThan": { "s3:signatureAge": 600000 } } } ] }

La stratégie de compartiment suivante autorise uniquement les requêtes qui utilisent l'en-tête Authorization pour l'authentification des demandes. Toute demande POST ou URL présignée sera refusée.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow only requests that use Authorization header for request authentication. Deny POST or presigned URL requests.", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::examplebucket3/*", "Condition": { "StringNotEquals": { "s3:authType": "REST-HEADER" } } } ] }

La politique de bucket suivante refuse les demandes qui utilisent des URL présignées pour l'authentification des demandes :

JSON
{ "Version":"2012-10-17", "Statement":[ { "Sid":"DenyUploadsUsingPresignedURL", "Effect":"Deny", "Principal":"*", "Action":"s3:*", "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/*", "Condition":{ "StringEquals":{ "s3:authType":"REST-query-string" } } } ] }

La politique de bucket suivante interdit tout téléchargement contenant des charges utiles non signées :

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Deny uploads with unsigned payloads that use the Authorization header.", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::examplebucket3/*", "Condition": { "StringEquals": { "s3:x-amz-content-sha256": "UNSIGNED-PAYLOAD" } } } ] }