保持ルールを使用したデータの保存

保持ルールは、オブジェクト・ストレージおよびアーカイブ・ストレージに書き込まれるデータに対してWORMに準拠した不変のストレージ・オプションを提供し、データ・ガバナンス、規制コンプライアンスおよびリーガル・ホールド要件に対応します。保持ルールでは、偶発的または悪意のある更新、上書きまたは削除からデータを保護することもできます。保持ルールは、管理者であってもルールの変更やデータの削除または変更が行えないようにロックできます。

このトピックでは、オブジェクト・ストレージのルールベースの保持について説明し、これらのルールを作成および管理する方法の詳細を示します。

オブジェクト・ストレージのデータ保持について

保持ルールはバケット・レベルで構成され、バケット内の個々のオブジェクトすべてに適用されます。オブジェクト・ストレージは、次のユース・ケースをサポートするデータ保持に対して柔軟なアプローチを提供します

規制コンプライアンス
業界で、定義された期間にわたって特定のクラスのデータを保持することが必要な場合があります。データ保持規制によっては、保持設定をロックすることが求められる場合もあります。設定をロックした場合、変更できるのは保持期間の延長のみです。
オブジェクト・ストレージの規制コンプライアンスでは、期限付き保持ルールを作成し、期間を指定します。オブジェクトの変更と削除は、指定した期間中に実行できません。期間は、各オブジェクトに対して個別に適用され、オブジェクトの最終変更タイムスタンプに基づきます。必要に応じてルールをロックします。
データ・ガバナンス
特定のデータ・セットを内部ビジネス・プロセス要件の一部として保護する必要がある場合があります。定義された期間のデータを保持する必要がありますが、その期間は変更される可能性があります。
オブジェクト・ストレージのデータ・ガバナンスでは、期限付き保持ルールを作成し、期間を指定します。オブジェクトの変更と削除は、指定した期間中に実行できません。期間は、各オブジェクトに対して個別に適用され、オブジェクトの最終変更タイムスタンプに基づきます。ルールを削除し、必要に応じて期間を変更できるようにするには、ルールをロックしないでください。
リーガル・ホールド
潜在的または継続的な法律に応じて特定のビジネス・データを保存することが必要になる場合があります。リーガル・ホールドには定義された保持期間がないため、削除されるまで有効です。
オブジェクト・ストレージのリーガル・ホールドについては、無期限の保持ルールを作成します。オブジェクトの変更と削除は、ルールを削除するまで実行できません。無期限の保持ルールは期間がないため、ロックできません。

期限付きルールの保持期間について理解することが重要です。バケットの保持ルールを作成している場合でも、ルールの期間はバケット内の各オブジェクトに個別に適用され、オブジェクトの最終変更タイムスタンプに基づきます。バケットにObjectXおよびObjectYという2つのオブジェクトがあるとします。ObjectXは最後に14か月前に変更され、ObjectYは最後に3か月前に変更されました。1年間の期間で保持ルールを作成します。このルールによって、次の9か月間のObjectYの変更または削除が防止されます。ルールでは、保持ルールの期間(1年)がオブジェクトの最終変更タイムスタンプ(14か月)よりも短いため、ObjectXを変更または削除できます。次の年にObjectXが上書きされた場合、ルールの残りの期間は変更および削除を実行できません。

保持ルールをロックすると、元に戻すことができません。テナンシ管理者でもロックされているルールを削除することはできません。ルールがロックされるまでには、14日以上の遅延が必須です。この遅延によって、ルールが永続的にロックされる前に、ルールまたはルールのロックを完全にテスト、変更または削除できます。ルールは作成時にアクティブです。ロックのみが、ルール自体を変更できるかどうかを制御します。ルールをロックした後、期間の延長のみが許可されます。オブジェクトの変更は防止され、バケットを削除することによってのみルールを削除できます。バケットを削除する前に、バケットを空にする必要があります。

オブジェクト・ストレージの保持ルール機能がレコード管理および保持に関する規制要件を満たせるかどうかの独立評価については、Cohasset AssociateのSEC 17a-4(f), FINRA 4511(c), CFTC 1.31(c)-(d) and MiFID II Compliance Assessmentを参照してください。

必須IAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。このアクセス権は、コンソール、あるいはSDK、CLIまたはその他のツールを使用したREST APIのいずれを使用している場合でも必要です。権限を持っていない、または認可されていないというメッセージが表示された場合は、持っているアクセス権のタイプと作業しているコンパートメントを管理者に確認してください。

ポリシーを初めて使用する場合は、ポリシーの開始共通ポリシーを参照してください。

