

# Controlar el acceso y etiquetar trabajos usando etiquetas
<a name="batch-ops-job-tags"></a>

Para etiquetar y controlar el acceso a los trabajos de Operaciones por lotes de S3, puede añadir *etiquetas*. Las etiquetas se pueden utilizar para identificar quién es el responsable de un trabajo de Operaciones por lotes. La presencia de etiquetas de trabajo puede conceder o limitar la capacidad de un usuario para cancelar un trabajo, activar un trabajo en estado de confirmación o cambiar el nivel de prioridad de un trabajo. Puede crear trabajos con etiquetas asociadas a ellos y agregar etiquetas a los trabajos después de que se hayan creado. Cada etiqueta es un par clave-valor que se puede incluir al crear el trabajo o se puede actualizar más tarde.

**aviso**  
Asegúrese de que las etiquetas de trabajo no contengan información confidencial ni datos personales.

Piense en el siguiente ejemplo de etiquetado: suponga que quiere que su departamento de Finanzas cree un trabajo de Operaciones por lotes. Puede escribir una política de AWS Identity and Access Management (IAM) que permita a un usuario invocar `Finance`, dado que se ha creado el trabajo con la etiqueta `CreateJob` asignada al valor `Department`. Además, puede añadir esa política a todos los usuarios que sean miembros del departamento de Finanzas.

Siguiendo con este ejemplo, se podría escribir una política que permita a los usuarios actualizar la prioridad de cualquier trabajo que tenga las etiquetas deseadas, o cancelar cualquier trabajo con esas etiquetas. Para obtener más información, consulte [Control de permisos para Operaciones por lotes mediante etiquetas de trabajo](batch-ops-job-tags-examples.md).

Puede añadir etiquetas a los nuevos trabajos de Operaciones por lotes de S3 cuando los cree, o puede añadírselas a trabajos ya existentes. 

Tenga en cuenta las siguientes restricciones de las etiquetas:
+ Puede asociar hasta 50 etiquetas a un trabajo siempre que tengan claves de etiqueta únicas.
+ Una clave de etiqueta puede tener una longitud de hasta 128 caracteres Unicode y los valores de etiqueta pueden tener una longitud de hasta 256 caracteres Unicode.
+ La clave y los valores distinguen entre mayúsculas y minúsculas.

Para obtener más información sobre las restricciones de las etiquetas, consulte [Restricciones de las etiquetas definidas por el usuario](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) en la *Guía del usuario de Administración de facturación y costos de AWS*.

## Operaciones de API relacionadas con el etiquetado de trabajos de Operaciones por lotes de S3
<a name="batch-ops-job-tags-api"></a>

Amazon S3 admite las siguientes operaciones de API específicas al etiquetado de trabajos de Operaciones por lotes de S3:
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) – devuelve el conjunto de etiquetas asociado a un trabajo de Operaciones por lotes. 
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) – sustituye el conjunto de etiquetas asociado a un trabajo. Hay dos situaciones diferentes en la administración de etiquetas de trabajos de Operaciones por lotes de S3 con esta acción de la API:
  + El trabajo no tiene etiquetas: puede añadir un conjunto de etiquetas a un trabajo (el trabajo no tiene etiquetas anteriores).
  + El trabajo tiene un conjunto de etiquetas existente: para modificar el conjunto de etiquetas existente, puede sustituirlo todo o realizar cambios en él recuperándolo mediante [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html), modificar el conjunto de etiquetas y usar esta acción de la API para sustituir el conjunto de etiquetas con el que ha modificado.
**nota**  
Si envía esta solicitud con un conjunto de etiquetas vacío, Operaciones por lotes de S3 elimina el conjunto de etiquetas existente en el objeto. Si utiliza este método, se le cobrará por una solicitud de nivel 1 (`PUT`). Para obtener más información, consulte [Precios de Amazon S3](https://aws.amazon.com/s3/pricing).  
Para eliminar etiquetas existentes para su trabajo de Operaciones por lotes, se prefiere la acción `DeleteJobTagging`, ya que logra el mismo resultado sin incurrir en cargos.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) – elimina el conjunto de etiquetas asociado a un trabajo de Operaciones por lotes. 

