Comment Amazon S3 autorise une demande pour une opération sur les objets
Lorsqu’Amazon S3 reçoit une demande pour une opération d’objet, il convertit toutes les autorisations pertinentes, comme les autorisations basées sur les ressources (liste de contrôle d’accès d’objet, stratégie de compartiment, liste de contrôle d’accès (ACL) de compartiment) et les stratégies d’utilisateur IAM, en un ensemble de stratégies à évaluer au moment de l’exécution. Ensuite, il évalue l’ensemble de stratégies obtenu au cours d’une série d’étapes. Dans chaque étape, il évalue un sous-ensemble de politiques dans trois contextes spécifiques : contexte de l’utilisateur, du compartiment et de l’objet.
-
Contexte d’utilisateur – Si le demandeur est un principal IAM, ce dernier doit avoir l’autorisation du Compte AWS parent auquel il appartient. Dans cette étape, Amazon S3 évalue un sous-ensemble de stratégies détenues par le compte parent (également appelé autorité du contexte). Ce sous-ensemble de stratégies inclut la stratégie d’utilisateur que le parent attache au principal. Si le parent possède également la ressource de la demande (compartiment ou objet), Amazon S3 évalue les politiques de ressources correspondantes (stratégie de compartiment, liste ACL de compartiment et liste ACL d’objet) en même temps.
Note
Si le Compte AWS parent détient la ressource (compartiment ou objet), il peut accorder l’autorisation à son principal IAM grâce à la stratégie d’utilisateur ou de ressource.
-
Contexte de compartiment – Dans ce contexte, Amazon S3 évalue les stratégies détenues par le Compte AWS propriétaire du compartiment.
Si le Compte AWS qui détient l’objet dans la demande est différent du propriétaire du compartiment, Amazon S3 vérifie les politiques pour déterminer si le propriétaire du compartiment a refusé explicitement l’accès à cet objet. Si un refus explicite est configuré sur l’objet, Amazon S3 n’autorise pas la demande.
-
Contexte d’objet – Le demandeur doit avoir l’autorisation du propriétaire de l’objet pour exécuter une opération d’objet spécifique. Dans cette étape, Amazon S3 évalue la liste ACL d’objet.
Note
Si les propriétaires du compartiment et de l’objet sont les mêmes, l’accès à l’objet peut être autorisé dans la stratégie de compartiment, qui est évaluée dans le contexte de compartiment. Si les propriétaires sont différents, les propriétaires de l’objet doivent utiliser une liste ACL d’objet pour accorder les autorisations. Si le Compte AWS qui détient l’objet est également le compte parent auquel appartient le principal IAM, il peut configurer des autorisations d’objet dans une stratégie d’utilisateur, qui est évaluée dans le contexte d’utilisateur. Pour en savoir plus sur l’utilisation de ces alternatives de stratégie d’accès, consultez Procédures détaillées qui utilisent des politiques pour gérer l’accès à vos ressources Amazon S3.
Si, en tant que propriétaire du compartiment, vous souhaitez posséder tous les objets de votre compartiment et utiliser des stratégies de compartiment ou des politiques basées sur IAM pour gérer l’accès à ces objets, vous pouvez appliquer le paramètre Propriétaire du compartiment appliqué pour la propriété de l’objet. Avec ce paramètre, en tant que propriétaire du compartiment, vous possédez automatiquement tous les objets de votre compartiment et avez le contrôle total sur chaque objet présents dans votre compartiment. Les listes ACL de compartiment et d’objet ne peuvent pas être modifiées et ne sont plus prises en compte pour y accéder. Pour plus d’informations, consultez Consultez Contrôle de la propriété des objets et désactivation des listes ACL pour votre compartiment.
Voici un schéma de l’évaluation basée sur le contexte pour les opérations d’objet.
Exemple de demande d’opération d’objet
Dans cet exemple, l’utilisatrice IAM Jill, dont le Compte AWS parent est 1111-1111-1111, envoie une demande d’opération d’objet (par exemple, GetObject) pour un objet détenu par le Compte AWS 3333-3333-3333 dans un compartiment détenu par le Compte AWS 2222-2222-2222.
Jill a besoin de l’autorisation du Compte AWS parent, du propriétaire du compartiment et du propriétaire de l’objet. Amazon S3 évalue le contexte comme suit :
-
Étant donné que la demande provient d’un principal IAM, Amazon S3 évalue le contexte d’utilisateur pour vérifier que le Compte AWS parent 1111-1111-1111 a autorisé Jill à exécuter l’opération demandée. Si Jill a l’autorisation, Amazon S3 évalue le contexte de compartiment. Sinon, Amazon S3 refuse la demande.
-
Dans le contexte de compartiment, le propriétaire du compartiment, le Compte AWS 2222-2222-2222, est l’autorité du contexte. Amazon S3 évalue la stratégie de compartiment pour déterminer si le propriétaire du compartiment a explicitement refusé que Jill accède à l’objet.
-
Dans le contexte de l’objet, l’autorité du contexte est le Compte AWS 3333-3333-3333, le propriétaire de l’objet. Amazon S3 évalue la liste ACL d’objet pour déterminer si Jill a l’autorisation d’accéder à l’objet. Si oui, Amazon S3 autorise la demande.