

# タグを使用したオブジェクトの分類
<a name="object-tagging"></a>

オブジェクトのタグ付けを使用してストレージを分類します。各タグはキーと値のペアです。

新しいオブジェクトのアップロード時のタグ付け、または既存のオブジェクトのタグ付けを行うことができます 
+ 1 つのオブジェクトに最大 10 個のタグを関連付けることができます。オブジェクトに関連付けるタグには一意のタグキーが必要です。
+ タグキーには最大 128 個の Unicode 文字、タグ値には最大 256 個の Unicode 文字を使用できます。Amazon S3 オブジェクトタグは、内部的に UTF-16 で表現されています。UTF-16 では、文字は 1 文字または 2 文字の位置を消費することに注意してください。
+ キーと値は大文字と小文字が区別されます。
+ タグの制限の詳細については、「**AWS Billing and Cost Management ユーザーガイド」の「[User-defined tag restrictions](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html#allocation-tag-restrictions)」を参照してください。基本的なタグの制限については、「Amazon EC2 ユーザーガイド」の「[タグの制限](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions)」を参照してください。**

**例**  
次のタグ付けの例について説明します。

**Example PHI 情報**  
保護されるべき医療情報 (PHI) データがオブジェクトに含まれているとします。このオブジェクトは次に示すキーと値のペアを使用してタグ付けできます。  

```
PHI=True
```
または  

```
Classification=PHI
```

**Example プロジェクトのファイル**  
プロジェクトファイルを S3 バケットに保存するとします。このようなオブジェクトは、`Project` というキーと値を使用して次のようにタグ付けします。  

```
Project=Blue
```

**Example 複数のタグ**  
次に示すように複数のタグを 1 つのオブジェクトに付けることができます。  

```
Project=x
Classification=confidential
```

**キー名のプレフィックスとタグ**  
オブジェクトキー名のプレフィックスにより、ストレージを分類することもできます。ただし、プレフィックスベースの分類は 1 次元的です。次のオブジェクトキー名について説明します。

```
photos/photo1.jpg
project/projectx/document.pdf
project/projecty/document2.pdf
```

これらのキー名には、プレフィックスとして `photos/`、`project/projectx/`、および `project/projecty/` が付いています。このプレフィックスによって 1 つのディメンションでの分類が行われます。つまり、1 つのプレフィックスのオブジェクトすべてが 1 つのカテゴリになります。たとえば、プレフィックス `project/projectx` はプロジェクト x に関連するすべてのドキュメントを識別します。

タグ付けによってもう 1 つのディメンションを設定できます。プロジェクト x カテゴリ内に photo1 が必要な場合、そのようにオブジェクトにタグ付けできます。

**追加の利点**  
データの分類だけでなく、タグ付けには以下に示すような利点もあります。
+ オブジェクトのタグを使用するとアクセス許可をきめ細かく制御できます。例えば、特定のタグが付けられた読み取り専用オブジェクトへのアクセス許可をユーザーに付与できます。
+ オブジェクトのタグを使用すると、ライフサイクルルールでキー名プレフィックスに加えてタグに基づくフィルタを指定でき、オブジェクトライフサイクルをきめ細かく管理できます。
+ Amazon S3 分析を使用する場合は、フィルターを設定することで、分析対象のオブジェクトをオブジェクトタグまたはキー名のプレフィックスに基づいてグループ化するか、プレフィックスとタグの両方に基づいてグループ化することができます。
+ また、Amazon CloudWatch メトリクスをカスタマイズして、特定のタグフィルターごとに情報を表示することもできます。詳細については次のセクションで説明します。

**重要**  
機密データ (個人を特定できる情報 (PII) または保護すべき医療情報 (PHI) を含むオブジェクトのラベルとしてタグを使用できます。しかし、タグそのものに機密情報を含めることはできません。

**1 つのリクエストで複数の Amazon S3 オブジェクトにオブジェクトタグセットを追加する**  
1 つのリクエストでオブジェクトタグセットを複数の Amazon S3 オブジェクトに追加するには、S3 バッチオペレーションを使用できます。S3 バッチオペレーションには、オペレーション対象のオブジェクトのリストを指定します。S3 バッチオペレーションは、各 API オペレーションを呼び出して、指定されたオペレーションを実行します。1 つのバッチオペレーションジョブで、エクサバイトのデータを含む数十億ものオブジェクトに対して、指定されたオペレーションを実行できます。

S3 バッチオペレーション機能は、進捗状況の追跡、通知の送信、すべてのアクションの詳細な完了レポートの保存を行い、フルマネージドの監査可能なサーバーレスエクスペリエンスを提供します。S3 バッチオペレーションは、Amazon S3 コンソール、AWS CLI、AWS SDK、または REST API を通じて使用できます。詳細については、「[S3 バッチ操作の基本](batch-ops.md#batch-ops-basics)」を参照してください。

オブジェクトタグの詳細については、[オブジェクトタグの管理](tagging-managing.md)を参照してください。

## オブジェクトのタグ付けに関連する API オペレーション
<a name="tagging-apis"></a>

Amazon S3 では、特にオブジェクトのタグ付けについて次の API オペレーションがサポートされています。

**オブジェクトの API オペレーション**
+  [PUT Object tagging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html) – オブジェクトのタグを置換します。リクエストボディにタグを指定します。この API を使用したオブジェクトタグ管理の 2 つのシナリオは次のとおりです。
  + オブジェクトにタグがない – この API を使用して一連のタグをオブジェクトに付けることができます (オブジェクトには事前にタグが付いていない)。
  + オブジェクトに既存のタグセットがある – 既存のタグセットを変更するには、最初に既存のタグセットを取得してクライアント側で変更してから、この API を使用してタグセットを置換する必要があります。
**注記**  
 タグセットを空にしてこのリクエストを送信すると、Amazon S3 によってオブジェクトの既存のタグセットが削除されます。この方法を使用すると、範囲 1 リクエスト (PUT) に対して料金が発生します。詳細については、[Amazon S3 の料金](https://d0.awsstatic.com/whitepapers/aws_pricing_overview.pdf) を参照してください。  
料金が発生することなく同じ結果が得られるため、[DELETE Object tagging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETEtagging.html) リクエストが推奨されます。
+  [GET Object tagging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETtagging.html) – オブジェクトに関連付けられているタグセットを返します。Amazon S3 によってレスポンス本文でオブジェクトタグが返されます。
+ [DELETE Object tagging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETEtagging.html) – オブジェクトに関連付けられているタグセットを削除します。

**タグ付けをサポートする他の API オペレーション**
+  [PUT Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) および [Initiate Multipart Upload](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html) – オブジェクトを作成するときにタグを指定できます。`x-amz-tagging` リクエストヘッダーを使用してタグを指定します。
+  [GET Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html) – Amazon S3 はタグセットを返さずに、`x-amz-tag-count` ヘッダーでオブジェクトのタグ数を返します (リクエスタにタグの読み取りアクセス許可がある場合のみ)。これは、ヘッダーのレスポンスサイズが 8 KB に制限されるためです。タグを表示するには、[GET Object tagging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETtagging.html) API オペレーションで別のリクエストを作成します。
+ [POST Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) – POST リクエストでタグを指定できます。

  リクエスト内のタグが 8 KB の HTTP リクエストヘッダーサイズ制限を超えない場合は、`PUT Object `API を使用してタグ付きのオブジェクトを作成できます。指定するタグがヘッダーサイズ制限を超える場合は、この POST メソッドを使用して本文にタグを指定できます。

   [PUT Object - Copy](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html) – リクエストに `x-amz-tagging-directive` を指定し、タグをコピー (デフォルト動作) するか、リクエストに指定された新しいタグセットでタグを置換するように Amazon S3 に指示します。

次の点に注意してください。
+ S3 オブジェクトのタグ付けには強固な整合性があります。詳細については、「[Amazon S3 のデータ整合性モデル](Welcome.md#ConsistencyModel)」を参照してください。

## 追加の設定
<a name="tagging-other-configs"></a>

このセクションでは、オブジェクトのタグ付けが他の設定にどのように関連するかを説明します。

### オブジェクトのタグ付けとライフサイクル管理
<a name="tagging-and-lifecycle"></a>

バケットライフサイクル設定では、ルールを適用するオブジェクトのサブセットを選択するためにフィルタを指定できます。キー名プレフィックスまたはオブジェクトタグ (あるいは両方) に基づいてフィルタを指定できます。

Amazon S3 バケットに写真 (RAW 形式および完成形式) を保存するとします。このようなオブジェクトには次のようにタグ付けできます。

```
phototype=raw
or
phototype=finished
```

写真の作成後、しばらくしてから RAW 写真を Amazon Glacier にアーカイブすることを検討する場合があります。特定のタグ (`photos/`) を持つキー名プレフィックス (`phototype=raw`) でオブジェクトのサブセットを特定するフィルタを使用して、ライフサイクルルールを設定できます。

詳細については、「[オブジェクトのライフサイクルの管理](object-lifecycle-mgmt.md)」を参照してください。

### オブジェクトのタグ付けとレプリケーション
<a name="tagging-and-replication"></a>

レプリケーションをバケットに設定した場合、タグを読み取るアクセス許可を Amazon S3 に付与すると、Amazon S3 によってタグがレプリケートされます。詳細については、「[ライブレプリケーションの設定の概要](replication-how-setup.md)」を参照してください。

### オブジェクトタグ付けイベント通知
<a name="tagging-and-event-notifications"></a>

オブジェクトタグがオブジェクトに追加または削除されたときに通知を受け取るように、Amazon S3 イベント通知を設定できます。`s3:ObjectTagging:Put` イベントタイプは、タグがオブジェクト上に置かれたとき、または既存のタグが更新されたときに通知します。`s3:ObjectTagging:Delete` イベントタイプは、タグがオブジェクトから削除されたときに通知します。詳細については、[イベント通知を有効](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-enable-disable-notification-intro.html) を参照してください。

オブジェクトのタグ付けの詳細については、次のトピックを参照してください。

**Topics**
+ [オブジェクトのタグ付けに関連する API オペレーション](#tagging-apis)
+ [追加の設定](#tagging-other-configs)
+ [タグ付けとアクセスコントロールポリシー](tagging-and-policies.md)
+ [オブジェクトタグの管理](tagging-managing.md)