Oracle Cloud Infrastructureドキュメント

オブジェクト・ライフサイクル管理の使用

オブジェクト・ライフサイクル管理では、オブジェクトのアーカイブおよび削除を自動的に管理できます。 オブジェクト・ライフサイクル管理を使用してオブジェクト・ストレージおよびアーカイブ・ストレージのデータを管理することで、ストレージ・コストやデータの管理に費やした時間を削減できます。

オブジェクト・ライフサイクル管理は、特定のバケット内でオブジェクトをアーカイブまたは削除するように「オブジェクト・ストレージ」に指示するルールを定義することで機能します。 バケット・ライフサイクル・ルールは、集合的にオブジェクト・ライフサイクル・ポリシーと呼ばれます。 たとえば、作成後にオブジェクト・ストレージを「アーカイブ・ストレージ」 30日後に自動的に移動し、そして作成後にアーカイブ済オブジェクトを自動的に削除できます。

オブジェクト・ストレージまたはアーカイブ・ストレージ・バケットには、1,000ルールまでで構成される1つのライフサイクル・ポリシーを含めることができます。 ルールには、オブジェクト名prefixおよび「パターン照合」条件を指定できます。 必要に応じて、コンソール内の個々のルールを作成、編集、削除、有効化および無効化できます。 CLIまたはAPIを使用してライフサイクル・ポリシーを更新するには、バケットに適用するすべてのポリシー・ルールを含む新しいポリシーで、ポリシー全体を上書きします。

必要なIAMポリシー

重要

「オブジェクト・ストレージ」サービスを認可してオブジェクトをアーカイブおよび削除するまでは、オブジェクト・ライフサイクル管理を使用できません。
詳細については、「サービス権限」を参照してください。

ユーザーの権限

Oracle Cloud Infrastructureを使用するには、管理者が作成するポリシーで、コンソールまたはSDK、CLIまたはその他のツールを使用したREST APIのどちらを使用しているかにかかわらず、必要なタイプのアクセスを付与する必要があります。 アクションを実行しようとしたときに、権限のないメッセージや権限のないメッセージを取得する場合は、管理者に付与されているアクセスのタイプと作業するコンパートメントを確認してください。

ポリシー「オブジェクト・ストレージ管理者がバケットやオブジェクトを管理できるようにします」により、指定されたグループは、ライフサイクル・ポリシーの追加と管理など、バケットとオブジェクトを使用したすべての操作を実行できます。 オブジェクト・ストレージのユーザー権限の詳細は、「オブジェクト・ストレージ、アーカイブ・ストレージおよびデータ転送の詳細」を参照してください。

サービス・パーミッション

オブジェクト・ライフサイクル・ポリシーを実行するには、サービスを認可して、オブジェクトをアーカイブおよび削除する必要があります。 これを行うには、テナンシのルート・コンパートメントに次のポリシーを作成します:

Allow service objectstorage-<region_name> to manage object-family in compartment <compartment_name>

「オブジェクト・ストレージ」は地域サービスであるため、ライフサイクル・ポリシーを使用する各リージョンで「オブジェクト・ストレージ」サービスを認可する必要があります。 「オブジェクト・ストレージ」により、不正なリージョンからデータが読み取られなくなります。

テナンシのルート・コンパートメントのポリシーを書き込む権限がない場合は、Oracle Cloud Infrastructure管理者に連絡してください。 Oracle Cloud Infrastructureリージョンのリージョン名の値を決定するには、「リージョンと可用性ドメイン」を参照してください。

「ポリシー動詞」 manageを使用せずに、サービスに個別の権限を付与する場合は、次の構文を使用できます:

Allow service objectstorage-<region_name> to {BUCKET_INSPECT, BUCKET_READ, OBJECT_INSPECT, OBJECT_CREATE,  OBJECT_DELETE} in compartment <compartment_name>

新しいポリシーの場合は、「ポリシーの開始」「共通ポリシー」を参照してください。

オプション

オブジェクト・ライフサイクル・ポリシー・ルールを作成する際、次のオプションがあります。

  • ライフサイクル・ルールが作成されると、そのルールのデフォルト名(lifecycle-rule-20190321-1559など)が生成されます。 このルール名は、ルールが作成された現在の年、月、日および時間を識別します。 そのシステム生成名を新規ルールに使用することも、別の名前を指定することもできます。
  • ルールを使用して、オブジェクトをアーカイブまたは削除し、指定したアクションが実行されるまでの日数を指定できます。
  • バケット内のすべてのオブジェクトにルールを適用できます。 または、オブジェクト名フィルタを使用して、ライフサイクル・ルールを適用するオブジェクトを指定できます。 オブジェクト名の接頭辞とパターンの一致の両方を使用してオブジェクトを選択できます。 詳細については、「オブジェクト名フィルタの使用」を参照してください。
  • 新規ルールの作成時に有効化または無効化を決定できます。

オブジェクト名フィルタの使用

オブジェクト名フィルタを使用して、ライフサイクル・ルールを適用するオブジェクトを指定します。

重要

ルールをバケット内のすべてのオブジェクトに適用する場合は、オブジェクト名フィルタを指定しないでください。

