

# タグを使用したアクセスのコントロールとジョブのラベル付け
<a name="batch-ops-job-tags"></a>

*タグ*を追加することで、S3 バッチ操作ジョブへのラベル付けとアクセスの制御を実行できます。タグを使用して、バッチ操作ジョブの担当者を識別できます。ジョブタグがあることで、ユーザーによるジョブのキャンセル、確認状態にあるジョブの有効化、ジョブの優先度レベルの変更を許可したり制限したりできます。タグをアタッチしてジョブを作成します。作成後にジョブにタグを追加できます。各タグはキーと値のペアであり、ジョブの作成時に追加することも、後で更新することもできます。

**警告**  
ジョブタグに機密情報や個人データが含まれていないことを確認してください。

以下のタグ付けの例を考えてみます。経理部門にバッチ操作ジョブを作成するとします。`Department` タグに値 `Finance` を割り当ててジョブが作成される場合に、ユーザーに AWS Identity and Access Management の呼び出しを許可する `CreateJob` (IAM) ポリシーを作成できます。さらに、財務部門のメンバーであるすべてのユーザーにそのポリシーをアタッチできます。

この例を進めて、ユーザーに、必要なタグの付いたジョブの優先度を更新することを許可するポリシーや、それらのタグの付いたジョブをキャンセルすることを許可するポリシーを作成できます。詳細については、「[ジョブタグを使用したバッチオペレーションのアクセス許可の制御](batch-ops-job-tags-examples.md)」を参照してください。

タグは、新しい S3 バッチ操作ジョブの作成時に追加することも、既存のジョブに追加することもできます。

タグには以下の制限があります。
+ タグキーが一意である限り、最大 50 個のタグをジョブに関連付けることができます。
+ タグキーには最大 128 個の Unicode 文字、タグ値には最大 256 個の Unicode 文字を使用できます。
+ キーと値は大文字と小文字が区別されます。

