Clés de stratégie spécifiques à l'authentification AWS Signature Version 4 (SigV4) - Amazon S3 sur Outposts

Clés de stratégie spécifiques à l'authentification AWS Signature Version 4 (SigV4)

Le tableau suivant présente les clés de condition associées à l'authentification AWS Signature Version 4 (SigV4) que vous pouvez utiliser avec Amazon S3 on Outposts. 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 stratégies de compartiment qui utilisent des clés de condition associées à Signature Version 4. Pour de plus amples informations sur l'authentification des demandes en utilisant Signature Version 4, veuillez consulter la section Authentification des requêtes (AWS Signature Version 4) de la Référence des API Amazon Simple Storage Service

Clés applicables Description

s3-outposts:authType

S3 on Outposts prend en charge différentes méthodes d'authentification. Pour limiter les requêtes entrantes afin d'utiliser d'une méthode d'authentification spécifique, vous pouvez utiliser cette clé de condition facultative. Par exemple, vous pouvez utiliser cette clé de condition pour autoriser uniquement l'en-tête HTTPAuthorization pour l'authentification de la demande.

Valeurs valides :

REST-HEADER

REST-QUERY-STRING

s3-outposts:signatureAge

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

Cette condition ne fonctionne que pour les URL présignées.

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. Pour plus d’informations, consultez Introduction à la signature des demandes dans la Référence d’API Amazon Simple Storage Service. Vous pouvez utiliser cette condition pour limiter davantage la durée de la signature.

Exemple de valeur : 600000

s3-outposts: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.

Vous pouvez utiliser cette clé de condition dans votre stratégie de compartiment pour refuser tous les chargements où les charges utiles ne sont pas signées. Par exemple :

  • Refuser les chargements qui utilisent l’en-tête Authorizationpour authentifier les requêtes mais ne signent pas la charge utile. Pour plus d’informations, consultez Transfert de la charge utile en un seul fragment dans la Référence d’API Amazon Simple Storage Service.

  • Refusez les chargements qui utilisent des URL présignées. Les URL présignées ont toujours une UNSIGNED_PAYLOAD. Pour plus d’informations, consultez Demandes d’authentification et Méthodes d’authentification dans la Référence des API Amazon Simple Storage Service.

Valeur valide : UNSIGNED-PAYLOAD

Exemples de stratégies de compartiment qui utilisent des clés de condition associées à Signature Version 4

Pour utiliser les exemples suivants, remplacez user input placeholders par vos propres informations.

Exemple : s3-outposts:signatureAge

La stratégie de compartiment suivante refuse toute demande d'URL présignée S3 on Outposts sur les objets dans example-outpost-bucket si la signature date de plus de 10 minutes.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Deny a presigned URL request if the signature is more than 10 minutes old", "Effect": "Deny", "Principal": {"AWS":"444455556666"}, "Action": "s3-outposts:*", "Resource": "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket/object/*", "Condition": { "NumericGreaterThan": {"s3-outposts:signatureAge": 600000}, "StringEquals": {"s3-outposts:authType": "REST-QUERY-STRING"} } } ] }
Exemple : s3-outposts:authType

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 d'URL présignée sera refusée, car les URL présignées utilisent des paramètres de requête pour fournir des informations sur la requête et l'authentification. Pour de plus amples informations, veuillez consulter Authentication methods (Méthodes d'authentification dans la Référence d'API Amazon Simple Storage Service.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow only requests that use the Authorization header for request authentication. Deny presigned URL requests.", "Effect": "Deny", "Principal": {"AWS":"111122223333"}, "Action": "s3-outposts:*", "Resource": "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket/object/*", "Condition": { "StringNotEquals": { "s3-outposts:authType": "REST-HEADER" } } } ] }
Exemple : s3-outposts:x-amz-content-sha256

La stratégie de compartiment suivante interdit les chargements avec des charges utiles non signées, tels que les chargements utilisant des URL présignées. Pour plus d’informations, consultez Demandes d’authentification et Méthodes d’authentification dans la Référence des API Amazon Simple Storage Service.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Deny uploads with unsigned payloads.", "Effect": "Deny", "Principal": {"AWS":"111122223333"}, "Action": "s3-outposts:*", "Resource": "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket/object/*", "Condition": { "StringEquals": { "s3-outposts:x-amz-content-sha256": "UNSIGNED-PAYLOAD" } } } ] }