オブジェクトのタグ付け機能を使用して、OSS オブジェクトを分類できます。 同じタグのオブジェクトのライフサイクルルールをバッチで設定できます。

オブジェクトのタグ付け機能はベータテスト段階です。 この機能のトライアル版を申し込むには、チケットを起票し、サポートセンターへお問い合わせください。

オブジェクトのタグ付け機能は、キーと値のペアを使用してオブジェクトにタグ付けします。 オブジェクトをアップロードするときにタグを追加したり、既存のオブジェクトにタグを追加することもできます。

  • オブジェクトには、異なるキーを持つタグを 10 個まで追加できます。
  • キーと値の最大長は、それぞれ 128 バイトと 256 バイトです。
  • キーと値は、大文字と小文字が区別されます。
  • タグには、文字、数字、スペース、および次の記号を含めることができます。+ ‑ = . _ : /
  • バケット内のオブジェクトのタグを読み書きできるのは、バケットの所有者と、許可されたユーザーのみです。 オブジェクトのタグに対する読み取り権限と書き込み権限は、オブジェクトの ACL によって制限されません。
  • オブジェクトを別のリージョンにコピーすると、オブジェクトのタグもリージョンにコピーされます。

適用シナリオ

オブジェクトのタグ付け機能は、フォルダーによって制限されません。 バケット内で同じタグを持つオブジェクトをすべて選択し、ライフサイクルルールをバッチで設定できます。 たとえば、定期的に生成され、長期間保存する必要のないオブジェクトにタグを追加し、そのタグを持つオブジェクトを定期的に削除するようにライフサイクルルールを設定できます。
  • 指定されたタグを持つオブジェクトのライフサイクルルールを設定します。 たとえば、定期的に生成され、長期間保存する必要のないオブジェクトにタグを追加し、そのタグを持つオブジェクトを定期的に削除するようにライフサイクルルールを設定できます。
  • 指定されたタグを持つオブジェクトにアクセスできるように RAM ポリシーを設定します。

使用法

  • オブジェクトのタグ付け機能で使用できる API は、次のとおりです。
    • PutObjectTagging:オブジェクトにタグを追加します。 ターゲットオブジェクトに既にタグが設定されている場合、元のタグは新しいタグで上書きされます。
    • GetObjectTagging:オブジェクトのタグを読み取ります。
    • DeleteObjectTagging:オブジェクトのタグを削除します。
    • PutObjectPutObject を使用してオブジェクトをアップロードするときに、x‑oss‑tagging リクエストヘッダーを指定すると、オブジェクトにタグが追加されます。
    • InitiateMultipartUpload :マルチパートアップロードタスクを開始するときに、x‑oss‑tagging リクエストヘッダーを指定すると、オブジェクトにタグが追加されます。
    • CopyObject:オブジェクトをコピーするときに、x‑oss‑tagging‑directive リクエストヘッダーを指定すると、元のオブジェクトのタブをコピーするかどうかを決定できます。また、x‑oss‑tagging リクエストヘッダーを指定すると、ターゲットオブジェクトのタグを指定できます。
    • GetObject:ターゲットオブジェクトのタグの読み取り権限がある場合、 GetObject リクエストに対するレスポンスに x‑oss‑tagging‑count ヘッダーが含まれ、ターゲットオブジェクトに追加されたタグの数が示されます。
    • HeadObject:ターゲットオブジェクトのタグの読み取り権限がある場合、 HeadObject リクエストに対するレスポンスに x‑oss‑tagging‑count ヘッダーが含まれ、ターゲットオブジェクトに追加されたタグの数が示されます。
  • 必要な権限
    オブジェクトのタグ付け機能に関連する API に必要な権限は、次のとおりです。
    • GetObjectTagging:オブジェクトのタグを取得する権限が必要です。 この権限を使用すると、オブジェクトに追加されたタグを表示できます。
    • PutObjectTagging:オブジェクトのタグを設定する権限が必要です。 この権限を使用すると、オブジェクトのタグを設定できます。
    • DeleteObjectTagging:オブジェクトのタグを削除する権限が必要です。 この権限を使用すると、オブジェクトのタグを削除できます。

オブジェクトのタグ付けとライフサイクルルール管理

ライフサイクルルールを設定するときに、指定したプレフィックスやタグを持つオブジェクトにルールが適用されるように、条件を指定することができます。 プレフィックスとタグをルールの条件として同時に設定することもできます。
  • ライフサイクルルールの条件として特定のタグを設定した場合、オブジェクトのタグのキーと値の両方が、指定されたタグと一致する場合にのみ、ルールが適用されます。
  • ライフサイクルルールの条件としてプレフィックスと複数のタグを指定した場合、オブジェクトのプレフィックスとタグが、指定されたプレフィックスとすべてのタグと一致する場合にのみ、ルールが適用されます。
例:
<LifecycleConfiguration>
<Rule>
<ID>r1</ID>
<Prefix>rule1</Prefix>
<Tag><Key>xx</Key><Value>1</Value></Tag>
<Tag><Key>yy</Key><Value>2</Value></Tag>
<Status>Enabled</Status>
<Expiration>
<Days>30</Days>
</Expiration>
</Rule>
<Rule>
<ID>r2</ID>
<Prefix>rule2</Prefix>
<Tag><Key>xx</Key><Value>1</Value></Tag>
<Status>Enabled</Status>
<Transition>
<Days>60</Days>
<StorageClass>Archive</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>

上記のライフサイクルルールを設定した場合

  • プレフィックスが rule1、タグが "xx=1" と ”yy=2” のオブジェクトは、30 日後に削除されます。
  • プレフィックスが rule2、タグが "xx=1" のオブジェクトのストレージクラスは、60 日後にアーカイブに変更されます。
詳細は、「ライフサイクルルールの管理」をご参照ください。

オブジェクトのタグ付けと RAM ポリシー

  • RAM ユーザーに、オブジェクトのタグの表示、設定、削除を許可することができます。
    RAM ユーザーに、すべてのオブジェクトのタグまたは特定のオブジェクトのタグに対する操作を許可することができます。 たとえば、ユーザー A が操作できるタグを "test=1" として指定した場合、ユーザー A は タグ "test=1" のみをオブジェクトに追加できます。
    重要 特定のタグの追加を RAM ユーザーに許可した場合、そのユーザーは指定されたタグを既存のオブジェクトに追加できますが、新しいオブジェクトのアップロード時にタグを追加することはできません。
  • 指定されたタグを持つオブジェクトに対する読み取り専用権限、読み書き権限、およびフルアクセス権限を RAM ユーザーに付与することができます。