Consignes relatives à la stratégie d'accès - 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.

Consignes relatives à la stratégie d'accès

Amazon S3 supporte les stratégies basées sur les ressources et les stratégies d'utilisateur pour gérer l'accès à vos ressources Amazon S3. Pour plus d’informations, consultez Gestion de l’accès aux ressources. Les stratégies basées sur les ressources comprennent les stratégies de compartiment, les listes de contrôle d'accès de compartiment (ACL) et les listes ACL d'objets. Cette section décrit les scénarios d'utilisation spécifiques des stratégies d'accès basées sur les ressources pour gérer l'accès à vos ressources Amazon S3.

Condition d'utilisation d'une stratégie d'accès basée sur les listes ACL (listes ACL de compartiment et d'objets)

Les compartiments et les objets ont des listes ACL associées que vous pouvez utiliser pour accorder des autorisations.

La propriété d'objets S3 est un paramètre Amazon S3 au niveau des compartiments que vous pouvez utiliser pour contrôler la propriété des objets qui sont chargés dans votre compartiment, ainsi que pour désactiver ou activer les listes ACL. Par défaut, la propriété des objets est définie sur le paramètre Propriétaire du compartiment appliqué et toutes les listes ACL sont désactivées. Lorsque les listes ACL sont désactivées, le propriétaire du compartiment détient tous les objets du compartiment et gère leur accès exclusivement au moyen de politiques de gestion des accès.

La majorité des cas d'utilisation modernes dans Amazon S3 ne nécessitent plus l'utilisation des listes ACL. Nous vous recommandons de maintenir les listes ACL désactivées, sauf dans des circonstances inhabituelles où vous devez contrôler l'accès individuellement pour chaque objet. Lorsque les listes ACL sont désactivées, vous pouvez utiliser des politiques pour contrôler l'accès à tous les objets de votre compartiment, quelle que soit la personne qui les a chargés dans votre compartiment. Pour plus d’informations, consultez Consultez Contrôle de la propriété des objets et désactivation des listes ACL pour votre compartiment.

Important

Si votre compartiment utilise le paramètre Propriétaire du compartiment appliqué pour la propriété des objets S3, vous devez utiliser des politiques pour accorder l’accès à votre compartiment et aux objets qu’il contient. Quand le paramètre Propriétaire du compartiment appliqué est activé, les demandes de définition des listes de contrôle d’accès (ACL) ou des listes ACL de mise à jour échouent et renvoient le code d’erreur AccessControlListNotSupported. Les demandes de lecture de listes ACL sont toujours prises en charge.

Conditions d'utilisation d'une liste ACL d'objets

Ci-après, se trouvent les scénarios dans lesquels vous utiliseriez les listes ACL d'objets pour gérer les autorisations.

Les objets ne sont pas détenus par le propriétaire du compartiment

Une liste ACL d'objets est le seul moyen de gérer l'accès aux objets qui ne sont pas détenus par le propriétaire du compartiment. Le propriétaire du bucket peut accorder une autre Compte AWS autorisation pour télécharger des objets. Compte AWS Le propriétaire du compartiment n'est pas le propriétaire de ces objets. Celui Compte AWS qui a créé l'objet doit accorder des autorisations à l'aide des ACL de l'objet.

Note

Un propriétaire de compartiment peut accorder des autorisations sur des objets dont il n'est pas propriétaire. A titre d'exemple, une stratégie de compartiment accordant des autorisations d'objet s'applique uniquement aux objets appartenant au propriétaire du compartiment. Toutefois, le propriétaire du compartiment, celui qui paie les factures, peut définir une stratégie de compartiment pour refuser l'accès aux objets du compartiment, quel que soit le propriétaire des objets. Le propriétaire du compartiment peut également supprimer tout objet du compartiment.

Vous devez gérer les autorisations au niveau de l'objet

