Configurer les autorisations - Amazon Simple Storage Service

Configurer les autorisations

Lors de la configuration de la réplication, vous devez obtenir les autorisations nécessaires, comme suit :

  • Simple Storage Service (Amazon S3) a besoin d'autorisations pour répliquer des objets en votre nom. Vous accordez ces autorisations en créant un rôle IAM, puis en spécifiant ce rôle dans votre configuration de réplication.

  • Lorsque les compartiments source et de destination n'appartiennent pas aux mêmes comptes, le propriétaire du compartiment de destination doit accorder au propriétaire du compartiment source les autorisations adéquates pour stocker les réplicas.

Création d'un rôle IAM

Par défaut, toutes les ressources Simple Storage Service (Amazon S3) (compartiments, objets et sous-ressources liées) sont privées : seul le propriétaire des ressources peut y accéder. Simple Storage Service (Amazon S3) a besoin d'autorisations pour lire et répliquer les objets du compartiment source. Vous accordez ces autorisations en créant un rôle IAM et en spécifiant ce rôle dans votre configuration de réplication.

Cette section décrit la stratégie d'approbation et la stratégie d'autorisation minimale requise. Les exemples de procédure fournissent des instructions étape par étape pour créer un rôle IAM. Pour plus d'informations, consultez Procédures : exemples de configuration de la réplication.

  • L'exemple suivant illustre une politique d'approbation selon laquelle vous identifiez Simple Storage Service (Amazon S3) en tant que principal de service capable d'endosser le rôle.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }

    Pour de plus amples informations sur les rôles IAM, consultez Rôles IAM dans le Guide de l'utilisateur IAM.

  • L'exemple suivant illustre une stratégie d'accès selon laquelle vous accordez au rôle les autorisations lui permettant d'effectuer les tâches de réplication en votre nom. Quand Simple Storage Service (Amazon S3) endosse le rôle, il dispose des autorisations que vous avez spécifiées dans cette stratégie. Dans cette politique, DOC-EXAMPLE-BUCKET1 est le compartiment source et DOC-EXAMPLE-BUCKET2, le compartiment de destination.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*" } ] }

    La stratégie d'accès octroie les autorisations pour les actions suivantes :

    • s3:GetReplicationConfiguration et s3:ListBucket –Les autorisations d'exécuter ces actions sur le compartiment DOC-EXAMPLE-BUCKET1 (compartiment source) permettent à Amazon S3 de récupérer la configuration de réplication et de répertorier le contenu du compartiment. (Le modèle d'autorisations actuel nécessite l'autorisation s3:ListBucket pour accéder aux marqueurs de suppression.)

    • s3:GetObjectVersionForReplication et s3:GetObjectVersionAcl – Les autorisations d'effectuer ces actions accordées sur tous les objets permettent à Simple Storage Service (Amazon S3) d'obtenir une version d'objet particulière et la liste de contrôle d'accès (ACL) associée aux objets.

    • s3:ReplicateObject et s3:ReplicateDelete – Les autorisations d'exécuter ces actions sur tous les objets du compartiment DOC-EXAMPLE-BUCKET2 (compartiment cible) permettent à Amazon S3 de répliquer des objets ou des marqueurs de suppression dans le compartiment de destination. Pour de plus amples informations sur les marqueurs de suppression, consultez Impact des opérations de suppression sur la réplication.

      Note

      Les autorisations d'exécuter l'action s3:ReplicateObject sur le compartiment DOC-EXAMPLE-BUCKET2 (compartiment de destination) permettent également de répliquer les balises d'objets. Il est donc inutile d'accorder explicitement l'autorisation d'exécuter l'action s3:ReplicateTags.

    • s3:GetObjectVersionTagging – Les autorisations d'exécuter cette action sur des objets du compartiment DOC-EXAMPLE-BUCKET1 (compartiment source) permettent à Amazon S3 de lire les balises d'objets pour la réplication. Pour plus d'informations, consultez Catégorisation de votre stockage à l'aide de balises. Si Simple Storage Service (Amazon S3) ne dispose pas de ces autorisations, il réplique les objets mais pas leurs balises.

    Pour une liste des actions d'Amazon S3, consultez Actions Amazon S3.

    Important

    Le Compte AWS qui possède le rôle IAM doit avoir des autorisations pour les actions qu'il octroie au rôle IAM.

    Supposons, par exemple, que le compartiment source contient des objets détenus par un autre Compte AWS. Le propriétaire des objets doit accorder de manière explicite au Compte AWS qui possède le rôle IAM les autorisations requises par l'intermédiaire de la liste ACL des objets. Dans le cas contraire, Amazon S3 ne peut pas accéder aux objets et la réplication des objets échoue. Pour de plus amples informations sur les autorisations ACL, consultez Présentation de la liste de contrôle d'accès (ACL).

    Les autorisations décrites dans la présente section sont liées à la configuration de réplication minimale. Si vous choisissez d'ajouter des configurations de réplication facultatives, vous devez accorder des autorisations supplémentaires à Simple Storage Service (Amazon S3). Pour plus d'informations, consultez Configurations de réplication supplémentaires.

