バケットロックを使用した保持ポリシー

このページでは、バケットロック機能について説明します。この機能を使用すると、バケット内のオブジェクトの保持期間を制御するデータ保持ポリシーを Cloud Storage バケットに構成できます。また、データ保持ポリシーをロックして、ポリシーの変更や削除を防止することもできます。この機能の使用例については、保持ポリシーとバケットロックの使用をご覧ください。

この機能を使用すると、Cloud Storage に不変のストレージを作成できます。バケットロックは、FINRA、SEC、CFTC などの規制やコンプライアンス要件への対応に役立ちます。また、医療業界のデータ保持規制への対応にも役立ちます。

概要

  • バケットに保持ポリシーを追加して、保持期間を指定できます。

    • バケットに保持ポリシーが設定されている場合、バケット内のオブジェクトを削除または上書きできるのは、所定の保持期間を経過した後です。

    • 保持ポリシーは、バケットに追加された新しいオブジェクトだけでなく、バケット内の既存のオブジェクトにさかのぼって適用されます。

  • 保持ポリシーをロックし、バケットに永久に設定できます。

    • 保持ポリシーをロックすると、そのポリシーを削除したり、保持期間を短縮したりすることはできません。

    • バケット内のすべてのオブジェクトが保持期間を満たしていない限り、ロックされた保持ポリシーのバケットを削除することはできません。

    • ロックされた保持ポリシーの保持期間は延長できます。

    • 保持ポリシーのロックは記録保持規制の遵守に役立ちます。

  • オブジェクトが削除または上書きされないように、個々のオブジェクトに保留を設定できます

保持ポリシー

保持ポリシーは、新しいバケットを作成するときに追加できます。また、既存のバケットに追加することもできます。バケットに保持ポリシーを設定すると、保持ポリシーに定義されている保持期間が経過するまで、バケット内のオブジェクトは削除または上書きできなくなります。この制約は、現在バケットにあるオブジェクトだけでなく、今後バケットに作成されるオブジェクトにも適用されます。保持期間が経過していないオブジェクトを削除または上書きしようとすると、403 - retentionPolicyNotMet エラーが発生し、処理が失敗します。

たとえば、バケット内にオブジェクト A とオブジェクト B の 2 つのオブジェクトがあり、オブジェクト A は 1 か月前に、オブジェクト B は 2 年前にバケットに追加したとします。このバケットに保持期間 1 年の保持ポリシーを適用した場合、オブジェクト A は追加されてからまだ 1 か月しか経過していないため、あと 11 か月経過するまで削除や上書きはできません。オブジェクト B はすでに保持期間を経過しているため、すぐに削除または上書きできます。オブジェクト B を上書きすると、この新しいバージョンの経過時間は 0 年になります。

個々のオブジェクトが削除可能かどうかを確認できるように、保持ポリシーが設定されたバケット内の各オブジェクトには、保持期間の有効期限を表すメタデータが維持されます。このメタデータは、オブジェクトが保持期間を満了する日時を表します。

保持ポリシーを使用する場合は、次の点に注意してください。

  • 保持ポリシーがロックされていない限り、保持期間を変更したり、バケットから保持ポリシーを削除したりできます。

  • 保持ポリシーの変更は、影響を受けるオブジェクトの数に関係なく、単一のクラス A オペレーションと見なされます。

  • オブジェクトの編集可能メタデータは保持ポリシーの対象ではありません。オブジェクト自体ができない場合でも変更できます。

  • 保持ポリシーには有効期間が含まれます。バケット内のすべてのオブジェクトにこの保持期間が適用されます。

  • 保持ポリシーが設定されたバケット内の特定のオブジェクトが削除可能になる最短の日付は、オブジェクト メタデータの保持期間の有効期限の部分で確認できます。

  • Cloud Storage で保持ポリシーとオブジェクトのバージョニングを併用することはできません。1 つのバケットで一度に有効にできるのは一方のみです。保持ポリシーを適用するときにバケット内にあり、バージョニングされているオブジェクトも保持ポリシーで保護されます。

  • オブジェクトのライフサイクル管理を使用して、バケット内のオブジェクトを自動的に削除できます。ポリシーがロックされたバケットでも同様にオブジェクトを管理できますが、オブジェクトが保持ポリシーを満たすまで、ライフサイクル ルールでオブジェクトが削除されることはありません。

  • 組織のポリシーの制約を使用して、新しいバケットを作成するときや、既存のバケットに保持ポリシーの追加または更新を行うときに、特定の保持期間が定義された保持ポリシーの追加を義務付けることもできます。この組織ポリシーの設定手順を含め、詳細については、組織ポリシーの設定をご覧ください。

保持期間

保持期間は秒単位で測定されます。ただし、Google Cloud Platform Consolegsutil などのツールでは、他の時間単位で保持期間を表示することもできます。その場合、次のような変換規則が適用されます。

  • 1 日は 86,400 秒とする。
  • 1 か月は 31 日、2,678,400 秒とする。
  • 1 年は 365.25 日、31,557,600 秒とする。

最大保持期間の 3,155,760,000 秒(100 年)まで設定できます。

gsutil で保持期間を指定する場合は、[NUMBER][UNIT] の形式を使用します。[UNIT] は、smd または y で、それぞれ秒、分、日、年を表します。1 つのコマンドで使用できる時間単位は 1 つだけです。たとえば、900s または 15m は有効ですが、15m30s は無効です。

保持ポリシーのロック