# Creación de un trabajo de Operaciones por lotes con etiquetas de trabajo como etiquetado
<a name="batch-ops-tags-create"></a>

Puede etiquetar y controlar el acceso a los trabajos de Operaciones por lotes de Amazon S3 añadiendo *etiquetas*. Las etiquetas se pueden utilizar para identificar quién es el responsable de un trabajo de Operaciones por lotes. Puede crear trabajos con etiquetas asociadas a ellos y agregar etiquetas a los trabajos después de que se hayan creado. Para obtener más información, consulte [Controlar el acceso y etiquetar trabajos usando etiquetas](batch-ops-job-tags.md).

## Mediante AWS CLI
<a name="batch-ops-example-cli-job-tags-create-job"></a>

En el siguiente ejemplo de la AWS CLI, se crea un trabajo de `S3PutObjectCopy` de la herramienta de operaciones por lotes de S3 mediante el uso de etiquetas de trabajo como marca de trabajo. 

1. Seleccione la acción o el valor `OPERATION` que quiera que realice el trabajo de Operaciones por lotes y seleccione el valor `TargetResource`.

   ```
   read -d '' OPERATION <<EOF
   {
     "S3PutObjectCopy": {
       "TargetResource": "arn:aws:s3:::amzn-s3-demo-destination-bucket"
     }
   }
   EOF
   ```

1. Identifique la tarea `TAGS` que quiera para el trabajo. En este caso, se aplican dos etiquetas, `department` y `FiscalYear`, con los valores `Marketing` y `2020` respectivamente.

   ```
   read -d '' TAGS <<EOF
   [
     {
       "Key": "department",
       "Value": "Marketing"
     },
     {
       "Key": "FiscalYear",
       "Value": "2020"
     }
   ]
   EOF
   ```

1. Especifique el valor `MANIFEST` para el trabajo de Operaciones por lotes.

   ```
   read -d '' MANIFEST <<EOF
   {
     "Spec": {
       "Format": "EXAMPLE_S3BatchOperations_CSV_20180820",
       "Fields": [
         "Bucket",
         "Key"
       ]
     },
     "Location": {
       "ObjectArn": "arn:aws:s3:::amzn-s3-demo-manifest-bucket/example_manifest.csv",
       "ETag": "example-5dc7a8bfb90808fc5d546218"
     }
   }
   EOF
   ```

1. Configure el valor `REPORT` para el trabajo de Operaciones por lotes.

   ```
   read -d '' REPORT <<EOF
   {
     "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket",
     "Format": "Example_Report_CSV_20180820",
     "Enabled": true,
     "Prefix": "reports/copy-with-replace-metadata",
     "ReportScope": "AllTasks"
   }
   EOF
   ```

1. Ejecute la acción `create-job` para crear su trabajo de Operaciones por lotes con los datos de entrada establecidos en los pasos previos.

   ```
   aws \
       s3control create-job \
       --account-id 123456789012 \
       --manifest "${MANIFEST//$'\n'}" \
       --operation "${OPERATION//$'\n'/}" \
       --report "${REPORT//$'\n'}" \
       --priority 10 \
       --role-arn arn:aws:iam::123456789012:role/batch-operations-role \
       --tags "${TAGS//$'\n'/}" \
       --client-request-token "$(uuidgen)" \
       --region us-west-2 \
       --description "Copy with Replace Metadata";
   ```

## Uso de AWS SDK para Java
<a name="batch-ops-examples-java-job-with-tags-create"></a>

Para crear un trabajo de operaciones por lotes de S3 con etiquetas mediante el AWS SDK para Java, puede usar el cliente de S3Control para configurar los parámetros del trabajo, incluida la ubicación del manifiesto, las operaciones del trabajo, la configuración de informes y las etiquetas con fines de organización y seguimiento.

Para ver ejemplos de cómo crear trabajos de operaciones por lotes de S3 con etiquetas mediante el AWS SDK para Java, consulte [Crear un trabajo por lotes para copiar objetos](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html) en la *Referencia de la API de Amazon S3*.

# Eliminación de las etiquetas de un trabajo de Operaciones por lotes de S3
<a name="delete-job-tags"></a>