Supposons que les autorisations varient selon l'objet et que vous devez gérer les autorisations au niveau de l'objet. Vous pouvez écrire une déclaration de stratégie unique octroyant à un Compte AWS l'autorisation de lecture sur des millions d'objets ayant un préfixe de nom de clé spécifique. A titre d'exemple, vous pouvez octroyer des autorisations en lecture sur des objets avec le préfixe de nom de clé logs. Néanmoins, si vos autorisations d'accès varient par objet, l'octroi des autorisations sur des objets individuels à l'aide d'une stratégie de compartiment peut s'avérer peu pratique. De même, la taille des stratégies de compartiment sont limitées à 20 Ko.

Dans ce cas, vous pouvez trouver l'utilisation des listes ACL d'objets comme une bonne alternative. Toutefois, même une liste ACL d'objets est également limitée à un maximum de 100 autorisations. Pour plus d’informations, consultez Présentation de la liste de contrôle d'accès (ACL).

Les listes ACL d'objets contrôlent uniquement les autorisations au niveau de l'objet

Il y a une stratégie de compartiment pour le compartiment dans son intégralité, mais les listes ACL d'objets sont définies par objet.

Celui Compte AWS qui possède un bucket peut accorder une autre Compte AWS autorisation pour gérer une politique d'accès. Cela permet au compte de faire des modifications dans la stratégie. Afin de mieux gérer les autorisations, vous pouvez choisir de ne pas donner une autorisation si étendue, mais plutôt de n'accorder que des autorisations READ-ACP et WRITE-ACP sur un sous-ensemble d'objets à un autre compte. Ainsi, le compte est limité à la gestion d'autorisations sur des objets spécifiques, par la mise à jour des listes ACL d'objets individuels.

Si vous souhaitez utiliser des ACL pour gérer les autorisations au niveau de l'objet et que vous souhaitez également posséder de nouveaux objets écrits dans votre compartiment, vous pouvez appliquer le paramètre préféré par le propriétaire du compartiment pour la propriété d'objet. Un compartiment avec le paramètre préféré par le propriétaire du compartiment continue d'accepter et d'honorer les listes ACL de compartiment et d'objet. Avec ce paramètre, de nouveaux objets écrits avec la liste ACL bucket-owner-full-control prédéfinie sera automatiquement détenue par le propriétaire du compartiment plutôt que par l'auteur d'objets. Tous les autres comportements ACL restent en place. Pour exiger que toutes les opérations PUT Amazon S3 incluent la liste ACL bucket-owner-full-control prédéfinie, vous pouvez ajouter une politique de compartiment qui n'autorise que les chargements d'objets à l'aide de cette ACL.

Alternatives à l'utilisation des ACL

Hormis la liste ACL d'objets, un propriétaire d'objet dispose de moyens supplémentaires pour gérer les autorisations d'objet :

  • Si le Compte AWS propriétaire de l'objet possède également le compartiment, il peut rédiger une politique de compartiment pour gérer les autorisations de l'objet.

  • Si Compte AWS le propriétaire de l'objet souhaite autoriser un utilisateur à accéder à son compte, il peut utiliser une politique utilisateur.

  • Si, en tant que propriétaire du compartiment, vous souhaitez posséder automatiquement tous les objets de votre compartiment et en avoir le contrôle total, vous pouvez appliquer le paramètre appliqué par le propriétaire du compartiment pour Object Ownership (Propriété de l'objet) afin de désactiver les listes ACL. Par conséquent, le contrôle des accès à vos données est basé sur des stratégies. Pour plus d’informations, consultez Consultez Contrôle de la propriété des objets et désactivation des listes ACL pour votre compartiment.

Conditions d'utilisation d'une liste ACL de compartiment

Le seul cas d'utilisation recommandé pour les ACL de bucket est d'accorder des autorisations à certaines personnes, Services AWS comme le CloudFront awslogsdelivery compte Amazon. Lorsque vous créez ou mettez à jour une distribution et que vous activez la CloudFront journalisation, CloudFront met à jour l'ACL du bucket pour autoriser le awslogsdelivery compte FULL_CONTROL à écrire des journaux dans votre bucket. Pour plus d'informations, consultez la section Autorisations requises pour configurer la journalisation standard et pour accéder à vos fichiers journaux dans le manuel Amazon CloudFront Developer Guide. Si le compartiment qui stocke les journaux utilise le paramètre imposé par le propriétaire du compartiment pour S3 Object Ownership afin de désactiver les ACL, il CloudFront ne peut pas écrire de journaux dans le compartiment. Pour plus d’informations, consultez Consultez Contrôle de la propriété des objets et désactivation des listes ACL pour votre compartiment.

Conditions d'utilisation d'une stratégie de compartiment

Si un propriétaire Compte AWS d'un bucket souhaite autoriser les utilisateurs à accéder à son compte, il peut utiliser une politique de bucket ou une politique utilisateur. Cependant, dans les scénarios suivants, vous devrez utiliser une stratégie de compartiment.

Vous souhaitez gérer les autorisations inter-comptes pour toutes les autorisations Amazon S3

Vous pouvez utiliser les listes ACL pour octroyer des autorisations inter-comptes à d'autres comptes. Mais les listes ACL ne supportent qu'un ensemble limité d'autorisations, et celles-ci n'incluent pas toutes les autorisations Amazon S3. Pour plus d'informations, voir Quelles autorisations puis-je octroyer ? Par exemple, vous ne pouvez pas octroyer des autorisations sur les sous-ressources du compartiment. Pour plus d’informations, consultez Identity and Access Management dans Amazon S3.

Les stratégies de compartiment et d'utilisateur supportent l'octroi d'autorisations pour toutes les opérations Amazon S3. (Pour plus d’informations, consultez Actions politiques d'Amazon S3.) Toutefois, les stratégies utilisateur servent à gérer les autorisations pour les utilisateurs de votre compte. Pour accorder des autorisations inter-comptes à d'autres Comptes AWS ou à des utilisateurs d'un autre compte, vous devez utiliser une stratégie de compartiment.

