Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Fonctionnement d’Amazon S3 avec IAM

Mode de mise au point
Fonctionnement d’Amazon S3 avec IAM - 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.

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.

Avant d’utiliser IAM pour gérer l’accès à Amazon S3, découvrez les fonctionnalités IAM qui peuvent être utilisées avec Amazon S3.

Pour obtenir une vue d'ensemble de la façon dont Amazon S3 et les autres AWS services fonctionnent avec la plupart des fonctionnalités IAM, consultez les AWS services compatibles avec IAM dans le guide de l'utilisateur IAM.

Pour plus d’informations sur les autorisations relatives aux opérations d’API S3 par type de ressource S3, consultez Autorisations requises pour les opérations d’API Amazon S3.

Politiques basées sur l’identité pour Amazon S3

Prend en charge les politiques basées sur l’identité : oui

Les politiques basées sur l’identité sont des documents de politique d’autorisations JSON que vous pouvez attacher à une identité telle qu’un utilisateur, un groupe d’utilisateurs ou un rôle IAM. Ces politiques contrôlent quel type d’actions des utilisateurs et des rôles peuvent exécuter, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, consultez Définition d’autorisations IAM personnalisées avec des politiques gérées par le client dans le Guide de l’utilisateur IAM.

Avec les politiques IAM basées sur l’identité, vous pouvez spécifier des actions et ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. Vous ne pouvez pas spécifier le principal dans une politique basée sur une identité, car celle-ci s’applique à l’utilisateur ou au rôle auquel elle est attachée. Pour découvrir tous les éléments que vous utilisez dans une politique JSON, consultez Références des éléments de politique JSON IAM dans le Guide de l’utilisateur IAM.

Exemples de politiques basées sur l’identité pour Amazon S3

Pour voir des exemples de politiques Amazon S3 basées sur l’identité, consultez Politiques basées sur l’identité pour Amazon S3.

Politiques basées sur les ressources au sein d’Amazon S3

Prend en charge les politiques basées sur les ressources : oui

Les politiques basées sur les ressources sont des documents de politique JSON que vous attachez à une ressource. Par exemple, les politiques de confiance de rôle IAM et les politiques de compartiment Amazon S3 sont des politiques basées sur les ressources. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Pour la ressource dans laquelle se trouve la politique, cette dernière définit quel type d’actions un principal spécifié peut effectuer sur cette ressource et dans quelles conditions. Vous devez spécifier un principal dans une politique basée sur les ressources. Les principaux peuvent inclure des comptes, des utilisateurs, des rôles, des utilisateurs fédérés ou. Services AWS

Pour permettre un accès intercompte, vous pouvez spécifier un compte entier ou des entités IAM dans un autre compte en tant que principal dans une politique basée sur les ressources. L’ajout d’un principal intercompte à une politique basée sur les ressources ne représente qu’une partie de l’instauration de la relation d’approbation. Lorsque le principal et la ressource sont différents Comptes AWS, un administrateur IAM du compte sécurisé doit également accorder à l'entité principale (utilisateur ou rôle) l'autorisation d'accéder à la ressource. Pour ce faire, il attache une politique basée sur une identité à l’entité. Toutefois, si une politique basée sur des ressources accorde l’accès à un principal dans le même compte, aucune autre politique basée sur l’identité n’est requise. Pour plus d’informations, consultez Accès intercompte aux ressources dans IAM dans le Guide de l’utilisateur IAM.

Le service Amazon S3 prend en charge les politiques de compartiment, les stratégies de points d’accès et les autorisations d’accès S3 :

  • Les politiques de compartiment sont des politiques basées sur les ressources. Elles sont associées à un compartiment Amazon S3. Une politique de compartiment désigne les principaux autorisés à effectuer des actions au niveau de ce compartiment.

  • Les stratégies de points d’accès sont des politiques basées sur les ressources. Elles sont évaluées conjointement avec la politique de compartiment sous-jacente.

  • Les autorisations d’accès S3 fournissent un modèle simplifié pour définir les autorisations d’accès aux données dans Amazon S3 par préfixe, compartiment ou objet. Pour plus d’informations sur les autorisations d’accès S3, consultez Gestion de l’accès avec les autorisations d’accès S3.

Principaux pour les politiques de compartiment

L’élément Principal spécifie l’utilisateur, le compte, le service ou une autre entité qui a accès ou non à une ressource. Voici quelques exemples de spécification de Principal. Pour plus d’informations, consultez Principal dans le Guide de l’utilisateur IAM.