Octroi d'autorisations lorsque les compartiments source et destination appartiennent à différents Comptes AWS

Lorsque les compartiments source et de destination n'appartiennent pas aux mêmes comptes, le propriétaire du compartiment de destination doit également ajouter une politique de compartiment pour accorder au propriétaire du compartiment source les autorisations adéquates pour effectuer des actions de réplication, comme suit : Dans cette politique, DOC-EXAMPLE-BUCKET2 est le compartiment de destination.

{ "Version":"2012-10-17", "Id":"PolicyForDestinationBucket", "Statement":[ { "Sid":"Permissions on objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action":[ "s3:ReplicateDelete", "s3:ReplicateObject" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*" }, { "Sid":"Permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action": [ "s3:List*", "s3:GetBucketVersioning", "s3:PutBucketVersioning" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET2" } ] }

Pour voir un exemple, consultez Configuration d'une réplication quand les compartiments source et de destination appartiennent à des comptes distincts.

Si des objets stockés dans le compartiment source sont balisés, notez les points suivants :

  • Si le propriétaire du compartiment source octroie à Amazon S3 l'autorisation d'effectuer les actions s3:GetObjectVersionTagging et s3:ReplicateTags en vue de répliquer des balises d'objets (via le rôle IAM), Amazon S3 réplique les balises en même temps que les objets. Pour obtenir des informations sur le rôle IAM, consultez Création d'un rôle IAM.

  • Si le propriétaire du compartiment de destination ne souhaite pas répliquer les balises, il peut ajouter l'instruction suivante à la stratégie du compartiment de destination en vue de lui refuser explicitement l'autorisation d'exécuter l'action s3:ReplicateTags. Dans cette politique, DOC-EXAMPLE-BUCKET2 est le compartiment de destination.

    ... "Statement":[ { "Effect":"Deny", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-account-id:role/service-role/source-account-IAM-role" }, "Action":"s3:ReplicateTags", "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*" } ] ...

Modification du propriétaire d'un réplica

Lorsque différents Comptes AWS détiennent les compartiments source et de destination, vous pouvez indiquer à Simple Storage Service (Amazon S3) de remplacer le propriétaire d'un réplica par le Compte AWS qui possède le compartiment de destination. Pour plus d'informations sur l'option de substitution du propriétaire, consultez Modification du propriétaire d'un réplica.

Activer la réception d'objets répliqués à partir d'un compartiment source

Vous pouvez rapidement générer les politiques nécessaires pour permettre la réception d'objets répliqués à partir d'un compartiment source via la AWS Management Console.

  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le panneau de navigation de gauche, choisissez Compartiments.

  3. Dans la liste Buckets (Compartiments), choisissez le compartiment que vous souhaitez utiliser comme compartiment de destination.

  4. Choisissez l'onglet Management (Gestion), puis faites défiler jusqu'à Replication rules (Règles de réplication).

  5. Pour Actions, choisissez Receive replicated objects (Recevoir des objets répliqués).

    Suivez les instructions et saisissez l'ID de Compte AWS du compartiment source et choisissez Generate policies (Générer des stratégies). Cela générera une politique de compartiment Amazon S3 et une politique de clé KMS.

  6. Pour ajouter cette politique à votre politique de compartiment existante, choisissez Apply settings (Appliquer les paramètres) ou Copy (Copier) pour copier manuellement les modifications.

  7. (Facultatif) Copiez la politique AWS KMS dans la politique de clé KMS souhaitée sur la console AWS Key Management Service.