Puede utilizar estos ejemplos para eliminar las etiquetas de un trabajo de Operaciones por lotes de Amazon S3.

## Uso de AWS CLI
<a name="batch-ops-example-cli-job-tags-delete-job-tagging"></a>

En el siguiente ejemplo, se eliminan las etiquetas de un trabajo de la herramienta de operaciones por lotes mediante la AWS CLI.

```
aws \
    s3control delete-job-tagging \
    --account-id 123456789012 \
    --job-id Example-e25a-4ed2-8bee-7f8ed7fc2f1c \
    --region us-east-1
```

## Eliminación de las etiquetas de trabajo de un trabajo de Operaciones por lotes
<a name="batch-ops-examples-java-job-with-tags-delete"></a>

Para eliminar las etiquetas de un trabajo de operaciones por lotes de S3 mediante el AWS SDK para Java, puede usar el cliente de S3Control con el ID del trabajo para eliminar todas las etiquetas asociadas al trabajo de operaciones por lotes.

Para ver ejemplos de cómo eliminar etiquetas de trabajos con el AWS SDK para Java, consulte [Eliminar etiquetas de un trabajo por lotes](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_DeleteJobTagging_section.html) en la *Referencia de la API de Amazon S3*.

# Adición de etiquetas de trabajo en un trabajo de Operaciones por lotes existente
<a name="put-job-tags"></a>

Puede utilizar la operación [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) de la API para añadir etiquetas de trabajo a los trabajos de Operaciones por lotes de Amazon S3 existentes. Para obtener más información, consulte los ejemplos siguientes.

## Uso de AWS CLI
<a name="batch-ops-example-cli-job-tags-put-job-tagging"></a>

A continuación, se muestra un ejemplo de cómo utilizar `s3control put-job-tagging` para añadir etiquetas de trabajo a un trabajo de Operaciones por lotes de S3 mediante la AWS CLI. Para utilizar los ejemplos, sustituya *`user input placeholders`* por su propia información.