Accorder des autorisations à un Compte AWS

Pour accorder des autorisations à un Compte AWS, identifiez le compte en utilisant le format suivant.

"AWS":"account-ARN"

Voici quelques exemples.

"Principal":{"AWS":"arn:aws:iam::AccountIDWithoutHyphens:root"}
"Principal":{"AWS":["arn:aws:iam::AccountID1WithoutHyphens:root","arn:aws:iam::AccountID2WithoutHyphens:root"]}

Octroyer des autorisations à un utilisateur IAM

Pour accorder une autorisation à un utilisateur IAM de votre compte, vous devez fournir une paire de nom-valeur "AWS":"user-ARN".

"Principal":{"AWS":"arn:aws:iam::account-number-without-hyphens:user/username"}

Pour des exemples détaillés fournissant des step-by-step instructions, reportez-vous aux sections Exemple 1 : propriétaire d’un compartiment accordant à ses utilisateurs des autorisations sur un compartiment etExemple 3 : propriétaire d’un compartiment accordant des autorisations sur des objets qu’il ne possède pas.

Note

Si une identité IAM est supprimée après la mise à jour de votre politique de compartiment, la politique de compartiment affichera un identifiant unique dans l’élément principal au lieu d’un ARN. Ces informations uniques ne IDs sont jamais réutilisées. Vous pouvez donc supprimer en toute sécurité les principaux associés à des identifiants uniques de toutes vos déclarations de politique. Pour plus d’informations sur les identifiants uniques, consultez Identificateurs IAM dans le Guide de l’utilisateur IAM.

Octroyer des autorisations anonymes

Avertissement

Soyez vigilant lorsque vous accordez un accès anonyme à votre compartiment Amazon S3. Lorsque vous accordez un accès anonyme, tout le monde peut accéder à votre compartiment. Nous vous recommandons vivement de ne jamais accorder un type d’accès en écriture anonyme quel qu’il soit à votre compartiment S3.

Pour accorder l’autorisation à tout le monde (on parle aussi d’accès anonyme), définissez le caractère générique "*" en tant que valeur Principal. Par exemple, si vous configurez votre compartiment en tant que site Web, vous voulez que tous les objets dans le compartiment soit accessibles publiquement.

"Principal":"*"
"Principal":{"AWS":"*"}

L'utilisation "Principal": "*" avec Allow effet dans le cadre d'une politique basée sur les ressources permet à quiconque, même s'il n'est pas connecté AWS, d'accéder à votre ressource.

L’utilisation de l’interface "Principal" : { "AWS" : "*" } avec un effet Allow dans une politique basée sur les ressources permet à n’importe quel utilisateur racine, utilisateur IAM, séance à rôle supposé ou utilisateur fédéré dans n’importe quel compte de la même partition d’accéder à votre ressource.

Pour les utilisateurs anonymes, ces deux méthodes sont équivalentes. Pour plus d’informations, consultez Tous les principaux dans le Guide de l’utilisateur IAM.

Vous ne pouvez pas utiliser un caractère générique pour une correspondance à une partie d’un nom ou d’un ARN principal.

Important

Dans les politiques de contrôle d' AWS accès, les principes « * » et {»AWS« : « *"} se comportent de manière identique.

Restriction des autorisations sur les ressources

Vous pouvez également utiliser la politique sur les ressources pour restreindre l’accès aux ressources qui seraient autrement accessibles aux principaux IAM. Utilisez une instruction Deny pour empêcher l’accès.

L’exemple suivant bloque l’accès si aucun protocole de transport sécurisé n’est utilisé :

{"Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": <bucket ARN>, "Condition": { "Boolean": { "aws:SecureTransport" : "false"} } }

Au lieu de tenter de refuser l’accès à des comptes ou des principaux spécifiques selon cette méthode, l’utilisation de "Principal": "*" de sorte que cette restriction s’applique à tout le monde est une bonne pratique pour cette politique.

Nécessite un accès via CloudFront URLs

Vous pouvez demander à vos utilisateurs d'accéder à votre contenu Amazon S3 uniquement en utilisant CloudFront URLs plutôt qu'Amazon S3 URLs. Pour ce faire, créez un contrôle CloudFront d'accès à l'origine (OAC). Modifiez ensuite les autorisations au niveau de vos données S3. Dans votre politique de compartiment, vous pouvez définir le CloudFront rôle principal comme suit :

"Principal":{"Service":"cloudfront.amazonaws.com"}

