Amazon S3 オブジェクトロック

オブジェクトレベルの不変性によりランサムウェアイベントからデータを保護することで、オブジェクトが誤ってまたは悪意を持って削除されたり、上書きされたりするのを防止します

概要

Amazon S3 は、世界中の何百万ものお客様にとって信頼できるプライマリストレージです。99.999999999% (イレブンナイン) のデータ耐久性により、お客様は、クラウドネイティブアプリケーション、データレイク分析出力、メディアファイルなど、事実上あらゆるユースケースでビジネスクリティカルなデータを保存および保護できます。どのようなデータであっても、バックアップを作成し、悪意のあるユーザーや誤操作による削除に対して十分な保護策を施すことがベストプラクティスです。

S3 Object Lock は、お客様が指定した保持期間中、永続オブジェクトが削除されないようにする機能です。データ保護を一層強化するために、または規制コンプライアンスを遵守するために、ファイル保持ポリシーを強制的に適用できます。S3 Object Lock では、S3 バージョニングが自動的に有効になり、これらの機能が連携して、ロックされたオブジェクトバージョンが (偶発的または意図的に) 完全に削除されたり、write-once-read-many (WORM) モデルを使用して上書きされたりすることを防ぎます。S3 Object Lock は、ランサムウェア対策のためのオブジェクトストレージの不変性に関する業界標準であり、Cohesity、Commvault、Rubrik、Veeam、Veritas などの AWS ストレージパートナーによるクラウドストレージ、バックアップ、データ保護ソリューションで使用されています。

利点

データの不変性は、権限のあるユーザーによる意図しない変更や削除、権限のないユーザーによる変更を防ぐため、データ保護計画の中核となる側面です。これにより、ランサムウェアイベントでデータが削除または変更されるのを防ぐことができます。S3 Object Lock は、意図しないものであれ、悪意のある行為によるものであれ、個人やプロセスによるデータの変更や削除を防止します。

S3 Object Lock は、WORM ストレージを必要とする規制要件を満たすのに役立てたり、またはオブジェクトの変更と削除に対する保護の別のレイヤーを追加するために使用することができます。Cohasset Associates は、SEC 17a-4、CFTC、FINRA の規制の対象となる環境に対して、S3 Object Lock を評価しました。コンプライアンスモード(オーバーライド不可)を使用すると、データが規制対象のコンプライアンス監視に適合しやすくなります。Object Lock がこれらの規制とどのように関連しているかについての詳細は、Cohasset Associates のコンプライアンスアセスメントをご覧ください。

S3 バージョニング機能を使用して、バケットに保存されたあらゆるオブジェクトのあらゆるバージョンを保持、取得、復元することができます。バージョニングを使用すると、意図せぬユーザー操作からもアプリケーションの障害からも簡単に回復できます。S3 Object Lock で自動的に有効化される S3 バージョニングは、以前のバージョンにフォールバックできるのでデータの回復性が高まります。 詳細はこちら

S3 Object Lock はどのように機能しますか?

S3 オブジェクトロックの仕組み

S3 オブジェクトロックはバケットまたはオブジェクトレベルで使用でき、新しいバケットを作成するとき、または既存のバケットで有効にできます。バケット (またはバケット内のオブジェクト) で S3 オブジェクトロックを使用するには、まずバケットのバージョニングを有効にする必要があります。後でバージョニングを有効にすることはできません。保持期間とリーガルホールドは個々のオブジェクトバージョンで異なります。オブジェクトバージョンをロックすると、Amazon S3 はそのオブジェクトバージョンのメタデータにロック情報を保存します。オブジェクトに保持期間またはリーガルホールドを設定すると、リクエストで指定されたバージョンのみが保護されます。オブジェクトの新しいバージョンが作成されるのを妨げることはありません。

S3 オブジェクトロックの保護は、オブジェクトが格納されているストレージクラスと、ストレージクラス間の S3 ライフサイクル移行に関係なく維持されます。オブジェクトの上書きを防ぐ S3 バージョニングと併用すれば、S3 Object Lock が適用されている間、オブジェクトをイミュータブルに保つことができます。事前定義された保持期日またはリーガルホールド期日以前のオブジェクトバージョンの削除を防ぐには、ワークロードを既存の WORM ストレージシステムから Amazon S3 に移行し、S3 Object Lock をオブジェクトレベルおよびバケットレベルで設定します。 

S3 Object Lock が有効になっているバケットで S3 レプリケーションを有効にして、保持設定とともにオブジェクトをレプリケートすることもできます。ソースバケットで S3 Object Lock が有効になっている場合は、送信先バケットでも S3 Object Lock が有効になっている必要があります。

S3 Object Lock によるオブジェクト保持の管理