Conditions d'utilisation d'une stratégie d'utilisateur

En général, une stratégie d'utilisateur ou une stratégie de compartiment vous permettent de gérer les autorisations. Vous pouvez choisir de gérer les autorisations en créant des utilisateurs et en gérant les autorisations individuellement en associant des stratégies aux utilisateurs (ou aux groupes d'utilisateurs). Vous pouvez également constater que les stratégies basées sur les ressources, telles qu'une stratégie de compartiment, fonctionnent mieux pour votre scénario.

Avec AWS Identity and Access Management (IAM), vous pouvez créer plusieurs utilisateurs au sein de votre entreprise Compte AWS et gérer leurs autorisations par le biais de politiques utilisateur. Un utilisateur IAM doit disposer d'autorisations provenant du compte parent auquel il appartient et du Compte AWS compte propriétaire de la ressource à laquelle il souhaite accéder. Les autorisations peuvent être accordées comme suit :

  • Autorisation du compte parent – Le compte parent peut accorder des autorisations à son utilisateur en associant une stratégie d'utilisateur.

  • Autorisation du propriétaire de la ressource – Le propriétaire de la ressource peut accorder une autorisation à l'utilisateur IAM (via une stratégie de compartiment) ou au compte parent (via une stratégie de compartiment, une liste ACL de compartiment ou une liste ACL d'objets).

Cela est similaire au cas d'un enfant qui veut s'amuser avec un jouet qui appartient à un autre. Afin de jouer avec le jouet, l'enfant doit obtenir l'autorisation d'un parent ainsi que celle du propriétaire du jouet.

Pour plus d’informations, consultez Stratégies de compartiment et stratégies d'utilisateur.

Délégation d'autorisations

Si une personne Compte AWS possède une ressource, elle peut accorder ces autorisations à une autre personne Compte AWS. Ce compte peut alors déléguer à ces utilisateurs, l'ensemble de ces autorisations ou un sous-ensemble de celles-ci. Cela s'appelle une délégation d'autorisations. Cependant, un compte qui reçoit des autorisations d'un autre compte ne peut pas déléguer cette autorisation inter-comptes à un autre Compte AWS.

Nous vous recommandons tout d'abord d'examiner toutes les rubriques de présentation qui expliquent comment gérer l'accès à vos ressources Amazon S3 et aux instructions correspondantes. Pour plus d’informations, consultez Identity and Access Management dans Amazon S3. Vous pourrez ensuite consulter les rubriques suivantes pour plus d'informations sur les options de stratégie d'accès spécifiques.