Utilisez un Condition élément de la politique CloudFront pour autoriser l'accès au compartiment uniquement lorsque la demande provient de la CloudFront distribution contenant l'origine S3.

"Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront-distribution-ID" } }

Pour plus d'informations sur l'obligation d'accéder à S3 via CloudFront URLs, consultez Restreindre l'accès à une origine Amazon Simple Storage Service dans le manuel Amazon CloudFront Developer Guide. Pour plus d'informations sur les avantages en matière de sécurité et de confidentialité liés à l'utilisation d'Amazon CloudFront, consultez Configuration de l'accès sécurisé et restriction de l'accès au contenu.

Exemples de politiques basées sur les ressources pour Amazon S3

Actions de politique pour Amazon S3

Prend en charge les actions de politique : oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément Action d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Les actions de stratégie portent généralement le même nom que l'opération AWS d'API associée. Il existe quelques exceptions, telles que les actions avec autorisations uniquement qui n’ont pas d’opération API correspondante. Certaines opérations nécessitent également plusieurs actions dans une politique. Ces actions supplémentaires sont nommées actions dépendantes.

Intégration d’actions dans une politique afin d’accorder l’autorisation d’exécuter les opérations associées.

Vous trouverez ci-dessous les différents types de relations de mappage entre les opérations de l’API S3 et les actions de politiques requises.

  • One-to-one mappage portant le même nom. Par exemple, pour utiliser l’opération d’API PutBucketPolicy, l’action de politique s3:PutBucketPolicy est requise.

  • One-to-one mappage avec des noms différents. Par exemple, pour utiliser l’opération d’API ListObjectsV2, l’action de politique s3:ListBucket est requise.

  • One-to-many cartographie. Par exemple, pour utiliser l’opération d’API HeadObject, s3:GetObject est requis. De même, lorsque vous utilisez le verrouillage d’objet S3 et que vous souhaitez obtenir le statut de conservation légale d’un objet ou les paramètres de rétention d’un objet, les actions de politique s3:GetObjectLegalHold ou s3:GetObjectRetention correspondantes sont également requises avant de pouvoir utiliser l’opération d’API HeadObject.

  • Many-to-one cartographie. Par exemple, pour utiliser les opérations d’API ListObjectsV2 ou HeadBucket, l’action de politique s3:ListBucket est requise.

Pour afficher la liste des actions Amazon S3 que vous pouvez utilisez dans les politiques, consultez Actions définies par Amazon S3 dans la Référence de l’autorisation de service. Pour obtenir la liste des opérations d’API Amazon S3, consultez Actions d’API Amazon S3 dans la Référence d’API Amazon Simple Storage Service.

Pour plus d’informations sur les autorisations relatives aux opérations d’API S3 par type de ressource S3, consultez Autorisations requises pour les opérations d’API Amazon S3.

Les actions de politique dans Amazon S3 utilisent le préfixe suivant avant l’action :

s3

Pour indiquer plusieurs actions dans une seule déclaration, séparez-les par des virgules.

"Action": [ "s3:action1", "s3:action2" ]

Les opérations de compartiment sont des opérations d’API S3 qui opèrent sur le type de ressource du compartiment. Par exemple, CreateBucket, ListObjectsV2 et PutBucketPolicy. Les actions de politique S3 pour les opérations de compartiment nécessitent que l’élément Resource des politiques de compartiment ou des politiques basées sur l’identité IAM soit l’identifiant Amazon Resource Name (ARN) du type de compartiment S3 dans l’exemple de format suivant.

"Resource": "arn:aws:s3:::amzn-s3-demo-bucket"

La politique de compartiment suivante accorde à l'utilisateur Akua titulaire 12345678901 du compte l's3:ListBucketautorisation d'exécuter le ListObjectsV2Fonctionnement de l'API et liste des objets dans un compartiment S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to list objects in the bucket", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" } ] }
Opérations sur les compartiments dans les stratégies de point d’accès

Les autorisations accordées dans une stratégie de point d’accès ne sont effectives que si le compartiment sous-jacent accorde également les mêmes autorisations. Lorsque vous utilisez des points d’accès S3, vous devez déléguer le contrôle d’accès du compartiment au point d’accès ou ajouter les mêmes autorisations dans les stratégies du point d’accès à la politique du compartiment sous-jacent. Pour de plus amples informations, veuillez consulter Configuration des politiques IAM pour l’utilisation des points d’accès. Dans les stratégies de point d’accès, les actions de politique S3 pour les opérations de compartiment nécessitent que vous utilisiez l’ARN du point d’accès pour l’élément Resource au format suivant.

