Instructions d'utilisation des options de stratégie d'accès disponibles - Amazon Simple Storage Service

Ce guide ne fait plus l'objet de mises à jour. Pour obtenir des informations et des instructions actuelles, reportez-vous au nouveau Guide de l'utilisateur Amazon S3.

Instructions d'utilisation des options de stratégie d'accès disponibles

Amazon S3 prend en charge les stratégies basées sur les ressources et les stratégies d'utilisateur pour gérer l'accès à vos ressources Amazon S3 (veuillez consulter Gestion de l'accès aux ressources). Les stratégies basées sur les ressources comprennent les stratégies de compartiment, les listes ACL de compartiment 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. Les sections suivantes présentent les scénarios d'utilisation des listes ACL d'objets et de compartiment.

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

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

  • Si le compte AWS qui détient l'objet est également détenteur du compartiment, il peut alors définir une stratégie de compartiment pour gérer les autorisations d'objet.

  • Si le compte AWS qui détient l'objet veut accorder une autorisation à un utilisateur de son compte, il peut le faire par le biais d'une stratégie d'utilisateur.

Par conséquent, dans quel cas, utilisez-vous des listes ACL d'objets pour gérer les autorisations d'objet ? Ci-après, se trouvent les scénarios dans lesquels vous utilisez les listes ACL d'objets pour gérer les autorisations des objets.

  • Une liste ACL d'objets est l'unique moyen de gérer l'accès aux objets qui n'appartiennent pas au propriétaire du compartiment – Un compte AWS qui est propriétaire du compartiment peut accorder à un autre compte AWS l'autorisation de télécharger des objets. Le propriétaire du compartiment n'est pas le propriétaire de ces objets. Le compte AWS qui a créé l'objet doit accorder des autorisations à l'aide des listes ACL d'objets.

    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.

  • Les autorisations varient selon l'objet et vous devez gérer les autorisations au niveau de l'objet – Vous pouvez rédiger une déclaration de stratégie unique qui accorde une autorisation en lecture à un compte AWS sur des millions d'objets ayant un préfixe de nom de clé spécifique. A titre d'exemple, vous pouvez accorder des autorisations en lecture sur des objets avec le préfixe de nom de clé « journaux ». Néanmoins, si vos autorisations d'accès varient par objet, l'octroi des autorisations sur des objets individuels via 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, l'utilisation de listes ACL d'objets peut s'avérer être une bonne alternative. Toutefois, même une liste ACL d'objets est également limitée à un maximum de 100 autorisations (voir 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 seule stratégie de compartiment pour la totalité du compartiment, mais les listes ACL d'objets sont définies par objet.

    Un compte AWS qui détient un compartiment peut accorder à un autre compte AWS l'autorisation de gérer la stratégie d'accès. Il 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 WRITE et READ_ACP sur un sous-ensemble d'objets. Ainsi, le compte est limité à la gestion d'autorisations sur des objets spécifiques, par la mise à jour des listes ACL d'objets individuels.

Conditions d'utilisation d'une liste ACL de compartiment

Le seul cas d'utilisation recommandé pour la liste ACL de compartiment est d'accorder des autorisations d'écriture au groupe de livraison des journaux d'Amazon S3 afin de rédiger des objets journaux d'accès à votre compartiment (voir Journalisation des accès au serveur Amazon S3). Pour qu'Amazon S3 fournisse des journaux d'accès à votre compartiment, vous devez accorder une autorisation d'écriture au groupe de livraison des journaux sur le compartiment. Comme indiqué dans le fragment ACL du compartiment suivant, vous ne pouvez accorder les autorisations nécessaires au groupe de livraison des journaux que via la liste ACL de compartiment suivante.

<?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Owner> ... </Owner> <AccessControlList> <Grant> ... </Grant> <Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/s3/LogDelivery</URI> </Grantee> <Permission>WRITE</Permission> </Grant> </AccessControlList> </AccessControlPolicy>

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

Si un compte AWS qui détient un compartiment veut accorder une autorisation à des utilisateurs sur son compte, il doit utiliser une stratégie de compartiment ou une stratégie d'utilisateur. Mais dans les scénarios suivants, vous devrez utiliser une stratégie de compartiment.

  • Vous voulez gérer des autorisations inter-comptes pour toutes les autorisations Amazon S3 – Vous pouvez utiliser des listes ACL pour accorder des autorisations inter-comptes à d'autres comptes, mais les listes ACL prennent uniquement en charge un ensemble limité d'autorisations (Quelles autorisations puis-je accorder ?) qui ne comprend pas toutes les autorisations d'Amazon S3. A titre d'exemple, vous ne pouvez pas accorder d'autorisations sur des sous-ressources de compartiment (voir Identity and Access Management dans Amazon S3) à l'aide d'une liste ACL.

    Bien que les stratégies de compartiment et d'utilisateur permettent, toutes deux, d'accorder des autorisations pour toutes les opérations Amazon S3 (voir Actions Amazon S3), ce sont les stratégies d'utilisateur qui gèrent les autorisations utilisateurs dans 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 des autorisations individuellement en associant des stratégies à des utilisateurs (ou à des groupes d'utilisateurs), ou vous pouvez constater que des stratégies basées sur les ressources comme la stratégie de compartiment sont plus performantes dans le cadre de votre scénario.

Notez qu'AWS Identity and Access Management (IAM) vous permet de créer différents utilisateurs dans votre compte AWS et de gérer leurs autorisations via les stratégies d'utilisateur. Un utilisateur IAM doit avoir des autorisations du compte parent auquel il appartient et du compte AWS qui est 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 comparable à un enfant qui veut s'amuser avec un jouet qui appartient à un autre. Dans ce cas, l'enfant doit obtenir l'autorisation d'un parent pour jouer avec le jouet visé, ainsi que celle du propriétaire du jouet.

Délégation d'autorisations

Si un compte AWS détient une ressource, il peut accorder ces autorisations à un autre 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 Présentation de la gestion de l'accès aux ressources Amazon S3. Vous pourrez ensuite consulter les rubriques suivantes pour plus d'informations sur les options de stratégie d'accès spécifiques.