Concesión de permisos para Operaciones por lotes
Antes de crear y ejecutar trabajos de operaciones por lotes de S3, debe conceder los permisos necesarios. Para crear un trabajo de operaciones por lotes de Amazon S3 se requiere el permiso del usuario s3:CreateJob. La misma entidad que crea el trabajo también debe tener el permiso iam:PassRole para transferir el rol de AWS Identity and Access Management (IAM) especificado para el trabajo a Operaciones por lotes.
En las siguientes secciones se proporciona información sobre cómo crear un rol de IAM y cómo adjuntar las políticas. Para obtener información general acerca de cómo especificar recursos de IAM, consulte Elementos de la política de JSON de IAM: Recurso en la Guía del usuario de IAM.
Creación de un rol de IAM de Operaciones por lotes de S3
Amazon S3 debe tener permisos para poder realizar operaciones por lotes de S3 en su nombre. Estos permisos se conceden a través de un rol de AWS Identity and Access Management (IAM). Al crear un trabajo de operaciones por lotes de S3, se especifica el rol de IAM que desea que el trabajo utilice. Puede ser un rol de IAM existente. O, si utiliza la consola de Amazon S3 para crear el trabajo, puede ser un rol de IAM que Amazon S3 cree para usted.
Si decide dejar que Amazon S3 cree el rol de IAM de manera automática, este creará y asociará políticas de confianza y permisos al rol de manera automática. La política de confianza permite que la entidad principal del servicio de las operaciones por lotes de S3 (batchoperations.s3.amazonaws.com) pueda asumir el rol. La política de permisos permite realizar todas las acciones necesarias para ejecutar el trabajo, en función de la configuración que especifique para el trabajo. Por ejemplo, si configura un trabajo para copiar objetos de un bucket a otro de la Cuenta de AWS, la política de permisos permite acciones como s3:GetObject y s3:PutObject. Puede revisar las políticas de confianza y permisos del rol antes de enviar el trabajo. Esta opción solo está disponible si utiliza la consola de Amazon S3 para crear un trabajo y configura el trabajo para que utilice una lista de objetos generada por S3 que utilice filtros o se base en una configuración de replicación. Tras enviar el trabajo, el rol de IAM permanecerá en la cuenta. A continuación, puede volver a utilizarla para trabajos posteriores que realicen la misma operación o eliminarla cuando la tarea termine de ejecutarse.
Si prefiere crear el rol de IAM manualmente, los ejemplos de políticas de esta sección pueden ayudarlo a crear el rol. Para obtener más información acerca de la creación y la configuración de roles, consulte Roles de IAM en la Guía del usuario de IAM. Para obtener información sobre los permisos para las operaciones de la API de S3 por tipo de recurso de S3, consulte Permisos necesarios para las operaciones de la API de Amazon S3. Para ver otros ejemplos, consulte Control de permisos para Operaciones por lotes mediante etiquetas de trabajo y Copia de objetos mediante operaciones por lotes de S3.
En las políticas de IAM también puede utilizar claves de condición para filtrar permisos de acceso para trabajos de Operaciones por lotes de S3. Para obtener más información y una lista completa de las claves de condición específicas de Amazon S3, consulte Acciones, recursos y claves de condición para Amazon S3 en la Referencia de autorización de servicios.
En el siguiente vídeo, se muestra cómo configurar permisos de IAM para trabajos de operaciones por lotes mediante la Consola de administración de AWS.
Política de confianza
Para que la entidad principal del servicio Operaciones por lotes de S3 pueda asumir el rol de IAM debe asociar al rol la siguiente política de confianza.
Adjunción de políticas de permisos
En función del tipo de operaciones, puede asociar una de estas políticas.
Antes de configurar los permisos, tenga en cuenta lo siguiente:
-
Con independencia de la operación que realice, Amazon S3 necesita permisos para leer el objeto del manifiesto del bucket de S3 y, de forma opcional, escribir un informe en el bucket. Por lo tanto, todas las políticas que se indican a continuación contienen estos permisos.
-
Para los manifiestos de informes de Amazon S3 Inventory, S3 Batch Operations requiere permiso para leer el objeto manifest.json y todos los archivos de datos CSV asociados.
-
Los permisos específicos de las versiones como
s3:GetObjectVersionsolo son obligatorios cuando especifica el ID de la versión de los objetos. -
Si ejecuta la herramienta de operaciones por lotes de S3 en objetos cifrados, el rol de IAM también debe tener acceso a las claves de AWS KMS utilizadas para cifrarlos.
-
Si envía un manifiesto de informe de inventario cifrado con AWS KMS, la política de IAM debe incluir los permisos
"kms:Decrypt"y"kms:GenerateDataKey"para el objeto manifest.json y todos los archivos de datos CSV asociados. Si el trabajo de Operaciones por lotes genera un manifiesto en un bucket que tiene las listas de control de acceso (ACL) habilitadas y se encuentra en una Cuenta de AWS diferente, debe conceder el permiso
s3:PutObjectAclen la política de IAM del rol de IAM configurado para el trabajo por lotes. Si no incluye este permiso, el trabajo por lotes no se realiza y genera el errorError occurred when preparing manifest: Failed to write manifest.
Copia de objetos: PutObject
Sustitución del etiquetado de objetos: PutObjectTagging
Eliminación del etiquetado de objetos: DeleteObjectTagging
Sustitución de la lista de control de acceso: PutObjectAcl
Restauración de objetos: RestoreObject
Aplicación de retención de Bloqueo de objetos: PutObjectRetention
Aplicación de retención legal de Bloqueo de objetos: PutObjectLegalHold
Replicación de objetos existentes: InitiateReplication con un manifiesto generado por S3
Utilice esta política si utiliza y almacena un manifiesto generado por S3. Para obtener más información sobre cómo utilizar Operaciones por lotes para replicar objetos existentes, consulte Replicación de objetos existentes con Replicación por lotes.
Replicación de objetos existentes: InitiateReplication con un manifiesto del usuario
Utilice esta política si utiliza un manifiesto proporcionado por el usuario. Para obtener más información sobre cómo utilizar Operaciones por lotes para replicar objetos existentes, consulte Replicación de objetos existentes con Replicación por lotes.
Calcular la suma de comprobación: permita GetObject, GetObjectVersion, RestoreObject y PutObject
Utilice esta política si intenta utilizar la operación Calcular la suma de comprobación con operaciones por lotes de S3. Los permisos para GetObject, GetObjectVersion y RestoreObject son necesarios para obtener y leer los bytes de los datos almacenados. Reemplace los marcadores de posición de entrada del usuario por información propia. Para obtener más información acerca de Calcular la suma de comprobación, consulte Comprobación de la integridad de objetos para datos en reposo en Amazon S3.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:RestoreObject" ], "Resource": [ "arn:aws:s3:::/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*" ] }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket2/*" ] } ] }amzn-s3-demo-bucket3