"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point"

La politique de point d'accès suivante accorde Akua à l'utilisateur titulaire 12345678901 du compte l's3:ListBucketautorisation d'exécuter ListObjectsV2Fonctionnement de l'API via le point d'accès S3 nomméexample-access-point. Cette autorisation permet à Akua de répertorier les objets dans le compartiment associé à example-access-point.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to list objects in the bucket through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point" } ] }
Note

Toutes les opérations de compartiment ne sont pas prises en charge par les points d’accès S3. Pour de plus amples informations, veuillez consulter Compatibilité des points d’accès avec les opérations S3.

Les opérations d’objet sont des opérations d’API S3 qui agissent sur le type de ressource de l’objet. Par exemple, GetObject, PutObject et DeleteObject. Les actions de politique S3 pour les opérations d’objet nécessitent que l’élément Resource des politiques soit l’ARN de l’objet S3 dans les exemples de formats suivants.

"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/*"
Note

L’ARN de l’objet doit contenir une barre oblique après le nom du compartiment, comme indiqué dans les exemples précédents.

La politique de compartiment suivante accorde à l’utilisateur (Akua) du compte 12345678901 l’autorisation s3:PutObject. Cette autorisation Akua permet d'utiliser PutObjectOpération d'API pour télécharger des objets dans le compartiment S3 nomméamzn-s3-demo-bucket.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to upload objects", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }
Opérations d’objet dans les stratégies de point d’accès

Lorsque vous utilisez des points d’accès S3 pour contrôler l’accès aux opérations d’objet, vous pouvez opter pour des stratégies de point d’accès. Lorsque vous utilisez des stratégies de point d’accès, les actions de politique S3 pour les opérations d’objet nécessitent que vous utilisiez l’ARN du point d’accès pour l’élément Resource au format suivant :arn:aws:s3:region:account-id:accesspoint/access-point-name/object/resource. Pour les opérations d’objet qui utilisent des points d’accès, vous devez inclure la valeur /object/ après l’ARN complet du point d’accès dans l’élément Resource. Voici quelques exemples.

"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point/object/*"
"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point/object/prefix/*"

La stratégie de point d’accès suivante accorde à l’utilisateur Akua titulaire du compte 12345678901 l’autorisation s3:GetObject. Cette autorisation Akua permet d'exécuter GetObjectFonctionnement de l'API via le point d'accès nommé example-access-point sur tous les objets du compartiment associé au point d'accès.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Akua to get objects through access point", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::12345678901:user/Akua" }, "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point/object/*" } ] }
Note

Les opérations d’objet ne sont pas toutes prises en charge par les points d’accès. Pour de plus amples informations, veuillez consulter Compatibilité des points d’accès avec les opérations S3.

Les opérations de point d’accès sont des opérations d’API S3 qui agissent sur le type de ressource accesspoint. Par exemple, CreateAccessPoint, DeleteAccessPoint et GetAccessPointPolicy. Les actions de politique S3 pour les opérations de point d’accès ne peuvent être utilisées que dans les politiques basées sur l’identité IAM, et non dans les politiques de compartiment ou les stratégies de point d’accès. Les opérations de points d’accès nécessitent que l’élément Resource soit l’ARN du point d’accès dans l’exemple de format suivant.

"Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/example-access-point"

La politique basée sur l'identité IAM suivante accorde l's3:GetAccessPointPolicyautorisation d'exécuter GetAccessPointPolicyFonctionnement de l'API sur le point d'accès S3 nomméexample-access-point.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Grant permission to retrieve the access point policy of access point example-access-point", "Effect": "Allow", "Action": [ "s3:GetAccessPointPolicy" ], "Resource": "arn:aws:s3:*:123456789012:accesspoint/example-access-point" } ] }

Lorsque vous utilisez des points d’accès, pour contrôler l’accès aux opérations de compartiment, consultez Opérations sur les compartiments dans les stratégies de point d’accès et, pour contrôler l’accès aux opérations d’objet, consultez Opérations d’objet dans les stratégies de point d’accès. Pour plus d’informations sur la configuration de stratégies de point d’accès, consultez Configuration des politiques IAM pour l’utilisation des points d’accès.

Amazon S3 Object Lambda vous donne la possibilité d’ajouter votre propre code aux requêtes Amazon S3 GET, LIST et HEAD afin de modifier et de traiter les données lorsqu’elles sont renvoyées vers une application. Vous pouvez effectuer des demandes via un point d’accès Object Lambda, ce qui fonctionne de la même manière que les demandes via d’autres points d’accès. Pour de plus amples informations, veuillez consulter Transformation d’objets avec S3 Object Lambda.