管理者の場合:

  • 指定したIAMグループで、テナンシのすべてのコンパートメント内のオブジェクト・ストレージのネームスペース、バケット、およびそれらに関連付けられたオブジェクトを管理するポリシーを作成できます。たとえば、IAMグループのStorageAdminsがテナンシのすべての操作を実行できるようにするには:

    Allow group StorageAdmins to manage object-family in tenancy
  • または、アクセスの範囲を狭くするポリシーを作成できます。たとえば、StorageAdminsグループがテナンシのObjectStoreというコンパートメント内のバケットとオブジェクトのみを管理できるようにするポリシーを作成できます:

    Allow group StorageAdmins to manage buckets in compartment ObjectStore
    Allow group StorageAdmins to manage objects in compartment ObjectStore
  • 個別の権限を付与するより限定的なポリシーを作成する場合、保持ルールを作成、編集および削除するには、BUCKET_UPDATEおよびRETENTION_RULE_MANAGEが必要です。保持ルールをロックするには、BUCKET_UPDATE、RETENTION_RULE_MANAGEおよびRETENTION_RULE_LOCKが必要です。

ポリシーを記述するための他の代替手段の詳細は、オブジェクト・ストレージ、アーカイブ・ストレージおよびデータ転送の詳細を参照してください。

範囲および制約

  • 保持ルールは、標準(オブジェクト・ストレージ)またはアーカイブ・ストレージ層のバケットに適用できます。
  • アクティブな保持ルールがあるバケットで実行できるアクションは制限されます。保持ルールが削除されるまで(無期限ルール)または指定された期間(期限付きルール)、オブジェクトまたはオブジェクト・メタデータを更新、上書きまたは削除できません。期限付きルールの期間は、各オブジェクトに対して個別に適用され、オブジェクトの最終変更タイムスタンプに基づきます。
  • 1つのバケットに対して複数の保持ルールを作成できます。無期限の保持ルールは、期限付きルールが考慮される前に適用されます。
  • 保持ルールがロックされている場合、ルールはバケットを削除することによってのみ削除できます。バケットを削除する前に、バケットを空にする必要があります。

保持とその他のオブジェクト・ストレージ機能間の相互作用

使用している他のオブジェクト・ストレージ機能のために配置しているポリシーとルールを注意深く確認します。これらのポリシーおよびルールの一部は保持ルールで無効になる場合があります。この項では、保持ルールとその他のオブジェクト・ストレージ機能との相互作用について理解する必要がある重要な事項について説明します。

バケットの再暗号化

保持ルールでは、Oracleまたは独自のボールト・マスター暗号化キーを使用したバケットの再暗号化はブロックされません。

マルチパート・アップロード

コミットされていない(未終了または失敗)マルチパート・アップロードは保持ルールで保護されないため、いつでも削除できます。

ライフサイクル管理

  • ライフサイクル・ポリシーは、保持ルールによって保護されているオブジェクトのストレージ層を更新できます。
  • ライフサイクル管理は、アクティブな保持ルールによって保護されているオブジェクトを削除できません。

レプリケーション

  • レプリケーション・ソース・バケットで保持ルールを作成できます。
  • レプリケーション宛先バケットに保持ルールを作成することはできません。
  • 保持ルールを持つ宛先バケットでレプリケーションを有効にすることはできません。

バージョニング

  • バージョニングが有効になっているバケットには保持ルールを追加できません。
  • アクティブな保持ルールを持つバケットではバージョニングを有効にできません。
  • バージョニングが一時停止されているバケットには保持ルールを追加できます。ただし、アクティブな保持ルールを持つバージョニングを再開することはできません。

保持ルールのトラブルシューティング

このトピックでは、保持ルールを使用した場合に発生する可能性がある問題のトラブルシューティング解決策を提供します。

保持ルールを作成できません

保持ルールの作成に失敗した場合、最も可能性の高い原因はIAM権限が欠落しているか、不完全であることです。ルールの作成には次が必要です:

  • バケットにアクセスし、それらのバケット内のオブジェクトを管理できるユーザー権限。
  • BUCKET_UPDATEおよびRETENTION_RULE_MANAGE権限(最小限)。

ユーザー権限を付与する既存のポリシーを確認します。詳細は、必須IAMポリシーを参照してください。

保持ルールをロックできません

保持ルールのロックに失敗した場合は、最も可能性の高い原因はIAM権限が欠落しているか、不完全であることです。保持ルールをロックするには、少なくともBUCKET_UPDATE、RETENTION_RULE_MANAGEおよびRETENTION_RULE_LOCK権限が必要です。

ユーザー権限を付与する既存のポリシーを確認します。詳細は、必須IAMポリシーを参照してください。

保持ルールを削除できません

ロックされている期限付き保持ルールは削除できません。保持ルールがロックされている場合、ルールはバケットを削除することによってのみ削除できます。バケットを削除する前に、バケットを空にする必要があります。

無期限の保持ルールの削除に失敗した場合、最も可能性の高い原因はIAM権限が欠落しているか、または不完全であることです。ルールの削除には次が必要です:

  • バケットにアクセスし、それらのバケット内のオブジェクトを管理できるユーザー権限。
  • BUCKET_UPDATEおよびRETENTION_RULE_MANAGE権限(最小限)。