Oracle Cloud Infrastructureドキュメント

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

オブジェクト・ライフサイクル管理では、オブジェクトのアーカイブおよび削除を自動的に管理できます。 オブジェクト・ライフサイクル管理を使用してObject StorageおよびArchive Storageのデータを管理することで、ストレージ・コストやデータの管理に費やした時間を削減できます。 オブジェクト・ライフサイクル管理では、Object Storageに指定されたバケット内のユーザーにかわってオブジェクトをアーカイブまたは削除するよう指示するルールを定義します。 バケットのライフサイクル・ルールは、まとめてオブジェクト・ライフサイクル・ポリシーと呼ばれます。 たとえば、作成後にObject StorageによってオブジェクトのグループがArchive Storage 30日に自動的に移動され、作成後にアーカイブ済オブジェクト120日が自動的に削除される場合があります。

Object StorageまたはArchive Storageバケットには、1,000ルールまでで構成される1つのライフサイクル・ポリシーを含めることができます。 ルールは、prefix一致条件を複数持つことができます。 必要に応じて、コンソールで個々のルールを作成、編集、削除、有効化および無効化できます。 APIを使用してライフサイクル・ポリシーを更新するには、バケットに適用するすべてのルールを含む新しいポリシーでポリシー全体を上書きする必要があります。 バケット・ライフサイクル・ポリシーを更新するには、PutObjectLifecyclePolicy APIコールを使用します。

必要なIAMポリシー

警告

Object Storageサービスでオブジェクトのアーカイブおよび削除を代理で承認していない場合、オブジェクト・ライフサイクル管理は機能しません。
詳細については、「サービス権限」を参照してください。

ユーザーの権限

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

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

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

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

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

Object Storageはリージョン・サービスであるため、ライフサイクル・ポリシーを使用する各リージョンのObject Storageサービスを認可する必要があります。 Object Storageというリージョンの性質により、データの読取りが許可されていないリージョンのデータが読み取られないようにします。

テナンシのルート・コンパートメントのポリシーを書き込む権限がない場合は、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>

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

オプション

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

  • ルールを使用して、オブジェクトをアーカイブまたは削除できます。
  • ルールはバケット・レベルまたは「オブジェクト名のプレフィクス」レベルで適用できます。
  • コンソールを使用して、オンデマンドでルールを無効化および有効化できます。 無効化または削除されたルールの場合、それらのルールの実行はただちに停止されます。
  • コンソールを使用する際に、新規ルールを作成時に有効にするか無効にするかを選択できます。

スコープと制約

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

  • オブジェクトを削除するルールは、そのオブジェクトをアーカイブするルールよりも優先されます。
  • Archive Storageからオブジェクトを削除するライフサイクル・ポリシー・ルールを作成する場合、Archive Storageには90日の「最小保存要件」があることに注意してください。 90-dayの保存最小に適合しないArchive Storageから削除されたオブジェクトは、90のストレージについて請求されます。
  • バケットごとに最大1,000のライフサイクル・ルールを作成できます。
  • バケットのライフサイクル・ポリシーを作成するときに、Object Storageは、現在バケットに存在するオブジェクトにライフサイクル・ポリシーを適用します。

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

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

警告

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

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

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

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

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

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

APIの使用

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

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