Pour plus d’informations sur la configuration de politiques pour les opérations de point d’accès Object Lambda, consultez Configuration des politiques IAM pour les points d’accès Object Lambda.

Les points d’accès multi-régions Amazon S3 fournissent un point de terminaison global que les applications peuvent utiliser pour traiter les demandes provenant de compartiments S3 situés dans plusieurs Région AWS. Vous pouvez utiliser des points d’accès multi-régions pour créer des applications multi-régions avec la même architecture que celle utilisée dans une seule région, puis exécuter ces applications partout dans le monde. Pour de plus amples informations, veuillez consulter Gestion du trafic multirégional avec des points d’accès multirégionaux.

Pour plus d’informations sur la configuration de stratégies pour les opérations de points d’accès multi-régions, consultez Exemples de politique de point d'accès multi-régions.

Les opérations relatives aux tâches par lots (opérations par lot) sont des opérations d’API S3 qui agissent sur le type de ressource job. Par exemple : DescribeJob et CreateJob. Les actions de politique S3 pour les opérations relatives aux tâches par lots ne peuvent être utilisées que dans les politiques basées sur l’identité IAM, et non dans les politiques de compartiment. En outre, les opérations relatives aux tâches par lots nécessitent que l’élément Resource des politiques basées sur l’identité IAM soit l’ARN de l’élément job dans l’exemple de format suivant.

"Resource": "arn:aws:s3:*:123456789012:job/*"

La politique basée sur l'identité IAM suivante accorde l's3:DescribeJobautorisation d'effectuer l'opération d'DescribeJobAPI sur le job S3 Batch Operations nommé. example-job

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow describing the Batch operation job example-job", "Effect": "Allow", "Action": [ "s3:DescribeJob" ], "Resource": "arn:aws:s3:*:123456789012:job/example-job" } ] }

Pour plus d’informations sur les opérations de configuration S3 Storage Lens, consultez Définition d’autorisations Amazon S3 Storage Lens.

Les opérations de compte sont des opérations d’API S3 qui agissent au niveau du compte. Par exemple, GetPublicAccessBlock (pour le compte). Le compte n’est pas un type de ressource défini par Amazon S3. Les actions de politique S3 pour les opérations de compte ne peuvent être utilisées que dans les politiques basées sur l’identité IAM, et non dans les politiques de compartiment. En outre, les opérations de compte nécessitent que l’élément Resource des politiques basées sur l’identité IAM soit "*".

La politique basée sur l'identité IAM suivante s3:GetAccountPublicAccessBlock autorise l'exécution au niveau du compte GetPublicAccessBlockFonctionnement de l'API et récupération des paramètres de blocage d'accès public au niveau du compte.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"Allow retrieving the account-level Public Access Block settings", "Effect":"Allow", "Action":[ "s3:GetAccountPublicAccessBlock" ], "Resource":[ "*" ] } ] }

Exemples de politiques pour Amazon S3

Ressources de politique pour Amazon S3

Prend en charge les ressources de politique : oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément de politique JSON Resource indique le ou les objets auxquels l’action s’applique. Les instructions doivent inclure un élément Resource ou NotResource. Il est recommandé de définir une ressource à l’aide de son Amazon Resource Name (ARN). Vous pouvez le faire pour des actions qui prennent en charge un type de ressource spécifique, connu sous la dénomination autorisations de niveau ressource.

Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, telles que les opérations de liste, utilisez un caractère générique (*) afin d’indiquer que l’instruction s’applique à toutes les ressources.

"Resource": "*"

Certaines actions d’API Amazon S3 prennent en charge plusieurs ressources. Par exemple, sachant que s3:GetObject accède à example-resource-1 et à example-resource-2, un principal doit disposer des autorisations d’accès à ces deux ressources. Pour spécifier plusieurs ressources dans une seule instruction, séparez-les ARNs par des virgules, comme indiqué dans l'exemple suivant.

