Uso de un manifiesto CSV 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 un manifiesto CSV almacenado en la cuenta de origen para copiar objetos entre Cuentas de AWS con Operaciones por lotes de Amazon S3. Para usar un informe de inventario de S3 como manifiesto, consulte Uso de un informe de inventario para copiar objetos entre Cuentas de AWS.
Para ver un ejemplo del formato CSV de los archivos de manifiesto, consulte Creación de un archivo de manifiesto.
En el siguiente procedimiento, se muestra cómo configurar los permisos cuando se utiliza un trabajo de Operaciones por lotes de Amazon 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.
Uso de un manifiesto CSV para copiar objetos entre Cuentas de AWS
-
Cree un rol de AWS Identity and Access Management (IAM) en la cuenta de destino que se base 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 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.
Si crea el rol utilizando la consola, introduzca un nombre para el rol (el rol de ejemplo utiliza el nombre
). 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.BatchOperationsDestinationRoleCOPY
A continuación, elija Create policy (Crear política) para asociar la política siguiente al rol. Para utilizar esta política, sustituya
por su información.user input placeholders
{ "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
/*" ] } ] }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 para objetosGET
, listas de control de acceso (ACL), etiquetas y versiones en el bucket de objetos de origen. También concede permisos para objetosPUT
, ACL, etiquetas y versiones en el bucket de objetos de destino. -
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 objetos
GET
y versiones en el bucket de manifiesto de origen.Este paso permite a Operaciones por lotes de Amazon 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. Para utilizar esta política, sustituya
por su información.user input placeholders
{ "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:::amzn-s3-demo-manifest-bucket
/*" } ] }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.
-
En la cuenta de origen, cree una política de bucket para el bucket de origen que conceda al rol que creó permisos para objetos
GET
, ACL, etiquetas y versiones en el bucket de objetos 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. Para utilizar esta política, sustituya
por su información.user input placeholders
{ "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
/*" } ] } -
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 más información acerca de la creación de un trabajo, consulte Creación de trabajos de operaciones por lotes de S3.