

# 태그를 사용하여 액세스 제어 및 작업 레이블 지정
<a name="batch-ops-job-tags"></a>

*태그*를 추가하여 S3 배치 작업 건에 대한 레이블을 지정하고 액세스를 제어할 수 있습니다. 태그는 배치 작업 건을 담당하는 사용자를 식별하는 데 사용할 수 있습니다. 작업 태그가 있을 경우 사용자가 작업을 취소하고, 확인 상태의 작업을 활성화하거나 작업의 우선 순위 레벨을 바꿀 수 있는 능력을 부여하거나 제한할 수 있습니다. 태그가 연결된 작업을 만들 수 있으며 작업을 만든 후 작업에 태그를 추가할 수 있습니다. 각 태그는 작업을 생성하거나 나중에 업데이트할 때 포함할 수 있는 키-값 페어입니다.

**주의**  
작업 태그에 기밀 정보나 개인 데이터가 포함되어 있지 않은지 확인하세요.

다음 태깅 예를 참조하세요. 재무 부서에서 배치 작업을 생성하려고 한다고 가정합니다. `Finance` 값이 할당된 `Department` 태그로 작업을 생성하는 경우 사용자가 `CreateJob`을 호출할 수 있도록 허용하는 AWS Identity and Access Management(IAM) 정책을 작성할 수 있습니다. 또한 재무 부서의 구성원인 모든 사용자에게 해당 정책을 연결할 수 있습니다.

이 예에서는 사용자가 원하는 태그가 있는 작업의 우선 순위를 업데이트하거나 해당 태그가 있는 작업을 취소할 수 있도록 허용하는 정책을 생성할 수 있습니다. 자세한 내용은 [작업 태그를 사용하여 Batch Operations에 대한 권한 제어](batch-ops-job-tags-examples.md) 섹션을 참조하세요.

새 S3 배치 작업을 생성할 때 태그를 추가하거나 기존 작업에 추가할 수 있습니다.

다음과 같은 태그 제한 사항이 있습니다.
+ 고유한 태그 키가 있는 경우 작업에 최대 50개의 태그를 연결할 수 있습니다.
+ 태그 키의 최대 길이는 128개 유니코드 문자이며, 태그 값의 최대 길이는 256개 유니코드 문자입니다.
+ 키와 값은 대/소문자를 구분합니다.

태그 제한에 대한 자세한 내용은 *AWS 결제 및 비용 관리 사용 설명서*의 [사용자 정의 태그 제한](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)을 참조하세요.

## S3 배치 작업 건 태깅과 관련된 API 작업
<a name="batch-ops-job-tags-api"></a>

Amazon S3는 S3 배치 작업 건 태깅을 위해 다음 API 작업을 지원합니다.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetJobTagging.html) – Batch Operations 작업과 연결된 태그 집합을 반환합니다.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) – 작업과 연결된 태그 집합을 대체합니다. 이 API 작업을 사용하는 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)을 사용하여 기존 태그 집합을 검색한 다음 기존 태그 집합 내에서 변경하고, 해당 태그 집합을 수정하고, 이 API 작업을 사용하여 수정한 태그 집합으로 바꿉니다.
**참고**  
빈 태그 세트로 이 요청을 전송하는 경우 S3 배치 작업은 객체에 있는 기존 태그 세트를 삭제합니다. 이 방법을 사용하면 계층 1 요청(`PUT`)에 대한 요금이 부과됩니다. 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing)을 참조하세요.  
배치 작업에 대한 기존 태그를 삭제하려면 비용이 발생하지 않고 동일한 결과를 얻을 수 있는 `DeleteJobTagging` 작업이 선호됩니다.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteJobTagging.html) - Batch Operations 작업과 연결된 태그 집합을 삭제합니다.

# 레이블 지정에 작업 태그를 사용하는 배치 작업 생성
<a name="batch-ops-tags-create"></a>

**태그를 추가하여 Amazon S3 Batch Operations 작업에 대한 레이블을 지정하고 액세스를 제어할 수 있습니다. 태그는 배치 작업 건을 담당하는 사용자를 식별하는 데 사용할 수 있습니다. 태그가 연결된 작업을 생성할 수 있으며 작업을 생성한 후 작업에 태그를 추가할 수 있습니다. 자세한 내용은 [태그를 사용하여 액세스 제어 및 작업 레이블 지정](batch-ops-job-tags.md) 섹션을 참조하세요.

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