バケットで保持ポリシーをロックすると、ポリシーの削除や保持期間の短縮を防ぐことができます(保持期間の延長は可能です)。ロックされたポリシーの保持期間を削除または短縮しようとすると、400 BadRequestException エラーが発生します。保持ポリシーをロックすると、バケット内のすべてのオブジェクトが保持期間を満了するまで、バケットを削除することはできません。

保持ポリシーのロックを元に戻すことはできません。この機能を使用する前に、この機能の影響を十分に確認してください。ロックされていない保持ポリシーは削除できます。この場合、必要に応じてオブジェクトを削除できます。保持ポリシーをロックした場合、ポリシーを削除するにはバケット全体を削除する必要があります。ただし、保持期間を満たしていないオブジェクトがある場合はバケットを削除できません。したがって、ロックされた保持ポリシーを削除するには、バケット内のすべてのオブジェクトがその保持期間を満たすまで待ってから、バケットを削除することになります。

また、保持ポリシーをロックした場合、Cloud Storage はバケットを含むプロジェクトの projects.delete 権限にリーエンを自動的に適用します。これにより、プロジェクトが削除できなくなります。プロジェクトを削除するには、このようなリーエンをすべて削除する必要があります。リーエンを削除するには、roles/owner 役割と roles/resourcemanager.lienModifier 役割に含まれる resourcemanager.projects.updateLiens 権限が必要です。

保持ポリシーのロックが記録保持規制の遵守にどのように役立つかについては、コンプライアンスのセクションをご覧ください

オブジェクト保留

オブジェクト保留は、個々のオブジェクトに設定するメタデータ フラグです。保留が設定されたオブジェクトは削除できません。Cloud Storage では、次のような保留を使用できます。

  • イベントベースの保留
  • 一時的な保留

イベントベースの保留は、保持ポリシーと一緒に使用して、イベントの発生に基づいて保持を制御できます。たとえば、ローンの支払い後、ローンの関係文書を一定期間保持する場合に使用します。一時的な保留は、規制や法的調査の目的で使用されます。たとえば、法的調査で取引関連の書類を保持する場合に使用します。

1 つのオブジェクトに両方の保留を設定することもできます。また、保留を設定しなくてもかまいません。オブジェクトを格納するバケットに保持ポリシーが設定されていなければ、どちらの保留タイプも同じように機能しますが、保持ポリシーが設定されていれば、保留を解除したときのオブジェクトに対する影響が異なります。

  • イベントベースの保留の場合、保持期間を維持するため、バケット内のオブジェクトの経過時間がリセットされます。
  • 一時的な保留の場合、このような目的でバケット内でオブジェクトの経過時間が変更されることはありません。

保持期間が 1 年に設定されたバケットに、オブジェクト A とオブジェクト B の 2 つのオブジェクトがあるとします。オブジェクトをバケットに追加したときに、オブジェクト A にイベントベースの保留が設定され、オブジェクト B に一時的な保留が設定されています。保留が設定されていなければ、これらのオブジェクトは 1 年後に削除可能になりますが、この場合は保留が設定されているため、オブジェクトを削除できません。

この時点で、両方のオブジェクトの保留を解除するとします。オブジェクト A の場合、保持期間を維持するため、バケット内のオブジェクトの経過時間がゼロにリセットされます。つまり、もう 1 年経過しないと、オブジェクトの削除や上書きはできません。オブジェクト B の場合、オブジェクトが保持期間を満了したときに一時的な保留の影響はないため、すぐに削除または上書きできます。

デフォルトのイベントベースの保留プロパティ

個々のオブジェクトに保留を設定するだけでなく、バケットでデフォルトのイベントベースのプロパティを有効にすることもできます。この場合、バケットに新しいオブジェクトを追加するたびに、これらのオブジェクトにイベントベースの保留が自動的に設定されます。

これは、特定のイベントが発生した後に一定期間オブジェクトをバケット内に残したい場合に便利です。たとえば、ローンの支払いが完了した後にローン関連の文書を数年間保管しなければならない場合に使用します。バケットに適切な保持ポリシーが設定され、デフォルトのイベントベースの保留プロパティが有効になっている場合、ローン関連文書をバケットにアップロードすると、イベントベースの保留が設定されます。ローンを完済したときに保留を解除できます。この時点で、保持ポリシーにより、保持期間が完了するまでローン関連文書が変更されずに保管されます。

コンプライアンス

銀行、証券ブローカー ディーラー、記録管理会社など、米国を拠点とする金融機関は、電子記録の保持に関する規制要件(保持期間、記録形式、記録品質、記録の可用性など)を満たす必要があります。たとえば、次のような規制を遵守する必要があります。

Google Cloud のお客様が、前述のいずれかの規制に該当すると判断した場合、自社の法律顧問や金融監督機関の監督下で特定要件に対するコンプライアンス評価を完了する必要があります。この評価プロセスを支援するため、Google Cloud では Cohasset Associates, Inc.(「Cohasset」)と協力し、Cloud Storage のコンプライアンス機能に対して客観的な評価を行っています。Cohasset は、Cloud Storage でバケットロック機能を適切に構成して使用した場合、SEC Rule 17a-4(f)、CFTC Rule 1.31(c)-(d)、FINRA Rule 4511(c) などの米国の記録保持規制の遵守に役立つと評価しています。Cloud Storage のバケットロック機能に統合された制御コードにより、Cloud Storage で WORM(1 回限りの書き込みと複数回の読み取り)に対応した不変のストレージを作成できます。詳しくは、こちらのレポートをご覧ください

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。