タグの制限の詳細については、*AWS Billing and Cost Management ユーザーガイド*の[ユーザー定義タグの制限](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) – バッチオペレーションジョブに関連付けられたタグセットを返します。
+ [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 バッチ操作ジョブタグの管理には、2 つの異なるシナリオがあります。
  + ジョブにタグがない - ジョブに一連のタグを追加できます (ジョブに以前のタグがない)。
  + ジョブに既存のタグのセットがある - 既存のタグのセットを変更するには、既存のタグのセット全体を置き換えます。または、[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) - バッチオペレーションジョブに関連付けられたタグセットを削除します。

# ラベル付けに使用されるジョブタグを使用したバッチ操作ジョブの作成
<a name="batch-ops-tags-create"></a>

タグを追加することで、Amazon S3 バッチオペレーションジョブへのラベル付けとアクセスの制御を実行できます。**タグを使用して、バッチ操作ジョブの担当者を識別できます。タグをアタッチしてジョブを作成し、後でジョブにタグを追加できます。詳細については、「[タグを使用したアクセスのコントロールとジョブのラベル付け](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` を特定します。この場合、2 つのタグ `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";
   ```

## AWS SDK for Java の使用
<a name="batch-ops-examples-java-job-with-tags-create"></a>

AWS SDK for Java を使用してタグ付きの S3 バッチオペレーションジョブを作成する場合は、S3Control クライアントを使用して、組織化と追跡の目的で、マニフェストのロケーション、ジョブオペレーション、レポート設定、タグなどのジョブパラメータを設定できます。

AWS SDK for Java を使用してタグ付きの S3 バッチオペレーションジョブを作成する方法の例については、「*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 バッチオペレーションジョブからタグを削除できます。

## の使用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 バッチオペレーションジョブのタグを削除する場合は、ジョブ 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)」を参照してください。

# 既存のバッチオペレーションジョブへのジョブタグの追加
<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 バッチオペレーションジョブにジョブタグを追加できます。詳細については、以下の例を参照してください。

## の使用AWS CLI
<a name="batch-ops-example-cli-job-tags-put-job-tagging"></a>

AWS CLI を使用し、`s3control put-job-tagging` を使用して S3 バッチオペレーションジョブにジョブタグを追加する例を次に示します。例を使用するには、*`user input placeholders`* をユーザー自身の情報に置き換えます。

**注記**  
タグセットを空にしてこのリクエストを送信すると、バッチオペレーション によってオブジェクトの既存のタグセットが削除されます。ただし、この方法を使用する場合は、階層 1 リクエスト (`PUT`) に対して料金が発生します。詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing)」を参照してください。  
代わりに、バッチオペレーションジョブの既存のタグを削除するには、`DeleteJobTagging` オペレーションをお勧めします。このオペレーションでは、料金が発生せずに同じ結果が得られるためです。

1. ジョブに必要なジョブ `TAGS` を特定します。この場合、2 つのタグ `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
   ```

## AWS SDK for Java の使用
<a name="batch-ops-examples-java-job-with-tags-put"></a>

AWS SDK for Java を使用して S3 バッチオペレーションジョブにタグを配置するには、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 バッチオペレーションジョブのタグを取得するには、`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
```

## AWS SDK for Java の使用
<a name="batch-ops-examples-java-job-with-tags-get"></a>

AWS SDK for Java を使用して S3 バッチオペレーションジョブのタグを取得するには、ジョブ 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)」を参照してください。

# ジョブタグを使用したバッチオペレーションのアクセス許可の制御
<a name="batch-ops-job-tags-examples"></a>

Amazon S3 バッチオペレーションジョブの管理に役立つように、ジョブタグを追加できます。**ジョブタグを使用すると、バッチ操作ジョブへのアクセスをコントロールし、ジョブの作成時にタグが適用されるようにできます。

バッチ操作ジョブごとに最大 50 個のジョブタグを適用できます。タグを使用することで、ジョブを編集できるユーザーのセットを制限する詳細なポリシーを設定できます。ジョブタグを使用して、ユーザーによるジョブのキャンセル、確認状態にあるジョブの有効化、ジョブの優先度レベルの変更を許可したり制限したりできます。さらに、すべての新しいジョブにタグが適用されるようにし、タグに許可されるキーと値のペアを指定できます。これらのすべての条件を [AWS Identity and Access Management IAM ポリシー言語](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html)を使用して表現できます。詳細については、「サービス認証リファレンス」の「[Actions, resources, and condition keys for 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 や本番稼働など、関連する開発のステージに基づいてジョブを割り当てることもできます。

この例では、IAM ポリシーで S3 バッチオペレーションのジョブタグを使用して、部門内で実行されているジョブのみを作成および編集するアクセス権限をユーザーに付与します。QA や本番稼働など、関連する開発のステージに基づいてジョブを割り当てます。

以下の例では、次の部門を使用しています。各部門では、バッチオペレーションをさまざまな方法で使用しています。
+ 財務
+ コンプライアンス
+ ビジネスインテリジェンス
+ エンジニアリング

**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 バッチ操作ジョブを作成および管理するアクセス許可を付与します。

さらにマネージドポリシーを IAM ユーザーにアタッチして、社内のすべてのユーザーに、それぞれの部門内での S3 バッチ操作ジョブの作成または変更を許可できます。

この例のポリシーには、3 つのポリシーステートメントが含まれています。
+ ポリシーの最初のステートメントでは、ユーザーに対して、ジョブ作成リクエストにそれぞれの部門に一致するジョブタグが含まれている場合に、バッチ操作ジョブの作成を許可しています。これは、`"${aws:PrincipalTag/department}"` 構文を使用して表現され、ポリシー評価時にユーザーの部門タグに置き換えられます。リクエスト `("aws:RequestTag/department")` の部門タグに指定した値がユーザーの部門と一致すると、条件が満たされます。
+ ポリシーの 2 番目のステートメントでは、ユーザーに対して、更新対象のジョブがそのユーザーの部門と一致する場合に、ジョブの優先度の変更、ジョブのステータスの更新を許可しています。
+ 3 番目のステートメントでは、ユーザーに対して、(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 バッチ操作ジョブの作成と更新に対して、部門ベースの制限に加えて 2 つの新しい制限を導入します。
+ ジョブにタグ `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 または本番稼働で優先度の高いジョブを作成できる必要があるとします。このニーズに応えるには、前のセクションの優先度の低いポリシーを採用した管理ポリシーを作成します。

このポリシーは以下の処理を実行します。
+ タグ `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"        
                    ]      
                }    
            }  
        }  
    ]
}
```

------