다음 AWS CLI 예제에서는 작업 태그를 작업의 레이블로 사용하여 S3 배치 작업 `S3PutObjectCopy` 작업을 생성합니다.

1. 배치 작업에서 수행하려는 작업 또는 `OPERATION`을 선택하고 `TargetResource`를 선택합니다.

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

1. 작업에 대해 원하는 작업 `TAGS`를 식별합니다. 이 경우 두 개의 태그 `department` 및 `FiscalYear`를 각각 `Marketing` 및 `2020` 값과 함께 적용합니다.

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

1. 배치 작업에 대해 `MANIFEST`를 지정합니다.

   ```
   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. 배치 작업에 대해 `REPORT`를 구성합니다.

   ```
   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. `create-job` 작업을 실행하여 이전 단계에서 설정된 입력으로 배치 작업을 생성합니다.

   ```
   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";
   ```

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

AWS SDK for Java를 사용하여 태그가 있는 S3 Batch Operations 작업을 만들려면 S3Control 클라이언트를 사용하여 매니페스트 위치, 작업, 보고 설정과 조직 및 추적용 태그 등의 작업 파라미터를 구성할 수 있습니다.

AWS SDK for Java를 사용하여 태그가 있는 S3 Batch Operations 작업을 만드는 방법의 예는 *Amazon S3 API 참조*의 [Create a batch job to copy objects](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_CreateJob_section.html)를 참조하세요.

# S3 배치 작업에서 태그 삭제
<a name="delete-job-tags"></a>

다음 예제를 사용하여 Amazon S3 Batch Operations 작업에서 태그를 삭제할 수 있습니다.

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

다음 예제에서는 AWS CLI를 사용하여 배치 작업에서 태그를 삭제합니다.

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

## 배치 작업의 작업 태그 삭제
<a name="batch-ops-examples-java-job-with-tags-delete"></a>

AWS SDK for Java를 사용하여 S3 Batch Operations 작업의 태그를 삭제하려면 작업 ID와 함께 S3Control 클라이언트를 사용하여 배치 작업과 연결된 모든 태그를 제거할 수 있습니다.

AWS SDK for Java를 사용하여 작업 태그를 삭제하는 방법의 예는 *Amazon S3 API 참조*의 [Delete tags from a batch job](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_DeleteJobTagging_section.html)을 참조하세요.

# 기존 Batch Operations 작업에 작업 태그 추가
<a name="put-job-tags"></a>

[https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutJobTagging.html) API 작업을 사용하여 기존 Amazon S3 Batch Operations 작업에 작업 태그를 추가할 수 있습니다. 자세한 정보는 다음 예를 참조하세요.

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

다음은 AWS CLI에서 `s3control put-job-tagging`을 사용하여 S3 Batch Operations 작업에 작업 태그를 추가하는 예제입니다. 예제를 사용하려면 *`user input placeholders`*를 실제 정보로 대체하세요.

**참고**  
빈 태그 집합으로 이 요청을 전송하는 경우 Batch Operations는 객체에 있는 기존 태그 집합을 삭제합니다. 그러나 이 접근 방식을 사용하는 경우 계층 1 요청(`PUT`)에 대한 요금이 부과됩니다. 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing)을 참조하세요.  
대신 Batch Operations 작업에 대한 기존 태그를 삭제하려면 비용을 부담하지 않고 동일한 결과를 얻을 수 있으므로 `DeleteJobTagging` 작업을 사용하는 것이 좋습니다.

1. 작업에 대해 원하는 작업 `TAGS`를 식별합니다. 이 경우 두 개의 태그 `department` 및 `FiscalYear`를 각각 `Marketing` 및 `2020` 값과 함께 적용합니다.

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

1. 필요한 파라미터를 사용하여 다음 `put-job-tagging` 명령을 실행합니다.

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

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

AWS SDK for Java를 사용하여 S3 Batch Operations 작업에 태그를 지정하려면 S3Control 클라이언트를 사용하여 구성 및 추적 목적으로 키-값 페어가 있는 태그를 추가하거나 업데이트할 수 있습니다.