オブジェクト・フィルタは、任意の順序で追加できます。 オブジェクト・ライフサイクル管理では、ルールの優先度が次のように評価されます:

  1. パターン除外
  2. パターン追加
  3. 接頭辞追加

接頭辞一致によるオブジェクトのフィルタ処理

オブジェクトに名前を付ける場合、デリミタのない接頭辞文字列を使用すると、特定の一括操作をオブジェクト名の接頭辞の部分と照合することで実行できます。 たとえば、次のオブジェクト名では、ライフサイクル管理のアーカイブや削除を実行する際に、gloves_27_は一致するための接頭辞として機能します:

gloves_27_dark_green.jpg
gloves_27_light_blue.jpg
gloves_27_deep_purple.jpg
gloves_27_bright_orange.jpg

完全なオブジェクト・ネーミングの詳細は、「接頭辞と階層を使用したオブジェクトの命名」を参照してください。

パターン一致によるオブジェクトのフィルタ処理

「オブジェクト・ストレージ」では、オブジェクトを含めるか除外する次のパターン一致文字がサポートされています:

文字 説明 パターン例 一致 次に一致しない
* 0文字以上の文字に一致します *.tmp

foo.tmp

foo/bar/baz.tmp

tmp

Atmp

*.xls

.xls

/home/user/file.xlsx

xls

.xl

/archive/*

/archive/sub/dir/

/archive/1/2/3/4/foo.txt

/src/archive/a

archive/b

? 任意の1文字と一致 X?Z

XyZ

X_Z

XZ

XYYZ

\ 次の文字をエスケープ \\dir\\sub\\*

\dir\sub\ABC

\dir\sub\

dir\sub\abc

dirsub

[...]

文字のグループと一致し、次のようになります:

  • 文字のセット。例: : [Zafg9@]. カッコ内の任意の文字との照合を実行します。
  • 文字の範囲。例: : [a-f]. 範囲内の任意の文字と一致します:
    • [a-f]は[abcdef]と同等です。

    • 文字範囲の場合、CHARACTER-CHARACTERパターンのみがサポートされます:

      • [ab-yz]が無効です。
      • [a-mn-z]が無効です
    • 文字の範囲は^または :で始めることはできません :

    • 範囲にハイフン(-)を含めるには、最初または最後の文字にします。

[-ab3]

-

a

b

3

-a

-ab

3b

backup.tar.gz.[0-9]

backup.tar.gz.0

backup.tar.gz.5

backup.tar.gz.9

backup.tar.gz10

backup.tar.gz

page-[0-9]*

page-0

page-2

page-22

page-2X

page-

page-A1

\[a-z\] [a-z]

a

z

[a-z

パターンは1024文字までに制限されます。 無効なパターンの例を次に示します:

  • \
  • [^a-z]
  • [z-a]
  • [:isalpha:]

スコープと制約

オブジェクト・ライフサイクル・ポリシーに関する次のスコープと制約を理解します。

  • バケットのライフサイクル・ポリシーを作成すると、オブジェクト名フィルタを追加しないかぎり、「オブジェクト・ストレージ」によって、バケットに存在するすべてのオブジェクトにそのポリシーが適用されます。
  • オブジェクトを削除するルールは、そのオブジェクトをアーカイブするルールよりも優先されます。
  • 「アーカイブ・ストレージ」からオブジェクトを削除するライフサイクル・ポリシー・ルールを作成するとき、「アーカイブ・ストレージ」「最小保存要件」の日数は90日です。 90-day保存の最小値に満たない「アーカイブ・ストレージ」から削除されたオブジェクトは、90日間のストレージとして請求されます。
  • バケットごとに最大1,000のライフサイクル・ルールを作成できます。

オブジェクト・ライフサイクル管理ポリシーの使用

コンソール「コマンド・ライン・インタフェース(CLI)」、SDKまたはAPIを使用して、ライフサイクル・ポリシー・ルールを作成、削除、編集または無効化できます。

警告

ライフサイクル・ポリシーによってかわりに削除されたオブジェクトはリカバリできません。
保持するデータを意図せずに削除しないライフサイクル・ポリシーを作成および編集する場合は、必ず確認してください。 Oracleは、本番でポリシーを使用する前に、開発データでライフサイクル・ポリシーをテストすることをお薦めします。

コンソールを使用した場合

ライフサイクル・ポリシー・ルールを作成するには
ライフサイクル・ポリシー・ルールを編集するには
ライフサイクル・ポリシー・ルールを有効化、無効化または削除するには

コマンド・ライン・インタフェース(CLI)の使用

CLIの使用方法の詳細は、「コマンド・ライン・インタフェース(CLI)」を参照してください。 CLIコマンドで使用可能なフラグおよびオプションの完全なリストについては、「CLIヘルプ」を参照してください。

バケットに対するライフサイクル・ポリシーを作成または置換するには
バケット・ライフサイクル・ポリシーを削除するには
バケットのライフサイクル・ポリシーを取得するには

APIの使用

APIおよび署名リクエストの使用については、REST APIおよび「セキュリティ資格証明」を参照してください。 SDKの詳細は、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。

オブジェクト・ライフサイクル・ポリシーを管理するには、次の操作を実行します。