Uso de un informe de inventario para copiar objetos entre Cuentas de AWS - Amazon Simple Storage Service

Uso de un informe de inventario para copiar objetos entre Cuentas de AWS

Puede utilizar Operaciones por lotes de Amazon S3 para realizar operaciones por lotes a gran escala en objetos de Amazon S3. Puede utilizar Operaciones por lotes de S3 para crear un trabajo Copiar (CopyObject) para copiar objetos dentro de la misma cuenta o en otra cuenta de destino.

Puede utilizar el Inventario de Amazon S3 para crear un informe de inventario y utilizar este informe para crear una lista de objetos (manifiesto) para copiar con Operaciones por lotes de S3. Para obtener más información sobre cómo utilizar un manifiesto CSV en la cuenta de origen o destino, consulte Uso de un manifiesto CSV para copiar objetos entre Cuentas de AWS.

El inventario de Amazon S3 genera inventarios de los objetos de un bucket. La lista resultante se publica en un archivo saliente. El bucket cuyo inventario se crea se denomina bucket de origen y el bucket donde se almacena el archivo de informe de inventario se denomina bucket de destino.

Es posible configurar el informe de Amazon S3 Inventory para que se entregue a otra Cuenta de AWS. Esto permite a Operaciones por lotes de S3 leer el informe de inventario cuando se crea el trabajo en la cuenta de destino.

Para obtener más información sobre los buckets de origen y destino de inventario de Amazon S3, consulte Buckets de origen y destino.

La forma más sencilla de configurar un inventario es a través de la consola de Amazon S3, pero también puede utilizar la API de REST de Amazon S3, la AWS Command Line Interface (AWS CLI) o los SDK de AWS.

El siguiente procedimiento de la consola contiene los pasos de alto nivel para establecer permisos para un trabajo de Operaciones por lotes de S3. En este procedimiento se copian objetos de una cuenta de origen a una cuenta de destino, y el informe de inventario se almacena en la cuenta de destino.

Para configurar Amazon S3 Inventory para buckets de origen y destino pertenecientes a distintas cuentas
  1. Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En el panel de navegación izquierdo, elija Instancias.

  3. Elija (o cree) un bucket de manifiesto de destino en el que almacenar el informe de inventario. En este procedimiento, la cuenta de destino es la cuenta a la que pertenecen tanto el bucket de manifiestos de destino como el bucket en el que se copian los objetos.

  4. Configure un informe de inventario para un bucket de origen. Para obtener información acerca de cómo utilizar la consola para configurar un inventario o cómo cifrar un archivo de lista de inventario, consulte Configuración de Inventario de Amazon S3.

    Cuando configure el informe de inventario, especifique el bucket de destino donde quiera que se almacene la lista. El informe de inventario para el bucket de origen se publica en el bucket de destino. En este procedimiento, la cuenta de origen es la cuenta propietaria del bucket de origen.

    Elija CSV para el formato de salida.

    Cuando introduzca la información del bucket de destino, elija Buckets in another account (Los buckets de otra cuenta). A continuación, introduzca el nombre del bucket de manifiestos de destino. Si lo desea, puede introducir el ID de la cuenta de destino.

    Cuando se guarda la configuración de inventario, la consola muestra un mensaje similar al siguiente:

    Amazon S3 could not create a bucket policy on the destination bucket. Ask the destination bucket owner to add the following bucket policy to allow Amazon S3 to place data in that bucket (Amazon S3 no pudo crear una política de bucket en el bucket de destino. Pida al propietario del bucket de destino que añada la siguiente política de bucket para permitir que Amazon S3 coloque datos en ese bucket.

    A continuación, la consola muestra una política de bucket que se puede utilizar para el bucket de destino.

  5. Copie la política de bucket de destino que aparece en la consola.

  6. En la cuenta de destino, añada la política de bucket que ha copiado al bucket de manifiestos de destino donde se almacena el informe de inventario.

  7. En la cuenta de destino, cree un rol basado en la política de confianza de Operaciones por lotes de S3. Para obtener más información acerca de esta política de confianza, consulte Política de confianza.

    Para obtener más información sobre cómo crear un rol, consulte Crear un rol para delegar permisos a un Servicio de AWS en la Guía del usuario de IAM.

    Introduzca un nombre para el rol (el rol de ejemplo siguiente utiliza el nombre BatchOperationsDestinationRoleCOPY). Elija el servicio S3 y, a continuación, elija el caso de uso Operaciones por lotes de S3, que aplica la política de confianza al rol.

    A continuación, elija Create policy (Crear política) para asociar la política siguiente al rol. Para utilizar esta política, sustituya user input placeholders por su información.

    { "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/*" ] } ] }

    El rol utiliza la política para conceder permiso a batchoperations.s3.amazonaws.com para leer el manifiesto en el bucket de destino. También concede permisos para objetos GET, listas de control de acceso (ACL), etiquetas y versiones en el bucket de objetos de origen. Y concede permisos para objetos PUT, ACL, etiquetas y versiones en el bucket de objetos de destino.

  8. En la cuenta de origen, cree una política de bucket para el bucket de origen que otorgue al rol que creó en el paso anterior permisos a objetos GET, ACL, etiquetas y versiones en el bucket de origen. Este paso permite a Operaciones por lotes de S3 obtener objetos del bucket de origen a través del rol de confianza.

    A continuación, se muestra un ejemplo de política de bucket para la cuenta de origen. Para utilizar esta política, sustituya user input placeholders por su información.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsSourceObjectCOPY", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::DestinationAccountNumber: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. Una vez que el informe de inventario esté disponible, cree un trabajo Copiar (CopyObject) de Operaciones por lotes de S3 en la cuenta de destino y seleccione el informe de inventario en el bucket de manifiestos de destino. Necesita el ARN del rol de IAM que creó en la cuenta de destino.

    Para obtener información general acerca de cómo crear un trabajo, consulte Creación de trabajos de operaciones por lotes de S3.

    Para obtener información sobre cómo crear un trabajo mediante la consola, consulte Creación de trabajos de operaciones por lotes de S3.