**nota**  
Si envía esta solicitud con un conjunto de etiquetas vacío, Operaciones por lotes elimina el conjunto de etiquetas existente en el objeto. Además, si utiliza este método, se le cobra por una solicitud de nivel 1 (`PUT`). Para obtener más información, consulte [Precios de Amazon S3](https://aws.amazon.com/s3/pricing).  
En lugar de ello, para eliminar etiquetas existentes para su trabajo de Operaciones por lotes, recomendamos la operación `DeleteJobTagging`, ya que logra el mismo resultado sin incurrir en cargos.

1. Identifique la tarea `TAGS` que quiera para el trabajo. En este caso, se aplican dos etiquetas, `department` y `FiscalYear`, con los valores `Marketing` y `2020` respectivamente.

   ```
   read -d '' TAGS <<EOF
   [
     {
       "Key": "department",
       "Value": "Marketing"
     },
     {
       "Key": "FiscalYear",
       "Value": "2020"
     }
   ]
   EOF
   ```

1. Ejecute el siguiente comando `put-job-tagging` con los parámetros necesarios:

   ```
   aws \
       s3control put-job-tagging \
       --account-id 123456789012 \
       --tags "${TAGS//$'\n'/}" \
       --job-id Example-e25a-4ed2-8bee-7f8ed7fc2f1c \
       --region us-east-1
   ```

## Uso de AWS SDK para Java
<a name="batch-ops-examples-java-job-with-tags-put"></a>

Para colocar etiquetas en un trabajo de operaciones por lotes de S3 mediante el AWS SDK para Java, puede utilizar el cliente de S3Control para agregar o actualizar etiquetas con pares clave-valor con fines de organización y seguimiento.

Para ver ejemplos de cómo poner etiquetas de trabajos con el AWS SDK para Java, consulte [Agregar etiquetas a un trabajo por lotes](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_PutJobTagging_section.html) en la *Referencia de la API de Amazon S3*.

# Obtención de las etiquetas de un trabajo de Operaciones por lotes de S3
<a name="get-job-tags"></a>

Para recuperar las etiquetas de un trabajo de Operaciones por lotes de Amazon S3, puede utilizar la operación `GetJobTagging` de la API. Para obtener más información, consulte los ejemplos siguientes.

## Mediante AWS CLI
<a name="batch-ops-example-cli-job-tags-get-job-tagging"></a>

En el siguiente ejemplo, se obtienen las etiquetas de un trabajo de la herramienta de operaciones por lotes mediante la AWS CLI. Para utilizar este ejemplo, sustituya *`user input placeholders`* por su propia información.

```
aws \
    s3control get-job-tagging \
    --account-id 123456789012 \
    --job-id Example-e25a-4ed2-8bee-7f8ed7fc2f1c \
    --region us-east-1
```

## Uso de AWS SDK para Java
<a name="batch-ops-examples-java-job-with-tags-get"></a>

Para obtener las etiquetas de un trabajo de operaciones por lotes de S3 mediante el AWS SDK para Java, puede usar el cliente de S3Control con el ID del trabajo para recuperar todas las etiquetas asociadas al trabajo de operaciones por lotes y devolverlas como una lista.

Para ver ejemplos de cómo obtener etiquetas de trabajos con el AWS SDK para Java, consulte [Obtener etiquetas de un trabajo por lotes](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_GetJobTagging_section.html) en la *Referencia de la API de Amazon S3*.

# Control de permisos para Operaciones por lotes mediante etiquetas de trabajo
<a name="batch-ops-job-tags-examples"></a>

Para ayudarle a administrar sus trabajos de Operaciones por lotes de Amazon S3, puede agregar *etiquetas de trabajo*. Las etiquetas de trabajo le permiten controlar el acceso a sus trabajos de Operaciones por lotes y hacer que las etiquetas se apliquen cuando se cree un trabajo. 

Puede aplicar hasta 50 etiquetas de trabajo a cada trabajo de Operaciones por lotes. Al usar etiquetas, puede establecer políticas pormenorizadas que restringen el conjunto de usuarios que pueden editar el trabajo. Las etiquetas de trabajo pueden conceder o limitar la capacidad de un usuario para cancelar un trabajo, activar un trabajo en estado de confirmación o cambiar el nivel de prioridad de un trabajo. Además, puede exigir que las etiquetas se apliquen a todos los trabajos nuevos y especificar los pares clave-valor permitidos para las etiquetas. Puede expresar todas estas condiciones utilizando el mismo [lenguaje de política de AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). Para obtener más información, consulte [Actions, resources, and condition keys for Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) en la *Referencia de autorización de servicios*.

Para obtener más información sobre los permisos para las operaciones de la API de S3 por tipos de recursos de S3, consulte [Permisos necesarios para las operaciones de la API de Amazon S3](using-with-s3-policy-actions.md).

En el ejemplo siguiente se muestra cómo puede utilizar etiquetas de trabajo de Operaciones por lotes de S3 para conceder a los usuarios permiso para crear y editar solo los trabajos que se ejecutan en un departamento específico (por ejemplo: el departamento Finanzas o Conformidad). También puede asignar trabajos en función de la etapa de desarrollo con la que están relacionados, como Control de calidad o Producción.

En este ejemplo, se utilizan etiquetas de trabajo de Operaciones por lotes de S3 en las políticas de IAM con el fin de conceder a los usuarios permiso para crear y editar solo los trabajos que se ejecutan en su departamento. Los trabajos se asignan en función de la etapa de desarrollo con la que están relacionados, como Control de calidad o Producción. 

En los siguientes ejemplos, se utilizan los siguientes departamentos, cada uno de los cuales usa Operaciones por lotes de distinta forma:
+ Finanzas
+ Conformidad
+ Inteligencia de negocio
+ Diseño

**Topics**
+ [Control del acceso mediante la asignación de etiquetas a usuarios y recursos](#job-tags-examples-attaching-tags)
+ [Etiquetado de trabajos de Operaciones por lotes por etapa y aplicación de límites a la prioridad del trabajo](#tagging-jobs-by-stage-and-enforcing-limits-on-job-priority)

## Control del acceso mediante la asignación de etiquetas a usuarios y recursos
<a name="job-tags-examples-attaching-tags"></a>

En este escenario, los administradores están utilizando el [control de acceso basado en atributos (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html). ABAC es una estrategia de autorización de IAM que define los permisos adjuntando etiquetas a los usuarios y a los recursos de AWS.

A los usuarios y los trabajos se les asigna una de las siguientes etiquetas de departamento:

**Clave : valor**
+ `department : Finance`
+ `department : Compliance`
+ `department : BusinessIntelligence`
+ `department : Engineering`
**nota**  
Las claves y los valores de las etiquetas de trabajo distinguen entre mayúsculas y minúsculas.

Mediante la estrategia de control de acceso de ABAC, se concede a un usuario del departamento de Finanzas permiso para crear y administrar trabajos de Operaciones por lotes de S3 en el departamento al asociar la etiqueta `department=Finance` con el usuario.

Además, puede adjuntar una política administrada al usuario de IAM que permita a cualquier usuario de su empresa crear o modificar trabajos de Operaciones por lotes de S3 dentro de sus respectivos departamentos. 

La política de este ejemplo incluye tres instrucciones de políticas:
+ La primera instrucción de la política permite al usuario crear un trabajo de Operaciones por lotes siempre que la solicitud de creación de trabajo incluya una etiqueta de trabajo que coincida con su departamento respectivo. Esto se expresa utilizando la sintaxis `"${aws:PrincipalTag/department}"`, que se reemplaza por la etiqueta de departamento del usuario en el momento de la evaluación de políticas. La condición se cumple cuando el valor proporcionado para la etiqueta de departamento en la solicitud `("aws:RequestTag/department")` coincide con el departamento del usuario. 
+ La segunda instrucción de la política permite a los usuarios cambiar la prioridad de los trabajos o actualizar el estado de un trabajo siempre que el trabajo que está actualizando coincida con el departamento del usuario. 
+ La tercera instrucción permite a un usuario actualizar las etiquetas de un trabajo de Operaciones por lotes en cualquier momento a través de una solicitud `PutJobTagging`, siempre y cuando (1) se conserve su etiqueta de departamento y (2) el trabajo que esté actualizando se incluya en su departamento. 

------
#### [ JSON ]

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [
            {
                  "Effect": "Allow",
                  "Action": "s3:CreateJob",
                  "Resource": "*",
                  "Condition": {
                        "StringEquals": {
                              "aws:RequestTag/department": "${aws:PrincipalTag/department}"        
                }      
            }    
        },
            {
                  "Effect": "Allow",
                  "Action": [
                        "s3:UpdateJobPriority",
                        "s3:UpdateJobStatus"      
            ],
                  "Resource": "*",
                  "Condition": {
                        "StringEquals": {
                              "aws:ResourceTag/department": "${aws:PrincipalTag/department}"        
                }      
            }    
        },
            {
                  "Effect": "Allow",
                  "Action": "s3:PutJobTagging",
                  "Resource": "*",
                  "Condition": {
                        "StringEquals": {
                              "aws:RequestTag/department": "${aws:PrincipalTag/department}",
                              "aws:ResourceTag/department": "${aws:PrincipalTag/department}"        
                }      
            }    
        }  
    ]
}
```

------

## Etiquetado de trabajos de Operaciones por lotes por etapa y aplicación de límites a la prioridad del trabajo
<a name="tagging-jobs-by-stage-and-enforcing-limits-on-job-priority"></a>

Todos los trabajos de Operaciones por lotes de S3 tienen una prioridad numérica, que Amazon S3 utiliza para decidir en qué orden ejecutar los trabajos. En este ejemplo, se restringe la prioridad máxima que la mayoría de los usuarios pueden asignar a los trabajos, con rangos de prioridad más altos reservados para un conjunto limitado de usuarios privilegiados, de la siguiente manera:
+ Rango de prioridad de fase de control de calidad (bajo): 1-100
+ Rango de prioridad de la etapa de producción (alto): 1-300

Para ello, introduzca un nuevo conjunto de etiquetas que represente la etapa del trabajo:

**Clave : valor**
+ `stage : QA`
+ `stage : Production`

### Creación y actualización de trabajos de baja prioridad dentro de un departamento
<a name="creating-and-updating-low-priority-jobs"></a>

Esta política introduce dos nuevas restricciones a la creación y actualización de trabajos de Operaciones por lotes de S3, además de la restricción basada en departamentos:
+ Permite a los usuarios crear o actualizar trabajos en su departamento con una nueva condición que requiere que el trabajo incluya la etiqueta `stage=QA`.
+ Permite a los usuarios crear o actualizar la prioridad de un trabajo hasta una nueva prioridad máxima de 100.

```
{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
        {
        "Effect": "Allow",
        "Action": "s3:CreateJob",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:RequestTag/department": "${aws:PrincipalTag/department}",
                "aws:RequestTag/stage": "QA"
            },
            "NumericLessThanEquals": {
                "s3:RequestJobPriority": 100
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": [
            "s3:UpdateJobStatus"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:ResourceTag/department": "${aws:PrincipalTag/department}"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:UpdateJobPriority",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:ResourceTag/department": "${aws:PrincipalTag/department}",
                "aws:ResourceTag/stage": "QA"
            },
            "NumericLessThanEquals": {
                "s3:RequestJobPriority": 100
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:PutJobTagging",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:RequestTag/department" : "${aws:PrincipalTag/department}",
                "aws:ResourceTag/department": "${aws:PrincipalTag/department}",
                "aws:RequestTag/stage": "QA",
                "aws:ResourceTag/stage": "QA"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": "s3:GetJobTagging",
        "Resource": "*"
    }
    ]
}
```

### Creación y actualización de trabajos de alta prioridad dentro de un departamento
<a name="creating-and-updating-high-priority-jobs"></a>

Es posible que un pequeño número de usuarios requiera la capacidad de crear trabajos de alta prioridad en Control de calidad o Producción. Para dar soporte a esta necesidad, cree una política administrada que se adapte a la política de baja prioridad de la sección anterior. 

Esta política hace lo siguiente: 
+ Permite a los usuarios crear o actualizar trabajos en su departamento con las etiquetas `stage=QA` o `stage=Production`.
+ Permite a los usuarios crear o actualizar la prioridad de un trabajo hasta un máximo de 300.

------
#### [ JSON ]

****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
                "Effect": "Allow",
                "Action": "s3:CreateJob",
                "Resource": "*",
                "Condition": {
                      "ForAnyValue:StringEquals": {
                            "aws:RequestTag/stage": [
                                  "QA",
                                  "Production"        
                    ]      
                },
                      "StringEquals": {
                            "aws:RequestTag/department": "${aws:PrincipalTag/department}"      
                },
                      "NumericLessThanEquals": {
                            "s3:RequestJobPriority": 300      
                }    
            }  
        },
          {
                "Effect": "Allow",
                "Action": [
                      "s3:UpdateJobStatus"    
            ],
                "Resource": "*",
                "Condition": {
                      "StringEquals": {
                            "aws:ResourceTag/department": "${aws:PrincipalTag/department}"      
                }    
            }  
        },
          {
                "Effect": "Allow",
                "Action": "s3:UpdateJobPriority",
                "Resource": "*",
                "Condition": {
                      "ForAnyValue:StringEquals": {
                            "aws:ResourceTag/stage": [
                                  "QA",
                                  "Production"        
                    ]      
                },
                      "StringEquals": {
                            "aws:ResourceTag/department": "${aws:PrincipalTag/department}"      
                },
                      "NumericLessThanEquals": {
                            "s3:RequestJobPriority": 300      
                }    
            }  
        },
          {
                "Effect": "Allow",
                "Action": "s3:PutJobTagging",
                "Resource": "*",
                "Condition": {
                      "StringEquals": {
                            "aws:RequestTag/department": "${aws:PrincipalTag/department}",
                            "aws:ResourceTag/department": "${aws:PrincipalTag/department}"      
                },
                      "ForAnyValue:StringEquals": {
                            "aws:RequestTag/stage": [
                                  "QA",
                                  "Production"        
                    ],
                            "aws:ResourceTag/stage": [
                                  "QA",
                                  "Production"        
                    ]      
                }    
            }  
        }  
    ]
}
```

------