Uso de un manifiesto CSV almacenado en la cuenta de origen para copiar objetos entre Cuentas de AWS - Amazon Simple Storage Service

Uso de un manifiesto CSV almacenado en la cuenta de origen para copiar objetos entre Cuentas de AWS

Puede utilizar un archivo CSV almacenado en otra Cuenta de AWS como manifiesto para un trabajo de la herramienta de operaciones por lotes de S3. Para utilizar un informe de inventario de S3, consulte Uso de un informe de inventario entregado a la cuenta de destino para copiar objetos entre Cuentas de AWS.

En el siguiente procedimiento, se muestra cómo configurar los permisos cuando se utiliza un trabajo de Operaciones por lotes de S3 para copiar objetos desde una cuenta de origen a una cuenta de destino con el archivo de manifiesto CSV almacenado en la cuenta de origen.

Para configurar un archivo de manifiesto CSV almacenado en otra Cuenta de AWS
  1. En la cuenta de destino, cree un rol basado en la política de confianza de Operaciones por lotes de S3. En este procedimiento, la cuenta de destino es la cuenta en la que se copian los objetos.

    Para obtener más información acerca de la política de confianza, consulte Política de confianza.

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

    Si crea el rol utilizando la consola, introduzca un nombre para el rol (el rol de ejemplo utiliza el nombre BatchOperationsDestinationRoleCOPY). Elija el servicio S3 y, a continuación, elija el caso de uso S3 bucket Batch Operations (Operaciones por lotes de bucket 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.

    { "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:::ObjectDestinationBucket/*", "arn:aws:s3:::ObjectSourceBucket/*", "arn:aws:s3:::ObjectSourceManifestBucket/*" ] } ] }

    Mediante la política, el rol concede permiso a batchoperations.s3.amazonaws.com para leer el manifiesto en el bucket de manifiestos de origen. Concede permisos GET para objetos, ACL, etiquetas y versiones en el bucket de objetos de origen. También concede permisos PUT para objetos, ACL, etiquetas y versiones en el bucket de objetos de destino.

  2. En la cuenta de origen, cree una política de bucket para el bucket que contenga el manifiesto para conceder el rol que creó en el paso anterior para obtener (GET) objetos y versiones en el bucket de manifiestos de origen.

    Este paso permite a Operaciones por lotes de S3 leer el manifiesto utilizando el rol de confianza. Aplique la política de bucket al bucket que contiene el manifiesto.

    A continuación, se muestra un ejemplo de política de bucket que puede aplicarse al bucket de manifiestos de origen.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBatchOperationsSourceManfiestRead", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::DestinationAccountNumber:user/ConsoleUserCreatingJob", "arn:aws:iam::DestinationAccountNumber:role/BatchOperationsDestinationRoleCOPY" ] }, "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::ObjectSourceManifestBucket/*" } ] }

    Esta política también concede permisos para permitir a un usuario de la consola que esté creando un trabajo en la cuenta de destino los mismos permisos en el bucket de manifiestos de origen a través de la misma política de bucket.

  3. En la cuenta de origen, cree una política de bucket para el bucket de origen que otorgue el rol que creó para obtener objetos GET, ACL, etiquetas y versiones en el bucket de origen. Operaciones por lotes de S3 puede, entonces, 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 el bucket que contiene los objetos de origen.

    { "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:::ObjectSourceBucket/*" } ] }
  4. Cree un trabajo de Operaciones por lotes de S3 en la cuenta de destino. Necesita el nombre de recurso de Amazon (ARN) para el rol que ha creado 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 acerca de cómo crear un trabajo mediante la consola, consulte Creación de trabajos de operaciones por lotes de S3.