"Resource": [ "example-resource-1", "example-resource-2"

Dans Amazon S3, les ressources sont les compartiments, les objets, les points d’accès ou les tâches. Dans une politique, utilisez l’Amazon Resource Name (ARN) du compartiment, de l’objet, du point d’accès ou de la tâche pour identifier la ressource.

Pour consulter la liste complète des types de ressources Amazon S3 et de leurs caractéristiques ARNs, consultez la section Ressources définies par Amazon S3 dans le Service Authorization Reference. Pour savoir les actions avec lesquelles vous pouvez spécifier l’ARN de chaque ressource, consultez Actions définies par Amazon S3.

Pour plus d’informations sur les autorisations relatives aux opérations d’API S3 par type de ressource S3, consultez Autorisations requises pour les opérations d’API Amazon S3.

Caractères génériques dans la ressource ARNs

Vous pouvez utiliser des caractères génériques dans l’ARN d’une ressource. Vous pouvez utiliser des caractères génériques (* et ?) dans n’importe quel segment d’ARN (parties séparées par des signes deux-points). Un astérisque (*) représente n’importe quelle combinaison de zéro ou de plusieurs caractères, et un point d’interrogation (?) représente un seul caractère quelconque. Vous pouvez utiliser plusieurs caractères * ou ? dans chaque segment. Toutefois, un caractère générique ne peut pas couvrir des segments.

  • L’ARN suivant utilise le caractère générique * dans la partie relative-ID de l’ARN pour identifier tous les objets du compartiment amzn-s3-demo-bucket.

    arn:aws:s3:::amzn-s3-demo-bucket/*
  • L’ARN suivant utilise * pour indiquer tous les compartiments et tous les objets Amazon S3.

    arn:aws:s3:::*
  • L’ARN suivant utilise les deux caractères génériques, * et ?, dans la partie relative-ID. Cet ARN identifie tous les objets des compartiments, par exemple amzn-s3-demo-example1bucket, amzn-s3-demo-example2bucket, amzn-s3-demo-example3bucket, etc.

    arn:aws:s3:::amzn-s3-demo-example?bucket/*

Variables de politique pour les ressources ARNs

Vous pouvez utiliser des variables de politique dans Amazon S3 ARNs. Lors de l’évaluation de la politique, ces variables prédéfinies sont remplacées par leurs valeurs correspondantes. Supposons que vous organisiez votre compartiment comme un ensemble de dossiers, avec un dossier pour chacun de vos utilisateurs. Le nom de dossier est le même que le nom d’utilisateur. Pour octroyer aux utilisateurs des autorisations à leurs dossiers, vous pouvez spécifier une variable de stratégie dans l’ARN de la ressource :

arn:aws:s3:::bucket_name/developers/${aws:username}/

Lors de l’exécution, quand la politique est évaluée, la variable ${aws:username} dans l’ARN de la ressource est remplacée par le nom de l’utilisateur effectuant la demande.

Exemples de politiques pour Amazon S3

Clés de condition de politique pour Amazon S3

Prend en charge les clés de condition de politique spécifiques au service : oui

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.

L’élément Condition (ou le bloc Condition) vous permet de spécifier des conditions lorsqu’une instruction est appliquée. L’élément Condition est facultatif. Vous pouvez créer des expressions conditionnelles qui utilisent des opérateurs de condition, tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande.

Si vous spécifiez plusieurs éléments Condition dans une instruction, ou plusieurs clés dans un seul élément Condition, AWS les évalue à l’aide d’une opération AND logique. Si vous spécifiez plusieurs valeurs pour une seule clé de condition, AWS évalue la condition à l'aide d'une OR opération logique. Toutes les conditions doivent être remplies avant que les autorisations associées à l’instruction ne soient accordées.

Vous pouvez aussi utiliser des variables d’espace réservé quand vous spécifiez des conditions. Par exemple, vous pouvez accorder à un utilisateur IAM l’autorisation d’accéder à une ressource uniquement si elle est balisée avec son nom d’utilisateur IAM. Pour plus d’informations, consultez Éléments d’une politique IAM : variables et identifications dans le Guide de l’utilisateur IAM.

AWS prend en charge les clés de condition globales et les clés de condition spécifiques au service. Pour voir toutes les clés de condition AWS globales, voir les clés de contexte de condition AWS globales dans le guide de l'utilisateur IAM.

Chaque clé de condition Amazon S3 est mappée à l’en-tête de demande du même nom autorisé par l’API sur lequel la condition peut être définie. Les clés de condition spécifiques à Amazon S3 dictent le comportement des en-têtes de demande du même nom. Par exemple, la clé de condition s3:VersionId utilisée pour octroyer l’autorisation conditionnelle pour s3:GetObjectVersion définit le comportement du paramètre de requête versionId que vous définissez dans une demande GET Object.

Pour afficher la liste des clés de condition Amazon S3, consultez Clés de condition pour Amazon S3 dans la Référence de l’autorisation de service. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, consultez Actions définies par Amazon S3.

Exemple : Restreindre les chargements aux objets avec une classe de stockage spécifique

Supposons que le compte A, représenté par l’ID de compte 123456789012, possède un compartiment. L’administrateur du compte A souhaite restreindre Daveun utilisateur du compte A, afin que Dave ne puisse charger des objets dans le compartiment que si l’objet est stocké dans la classe de stockage STANDARD_IA. Pour restreindre les chargements d’objets vers une classe de stockage spécifique, l’administrateur de compte A peut utiliser la clé de condition s3:x-amz-storage-class, comme illustré dans l’exemple de politique de compartiment suivant.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Dave" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*", "Condition": { "StringEquals": { "s3:x-amz-storage-class": [ "STANDARD_IA" ] } } } ] }

Dans l’exemple, le bloc Condition spécifie la condition StringEquals qui est appliquée à la paire clé-valeur spécifiée, "s3:x-amz-acl":["public-read"]. Un jeu de clés prédéfinis peut être utilisé pour exprimer une condition. L’exemple utilise la clé de condition s3:x-amz-acl. Cette condition exige que l’utilisateur inclue l’en-tête x-amz-acl avec la valeur public-read dans chaque demande PutObject.

Exemples de politiques pour Amazon S3

ACLs dans Amazon S3

Supports ACLs : Oui

Dans Amazon S3, les listes de contrôle d'accès (ACLs) contrôlent les Comptes AWS personnes autorisées à accéder à une ressource. ACLs sont similaires aux politiques basées sur les ressources, bien qu'elles n'utilisent pas le format de document de politique JSON.

Important

La majorité des cas d'utilisation modernes d'Amazon S3 ne nécessitent plus l'utilisation de ACLs.

Pour plus d'informations sur l'utilisation ACLs pour contrôler l'accès dans Amazon S3, consultezGérer l'accès avec ACLs.

ABAC avec Amazon S3

Prend en charge ABAC (identifications dans les politiques) : partiellement

Le contrôle d’accès par attributs (ABAC) est une stratégie d’autorisation qui définit des autorisations en fonction des attributs. Dans AWS, ces attributs sont appelés balises. Vous pouvez associer des balises aux entités IAM (utilisateurs ou rôles) et à de nombreuses AWS ressources. L’étiquetage des entités et des ressources est la première étape d’ABAC. Vous concevez ensuite des politiques ABAC pour autoriser des opérations quand l’identification du principal correspond à celle de la ressource à laquelle il tente d’accéder.

L’ABAC est utile dans les environnements qui connaissent une croissance rapide et pour les cas où la gestion des politiques devient fastidieuse.

Pour contrôler l’accès basé sur des étiquettes, vous devez fournir les informations d’étiquette dans l’élément de condition d’une politique utilisant les clés de condition aws:ResourceTag/key-name, aws:RequestTag/key-name ou aws:TagKeys.

Si un service prend en charge les trois clés de condition pour tous les types de ressources, alors la valeur pour ce service est Oui. Si un service prend en charge les trois clés de condition pour certains types de ressources uniquement, la valeur est Partielle.

Pour plus d’informations sur ABAC, consultez Définition d’autorisations avec l’autorisation ABAC dans le Guide de l’utilisateur IAM. Pour accéder à un didacticiel décrivant les étapes de configuration de l’ABAC, consultez Utilisation du contrôle d’accès par attributs (ABAC) dans le Guide de l’utilisateur IAM.

Pour obtenir des exemples de politiques basées sur l’identité permettant de limiter l’accès aux tâches des opérations par lot S3 en fonction des balises, consultez Contrôle des autorisations pour les opérations par lot à l’aide de balises de tâche.

ABAC et balises d’objet

Dans les politiques ABAC, les objets utilisent des balises s3: plutôt que des balises aws:. Pour contrôler l'accès aux objets en fonction des balises d'objets, vous devez fournir les informations relatives aux balises dans le Condition élément d'une politique utilisant les balises suivantes :

  • s3:ExistingObjectTag/tag-key

  • s3:RequestObjectTagKeys

  • s3:RequestObjectTag/tag-key

Pour plus d’informations sur l’utilisation de balises d’objet pour contrôler l’accès, y compris des exemples de politiques d’autorisation, consultez Stratégies de balisage et de contrôle d’accès.

Utilisation d’informations d’identification temporaires avec Amazon S3

Prend en charge les informations d’identification temporaires : oui

Certains Services AWS ne fonctionnent pas lorsque vous vous connectez à l'aide d'informations d'identification temporaires. Pour plus d'informations, y compris celles qui Services AWS fonctionnent avec des informations d'identification temporaires, consultez Services AWS la section relative à l'utilisation d'IAM dans le guide de l'utilisateur d'IAM.

Vous utilisez des informations d'identification temporaires si vous vous connectez à l' AWS Management Console aide d'une méthode autre qu'un nom d'utilisateur et un mot de passe. Par exemple, lorsque vous accédez à AWS l'aide du lien d'authentification unique (SSO) de votre entreprise, ce processus crée automatiquement des informations d'identification temporaires. Vous créez également automatiquement des informations d’identification temporaires lorsque vous vous connectez à la console en tant qu’utilisateur, puis changez de rôle. Pour plus d’informations sur le changement de rôle, consultez Passage d’un rôle utilisateur à un rôle IAM (console) dans le Guide de l’utilisateur IAM.

Vous pouvez créer manuellement des informations d'identification temporaires à l'aide de l' AWS API AWS CLI or. Vous pouvez ensuite utiliser ces informations d'identification temporaires pour y accéder AWS. AWS recommande de générer dynamiquement des informations d'identification temporaires au lieu d'utiliser des clés d'accès à long terme. Pour plus d’informations, consultez Informations d’identification de sécurité temporaires dans IAM.

Transmission des sessions d’accès pour Amazon S3

Prend en charge les sessions d’accès direct (FAS) : oui

Lorsque vous utilisez un utilisateur ou un rôle IAM pour effectuer des actions AWS, vous êtes considéré comme un mandant. Lorsque vous utilisez certains services, vous pouvez effectuer une action qui initie une autre action dans un autre service. FAS utilise les autorisations du principal appelant et Service AWS, associées Service AWS à la demande, pour adresser des demandes aux services en aval. Les demandes FAS ne sont effectuées que lorsqu'un service reçoit une demande qui nécessite des interactions avec d'autres personnes Services AWS ou des ressources pour être traitée. Dans ce cas, vous devez disposer d’autorisations nécessaires pour effectuer les deux actions. Pour plus de détails sur une politique lors de la formulation de demandes FAS, consultez Transmission des sessions d’accès.

Rôles de service pour Amazon S3

Prend en charge les rôles de service : oui

Un rôle de service est un rôle IAM qu’un service endosse pour accomplir des actions en votre nom. Un administrateur IAM peut créer, modifier et supprimer un rôle de service à partir d’IAM. Pour plus d’informations, consultez Création d’un rôle pour la délégation d’autorisations à un Service AWS dans le Guide de l’utilisateur IAM.

Avertissement

La modification des autorisations d’un rôle de service peut altérer la fonctionnalité d’Amazon S3. Ne modifiez des rôles de service que quand Amazon S3 vous le conseille.

Rôles liés à un service pour Amazon S3

Prend en charge les rôles liés à un service : partiellement

Un rôle lié à un service est un type de rôle de service lié à un. Service AWS Le service peut endosser le rôle afin d’effectuer une action en votre nom. Les rôles liés au service apparaissent dans votre Compte AWS fichier et appartiennent au service. Un administrateur IAM peut consulter, mais ne peut pas modifier, les autorisations concernant les rôles liés à un service.

Amazon S3 prend en charge les rôles liés au service pour Amazon S3 Storage Lens. Pour plus d’informations sur la création ou la gestion des rôles liés à un service Amazon S3, consultez Utilisation des rôles liés à un service pour Amazon S3 Storage Lens.

Service Amazon S3 en tant que principal

Nom du service dans la politique Fonctionnalité de S3 En savoir plus

s3.amazonaws.com

Réplication S3

Présentation de la configuration de la réplication en direct

s3.amazonaws.com

Notifications d’événements S3

Notifications d'événements Amazon S3

s3.amazonaws.com

Inventaire S3

Catalogage et analyse de vos données avec l’inventaire S3

access-grants.s3.amazonaws.com

Autorisations d’accès S3

Enregistrement d’un emplacement

batchoperations.s3.amazonaws.com

Opérations par lot S3

Octroi d’autorisations pour les opérations par lots

logging.s3.amazonaws.com

Journalisation des accès au serveur S3

Activation de la journalisation des accès au serveur Amazon S3

storage-lens.s3.amazonaws.com

S3 Storage Lens

Afficher les métriques Amazon S3 Storage Lens à l’aide d’une exportation de données

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.