AWS SDK for Java를 사용하여 작업 태그를 지정하는 방법의 예는 *Amazon S3 API 참조*의 [Add tags to a batch job](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_PutJobTagging_section.html)을 참조하세요.

# S3 배치 작업의 작업 태그 가져오기
<a name="get-job-tags"></a>

Amazon S3 Batch Operations 작업의 태그를 검색하려면 `GetJobTagging` API 작업을 사용하면 됩니다. 자세한 정보는 다음 예를 참조하세요.

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

다음 예제에서는 AWS CLI를 사용하여 배치 작업의 태그를 가져옵니다. 이 예제를 사용하려면 *`user input placeholders`*를 사용자의 정보로 대체합니다.

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

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

AWS SDK for Java를 사용하여 S3 Batch Operations 작업의 태그를 가져오려면 작업 ID와 함께 S3Control 클라이언트를 사용하여 배치 작업과 연결된 모든 태그를 검색하고 목록으로 반환할 수 있습니다.

AWS SDK for Java를 사용하여 작업 태그를 가져오는 방법의 예는 *Amazon S3 API 참조*의 [Get tags from a batch job](https://docs.aws.amazon.com/AmazonS3/latest/API/s3-control_example_s3-control_GetJobTagging_section.html)을 참조하세요.

# 작업 태그를 사용하여 Batch Operations에 대한 권한 제어
<a name="batch-ops-job-tags-examples"></a>

Amazon S3 Batch Operations 작업 관리를 돕기 위해 **작업 태그를 추가할 수 있습니다. 작업 태그를 사용하여 배치 작업에 대한 액세스를 제어하고 작업이 생성될 때 태그를 적용할 수 있습니다.

각 배치 작업에 최대 50개의 작업 태그를 적용할 수 있습니다. 태그를 통해 세분화된 정책을 설정하여 작업을 편집할 수 있는 사용자 집합을 제한할 수 있습니다. 작업 태그가 있을 경우 사용자가 작업을 취소하고, 확인 상태의 작업을 활성화하거나 작업의 우선 순위 레벨을 변경할 수 있는 능력을 부여하거나 제한할 수 있습니다. 또한 모든 새 작업에 태그를 적용하고 태그에 대해 허용되는 키-값 페어를 지정할 수 있습니다. [AWS Identity and Access Management (IAM) 정책 언어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)를 사용하여 이러한 모든 조건을 표현할 수 있습니다. 자세한 정보는 **서비스 승인 참조에서 [Amazon S3에 사용되는 작업, 리소스 및 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html)를 참조하세요.

S3 리소스 유형별 S3 API 작업 권한에 대한 자세한 내용은 [Amazon S3 API 작업에 필요한 권한](using-with-s3-policy-actions.md) 섹션을 참조하세요.

다음 예제에서는 S3 배치 작업 태그를 사용하여 특정 부서(예: 재무 또는 규정 준수 부서)에서 실행되는 작업만 생성 및 편집할 수 있는 권한을 사용자에게 부여하는 방법을 보여줍니다. QA 또는 Production 등 관련된 development의 단계에 따라 작업을 할당할 수도 있습니다.

이 예제에서는 IAM 정책의 S3 Batch Operations 작업 태그를 사용하여 사용자에게 부서 내에서 실행 중인 작업만 만들고 편집할 수 있는 권한을 부여합니다. QA 또는 Production 등 관련된 개발의 단계에 따라 작업을 할당합니다.

다음 예제에서는 다음 부서를 사용하며 각 부서는 Batch Operations를 다양한 방식으로 활용합니다.
+ 재무
+ 규정 준수
+ 비즈니스 인텔리전스
+ 엔지니어링

**Topics**
+ [

## 사용자 및 리소스에 태그를 할당하여 액세스 제어
](#job-tags-examples-attaching-tags)
+ [

## 단계별 배치 작업 태그 지정 및 작업 우선 순위 제한 적용
](#tagging-jobs-by-stage-and-enforcing-limits-on-job-priority)

## 사용자 및 리소스에 태그를 할당하여 액세스 제어
<a name="job-tags-examples-attaching-tags"></a>

이 시나리오에서는 관리자가 [속성 기반 액세스 제어(ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)를 사용하고 있습니다. ABAC는 사용자와 AWS 리소스 모두에 태그를 연결하여 권한을 정의하는 IAM 권한 부여 전략입니다.

사용자 및 작업에는 다음 부서 태그 중 하나가 할당됩니다.

**키 : 값**
+ `department : Finance`
+ `department : Compliance`
+ `department : BusinessIntelligence`
+ `department : Engineering`
**참고**  
작업 태그 키와 값은 대/소문자를 구분합니다.

ABAC 액세스 제어 전략을 사용하여 재무 부서의 사용자에게 `department=Finance` 태그를 사용자와 연결하여 부서 내에서 S3 배치 작업을 생성하고 관리할 수 있는 권한을 부여합니다.

또한 회사의 모든 사용자가 해당 부서 내에서 S3 배치 작업을 생성하거나 수정할 수 있도록 허용하는 관리형 정책을 IAM 사용자에게 연결할 수 있습니다.

이 예제의 정책에는 다음과 같은 세 가지 정책 문이 포함되어 있습니다.
+ 정책의 첫 번째 문은 작업 생성 요청에 해당 부서와 일치하는 작업 태그가 포함되어 있는 경우 사용자가 배치 작업을 생성할 수 있도록 허용합니다. 이는 정책 평가 시 사용자의 부서 태그로 대체되는 `"${aws:PrincipalTag/department}"` 구문을 사용하여 표현됩니다. `("aws:RequestTag/department")` 요청에서 부서 태그에 대해 제공된 값이 사용자의 부서와 일치하면 조건이 충족됩니다.
+ 정책의 두 번째 문은 사용자가 업데이트 중인 작업이 사용자의 부서와 일치하는 경우 사용자가 작업의 우선 순위를 변경하거나 작업 상태를 업데이트할 수 있도록 허용합니다.
+ 세 번째 문은 (1) 부서 태그가 보존되고 (2) 업데이트하려는 작업이 해당 부서 내에 있는 한 사용자가 `PutJobTagging` 요청을 통해 언제든지 배치 작업 태그를 업데이트할 수 있도록 허용합니다.

------
#### [ 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}"        
                }      
            }    
        }  
    ]
}
```

------

## 단계별 배치 작업 태그 지정 및 작업 우선 순위 제한 적용
<a name="tagging-jobs-by-stage-and-enforcing-limits-on-job-priority"></a>

모든 S3 배치 작업에는 Amazon S3이 작업을 실행할 순서를 결정하는 데 사용하는 숫자 우선 순위가 있습니다. 이 예제에서는 다음과 같이 대부분의 사용자가 작업에 할당할 수 있는 최대 우선 순위를 제한하고, 제한된 권한 사용자 집합에 대해 높은 우선 순위 범위를 예약합니다.
+ QA 스테이지 우선 순위 범위(낮음): 1-100
+ 프로덕션 단계 우선 순위 범위(높음): 1-300

이를 위해 작업의 단계를 나타내는 새 태그 세트를 도입합니다.

**키 : 값**
+ `stage : QA`
+ `stage : Production`

### 부서 내에서 우선 순위가 낮은 작업 생성 및 업데이트
<a name="creating-and-updating-low-priority-jobs"></a>

이 정책은 부서 기반 제한 외에 S3 배치 작업 생성 및 업데이트에 대한 두 가지 새로운 제한을 적용합니다.
+ 사용자는 해당 부서에서 작업에 `stage=QA` 태그를 포함해야 하는 새 조건으로 작업을 생성하거나 업데이트할 수 있습니다.
+ 사용자는 작업의 우선 순위를 새로운 최대값인 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": "*"
    }
    ]
}
```

### 부서 내에서 우선 순위가 높은 작업 생성 및 업데이트
<a name="creating-and-updating-high-priority-jobs"></a>

일부 사용자는 QA 또는 Production 중 하나에서 우선 순위가 높은 작업을 생성할 수 있어야 합니다. 이 요구를 지원하기 위해 이전 섹션의 우선 순위가 낮은 정책에 맞게 조정된 관리형 정책을 생성합니다.

이 정책은 다음을 수행합니다.
+ 사용자가 `stage=QA` 태그 또는 `stage=Production` 태그를 사용하여 부서에서 작업을 생성하거나 업데이트할 수 있습니다.
+ 사용자는 작업의 우선 순위를 최대 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"        
                    ]      
                }    
            }  
        }  
    ]
}
```

------