Comment Amazon S3 autorise une demande pour une opération de compartiment - Amazon Simple Storage Service

Comment Amazon S3 autorise une demande pour une opération de compartiment

Lorsqu'Amazon S3 reçoit une demande d'opération de compartiment, Amazon S3 convertit toutes les autorisations pertinentes en un ensemble de stratégies à évaluer lors de l'exécution. Les autorisations pertinentes incluent les autorisations basées sur les ressources (par exemple, les stratégies de compartiment et les listes de contrôle d'accès des compartiments) et les stratégies utilisateur IAM si la demande provient d'un principal IAM. Amazon S3 évalue ensuite l'ensemble de stratégies obtenu au cours d'une série d'étapes conformément à un contexte spécifique : contexte d'utilisateur ou de compartiment.

  1. 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 compte parent attache au principal. Si le parent détient également la ressource de la demande (dans ce cas, le compartiment), Amazon S3 évalue également les stratégies de ressources correspondantes (stratégie de compartiment et liste ACL de compartiment) en même temps. Lorsqu'une demande pour une opération de compartiment est faite, les journaux d'accès au serveur enregistre l'ID canonique du demandeur. Pour de plus amples informations, veuillez consulter Enregistrement des demandes avec journalisation des accès au serveur.

  2. Contexte de compartiment – Le demandeur doit avoir l'autorisation du propriétaire du compartiment pour exécuter une opération de compartiment spécifique. Dans cette étape, Amazon S3 évalue un sous-ensemble de stratégies détenues par le Compte AWS propriétaire du compartiment.

    Le propriétaire du compartiment peut accorder l'autorisation grâce à la stratégie de compartiment ou la liste ACL de compartiment. Notez que le Compte AWS qui détient le compartiment est également le compte parent d'un principal IAM, il peut ensuite configurer les autorisations du compartiment dans une stratégie d'utilisateur.

Voici un schéma de l'évaluation basée sur le contexte pour les opérations de compartiment.

Les exemples suivants illustrent la logique d'évaluation.

Exemple 1 : Opération de compartiment demandée par le propriétaire du compartiment

Dans cet exemple, le propriétaire du compartiment envoie une demande pour une opération de compartiment grâce aux informations d'identification racine du Compte AWS.

Amazon S3 réalise l'évaluation du contexte comme suit :

  1. Étant donné que la demande a été faite grâce aux informations d'identification racine d'un Compte AWS, le contexte d'utilisateur n'est pas évalué.

  2. Dans le contexte de compartiment, Amazon S3 examine la stratégie de compartiment pour déterminer si le demandeur a l'autorisation d'exécuter l'opération. Amazon S3 autorise la demande.

Exemple 2 : Opération de compartiment demandée par un Compte AWS qui n'est pas le propriétaire du compartiment

Dans cet exemple, une demande est faite grâce aux informations d'identification racine du Compte AWS 1111-1111-1111 pour une opération de compartiment détenue par le Compte AWS 2222-2222-2222. Aucun utilisateur IAM n'est impliqué dans cette demande.

Dans ce cas, Amazon S3 évalue le contexte comme suit :

  1. Étant donné que la demande a été faite grâce aux informations d'identification racine d'un Compte AWS, le contexte d'utilisateur n'est pas évalué.

  2. Dans le contexte de compartiment, Amazon S3 examine la stratégie de compartiment. Si le propriétaire du compartiment (Compte AWS 2222-2222-2222) n'a pas autorisé le Compte AWS 1111-1111-1111 à exécuter l'opération demandée, Amazon S3 refuse la demande. Sinon, Amazon S3 accorde la demande et exécute l'opération.

Exemple 3 : Opération de compartiment demandée par un principal IAM dont le Compte AWS parent est également le propriétaire du compartiment

Dans l'exemple, la demande est envoyée par Jill, une utilisatrice IAM du Compte AWS 1111-1111-1111, qui détient également le compartiment.

Amazon S3 réalise l'évaluation suivante du contexte :

  1. Étant donné que la demande provient d'un principal IAM, dans le contexte d'utilisateur, Amazon S3 évalue toutes les stratégies qui appartiennent au Compte AWS parent pour déterminer si Jill a l'autorisation d'exécuter l'opération.

    Dans cet exemple, le Compte AWS parent 1111-1111-1111, auquel appartient le principal, est également le propriétaire du compartiment. Ainsi, outre la stratégie d'utilisateur, Amazon S3 évalue également la stratégie de compartiment et la liste ACL de compartiment dans le même contexte, car elles appartiennent au même compte.

  2. Amazon S3 a évalué la stratégie de compartiment et la liste ACL de compartiment dans le contexte d'utilisateur, il n'a dont pas évalué le contexte de compartiment.

Exemple 4 : Opération de compartiment demandée par un principal IAM dont le Compte AWS parent n'est pas le propriétaire du compartiment

Dans cet exemple, la demande est envoyée par Jill, une utilisatrice IAM dont le Compte AWS parent est 1111-1111-1111, mais le compartiment est détenu par un autre Compte AWS : 2222-2222-2222.

Jill a besoin des autorisations du Compte AWS parent et du propriétaire du compartiment. Amazon S3 évalue le contexte comme suit :

  1. Étant donné que la demande provient d'un principal IAM, Amazon S3 évalue le contexte d'utilisateur en examinant les stratégies autorisées par le compte pour vérifier que Jill possède les autorisations nécessaires. Si Jill a l'autorisation, Amazon S3 passe à l'évaluation du contexte de compartiment ; sinon, il refuse la demande.

  2. Dans le contexte de compartiment, Amazon S3 vérifie que le propriétaire du compartiment 2222-2222-2222 a autorisé Jill (ou son Compte AWS parent) à exécuter l'opération demandée. Si elle a l'autorisation, Amazon S3 accorde la demande et exécute l'opération ; sinon, il la refuse.