Utilisation d’un rapport d’inventaire pour copier des objets dans des Comptes AWS - Amazon Simple Storage Service

Utilisation d’un rapport d’inventaire pour copier des objets dans des Comptes AWS

Vous pouvez utiliser Amazon S3 Batch Operations pour effectuer des opérations par lot à grande échelle au niveau d’objets Amazon S3. Vous pouvez utiliser S3 Batch Operations pour créer une tâche de copie (CopyObject) dans le but de copier des objets dans un même compte ou dans un autre compte de destination.

Vous pouvez utiliser Amazon S3 Inventory pour créer un rapport d’inventaire, et utiliser ce rapport pour créer une liste, ou un manifeste, des objets à copier avec S3 Batch Operations. Pour de plus amples informations sur l’utilisation d’un manifeste CSV dans le compte source ou de destination, consultez Utilisation d’un manifeste CSV pour copier des objets dans des Comptes AWS.

Amazon S3 Inventory génère des inventaires des objets dans un compartiment. La liste générée est publiée dans un fichier de sortie. Le compartiment qui est inventorié est appelé le compartiment source et le compartiment où le fichier de rapport d’inventaire est stocké est appelé le compartiment de destination.

Vous pouvez configurer le rapport Amazon S3 Inventory de façon à ce qu’il soit livré à un autre Compte AWS. Cela permet à S3 Batch Operations de lire le rapport d’inventaire lorsque la tâche a été créée dans le compte de destination.

Pour de plus amples informations sur les compartiments sources et de destination d’Amazon S3 Inventory, consultez Compartiments source et de destination.

Le moyen le plus simple de configurer un inventaire consiste à utiliser la console Amazon S3, mais vous pouvez également utiliser l’API REST Amazon S3, l’AWS Command Line Interface (AWS CLI) ou les kits AWS SDK.

La procédure de console suivante contient les étapes de haut niveau permettant de configurer des autorisations pour une tâche S3 Batch Operations. Dans cette procédure, vous copiez des objets d’un compte source vers un compte de destination, avec le rapport d’inventaire stocké dans le compte de destination.

Pour configurer Amazon S3 Inventory pour des compartiments source et de destination détenus par des comptes différents
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/.

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

  3. Définissez (ou créez) un compartiment de manifeste de destination dans lequel stocker le rapport d’inventaire. Dans cette procédure, le compte de destination est le compte qui possède à la fois le compartiment de manifeste de destination et le compartiment où les objets sont copiés.

  4. Configurez un rapport d’inventaire pour un compartiment source. Pour plus d’informations sur l’utilisation de la console pour configurer un inventaire ou sur le chiffrement d’un fichier de liste d’inventaire, consultez Configuration d’Amazon S3 Inventory.

    Lorsque vous configurez un rapport d’inventaire, vous spécifiez le compartiment de destination dans lequel vous souhaitez stocker la liste. Le rapport d’inventaire pour le compartiment source est publié dans le compartiment de destination. Dans cette procédure, le compte source est le compte qui possède le compartiment source.

    Choisissez CSV comme format de sortie.

    Lorsque vous saisissez des informations pour le compartiment de destination, choisissez Compartiments d’un autre compte. Ensuite, saisissez le nom du compartiment de manifeste de destination. Éventuellement, vous pouvez saisir l’ID du compte de destination.

    Une fois que la configuration d’inventaire a été enregistrée, la console affiche un message similaire au message suivant :

    Amazon S3 n’a pas pu créer une stratégie sur le compartiment de destination. Demandez au propriétaire du compartiment de destination d’ajouter la stratégie de compartiment suivante pour permettre à Amazon S3 d’ajouter des données dans ce compartiment.

    Ensuite, la console affiche une stratégie de compartiment que vous pouvez utiliser pour le compartiment de destination.

  5. Copiez la stratégie de compartiment de destination qui apparaît sur la console.

  6. Dans le compte de destination, ajoutez la stratégie de compartiment copiée dans le compartiment de manifeste de destination où le rapport d’inventaire est stocké.

  7. Créez un rôle dans le compte de destination basé sur la stratégie d’approbation S3 Batch Operations. Pour plus d’informations sur la politique d’approbation, consultez Stratégie d’approbation.

    Pour plus d’informations sur la création d’un rôle, consultez Création d’un rôle pour la délégation d’autorisations à un Service AWS dans le Guide de l’utilisateur IAM.

    Saisissez un nom pour le rôle (l’exemple de rôle suivant utilise le nom BatchOperationsDestinationRoleCOPY). Choisissez le service S3, puis choisissez le cas d’utilisation Opérations par lot S3, lequel appliquera la politique d’approbation au rôle.

    Ensuite, choisissez Create policy (Créer une stratégie) pour attacher la stratégie suivante au rôle. Pour utiliser cette stratégie, remplacez user input placeholders par vos propres informations.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsDestinationObjectCOPY", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectVersionAcl", "s3:PutObjectAcl", "s3:PutObjectVersionTagging", "s3:PutObjectTagging", "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket/*", "arn:aws:s3:::amzn-s3-demo-source-bucket/*", "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*" ] } ] }

    Le rôle utilise la stratégie pour autoriser batchoperations.s3.amazonaws.com à lire le manifeste dans le compartiment de destination. Il octroie également des autorisations pour obtenir (GET) des objets, des listes de contrôle d’accès (ACL), des balises et des versions dans le compartiment d’objet source. Enfin, il octroie des autorisations pour placer (PUT) des objets, des listes de contrôle d’accès (ACL), des balises et des versions dans le compartiment d’objet de destination.

  8. Dans le compte source, créez une politique pour le compartiment source, qui octroie au rôle créé à l’étape précédente l’autorisation d’obtenir (GET) des objets, des listes de contrôle d’accès, des balises et des versions dans le compartiment source. Cette étape permet à S3 Batch Operations de récupérer des objets du compartiment source au moyen du rôle approuvé.

    Vous trouverez, ci-après, un exemple de stratégie de compartiment pour le compte source. Pour utiliser cette stratégie, remplacez user input placeholders par vos propres informations.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsSourceObjectCOPY", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/BatchOperationsDestinationRoleCOPY" }, "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectTagging", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*" } ] }
  9. Une fois le rapport d’inventaire disponible, créez une tâche S3 Batch Operations Copier (CopyObject) dans le compte de destination, en choisissant le rapport d’inventaire dans le compartiment du manifeste de destination. Vous aurez besoin de l’ARN du rôle IAM que vous avez créé dans le compte de destination.

    Pour obtenir des informations générales sur la création d’une tâche, consultez Création d’une tâche S3 Batch Operations.

    Pour plus d’informations sur la création d’une tâche à l’aide de la console, consultez Création d’une tâche S3 Batch Operations.