S3 Object Lock は 2 通りの方法でオブジェクト保持を管理できます: 保持期間リーガルホールドです。バケットで S3 Object Lock を有効にすると、オブジェクトバージョンには保持期間とリーガルホールドの両方を設定できます。一方には両方を設定し、他方にはどちらも設定しないこともできます。 

  • 保持期間 - オブジェクトがロックされたままになる一定期間を指定します。この期間中、オブジェクトは WORM で保護され、上書きや削除はできません。オブジェクトバージョンに保持期間を設定すると、Amazon S3 はオブジェクトバージョンのメタデータにタイムスタンプを保存して、保持期間の終了日が示されます。保持期間が終了すると、オブジェクトバージョンにリーガルホールドを設定しない限り、オブジェクトバージョンは上書きまたは削除可能になります。バケットポリシーを使用すると、バケットの最小許容保持期間と最大保持期間を設定できるため、許容される保存期間の範囲を設定できます。 詳細については、「保持期間」を参照してください
  • リーガルホールド ー 保持期間と同じ保護を提供しますが、有効期限はありません。代わりに、明示的に削除しない限り、リーガルホールドは引き続き適用されます。リーガルホールドは保持期間とは別個のものです。詳細については、「リーガルホールド」を参照してください。

独立して設定されるリーガルホールドとは異なり、保持期間とリテンションモードは常に組み合わせて設定されます。S3 Object Lock には、オブジェクトの保護を異なるレベルで行う 2 つの保持モードがあります。いずれの保持モードも、Object Lock で保護されているどのオブジェクトバージョンにも適用できます。

  • ガバナンスモード ー ガバナンスモードでは、特別な許可がない限り、ユーザーはオブジェクトバージョンを上書きまたは削除したり、ロック設定を変更したりすることはできません。ガバナンスモードでは、ほとんどのユーザーがオブジェクトを削除できないように保護しますが、必要に応じて一部のユーザーに保持設定を変更したり、オブジェクトを削除したりする許可を与えることができます。コンプライアンスモードの保持期間を作成する前に、ガバナンスモードを使用して保持期間の設定をテストすることもできます。
  • コンプライアンスモード ー コンプライアンスモードでは、AWS アカウントの root ユーザーを含め、どのユーザーも保護対象オブジェクトバージョンを上書きしたり削除したりすることはできません。オブジェクトがコンプライアンスモードでロックされている場合、保持モードを変更したり、保持期間を短縮したりすることはできません。コンプライアンスモードは、保持期間中にオブジェクトバージョンを上書きまたは削除できないようにするのに役立ちます。  S3 Object Lock は、Cohasset Associates によって SEC Rule 17a-4(f)、FINRA Rule 4511、CFTC Regulation 1.31 への対応状況が評価されています。 

S3 バッチオペレーションで S3 Object Lock を大規模に使用する

S3 Object Lock は、デフォルトロックを使用してすべての新しいオブジェクトに対してバケット上で簡単に有効にできます。既存のオブジェクトについては、S3 バッチオペレーションと S3 オブジェクトロックを使用して、ロックを設定したり、既存の保持期間を延長したり、最大数十億のオブジェクトに対して一度にリーガルホールドを有効化または解除したりできます。マニフェストでターゲットオブジェクトのリストを指定し、それをバッチオペレーションに送信して完了させます。

その他すべての S3 Object Lock 設定と同様に、保持期間は個々のオブジェクトバージョンに適用されます。1 つのオブジェクトのバージョンが異なれば、保持モードや保持期間も異なります。

例えば、30 日間の保持期間で 15 日が経過したオブジェクトがあり、同じ名前で 60 日間の保持期間が設定された新しいオブジェクトを Amazon S3 にアップロードするとします。この場合、アップロードは成功し、Amazon S3 は 60 日間の保持期間でオブジェクトの新しいバージョンを作成します。古いバージョンは元の保持期間を維持し、15 日後に削除可能になります。

オブジェクトバージョンに保持設定を適用した後で、保持期間を延長できます。そのためには、オブジェクトバージョンに対して、S3 Batch Operations を使ってそのオブジェクトバージョンで現在設定されているものよりも後のリテンション期日の新しいロックリクエストを送信します。Amazon S3 は、既存の保持期間を新しいより長期間の保持期間に置き換えます。 詳細はこちら

パートナー

S3 のデータ保護の開始方法

Amazon S3 に保存されているデータの場合、Amazon S3 バージョニングから開始するのがお勧めです。これにより、Amazon S3 バケットに保存されているすべてのオブジェクトのすべてのバージョンを保持、取得、復元できます。その後、Amazon S3 Object Lock を追加して、一定時間、または無期限にデータが削除または上書きされないようにすることができます。マルチリージョン保護のために別の AWS リージョンにデータの追加コピーを作成する場合は、S3 Object Lock がオンになっているバケットに対して Amazon S3 レプリケーションを有効にするよう AWS サポートにリクエストできます。次に、S3 レプリケーションを S3 バージョニングと S3 Object Lock の両方で使用して、オブジェクトを AWS リージョンや個別の AWS アカウント間で自動的にコピーできます。既存のオブジェクトで S3 Object Lock を使用したり、ロックの有効期限が近づいている既存のオブジェクトのロック期間を延長したりするには、S3 バッチオペレーションと S3 インベントリレポートを使用できます。最後に、Amazon S3 Storage Lens を使用すると、現在のデータ保護レベルとこれらの機能の使用状況をすべて 1 つのダッシュボードにまとめて表示できます。

Amazon S3 でデータを保護する方法の詳細については、S3 データ保護の入門チュートリアルをご覧ください。