【ITニュース解説】S3 Object Lock which mode
2025年10月04日に「Dev.to」が公開したITニュース「S3 Object Lock which mode」について初心者にもわかりやすく解説しています。
ITニュース概要
S3 Object Lockは、S3のデータを誤削除や改ざんから保護する機能だ。2つのモードがあり、最も厳格なコンプライアンスモードでは、期間中は誰もデータ変更・削除できない。柔軟なガバナンスモードもある。期間指定のリテンションと、解除まで保護するリーガルホールドを併用し、多様なデータ保持要件に対応する。
ITニュース解説
S3 Object Lockは、Amazon S3に保存されたデータを誤って削除したり、意図しない変更が加えられたりするのを防ぐための重要な機能である。これは、特に企業が法的な規制や業界の基準に厳密に従う必要がある場合に、データの完全性と可用性を保証するために利用される。システムエンジニアにとって、この機能の理解はデータのライフサイクル管理やコンプライアンス遵守の設計において不可欠だ。
S3 Object Lockには、データの保護レベルを決定する二つの異なるモードが存在する。一つ目は「ガバナンスモード」である。このモードは、ほとんどのユーザーがオブジェクトを削除したり上書きしたりするのを防ぐが、特定の権限を持つユーザー、具体的には「s3:BypassGovernanceRetention」という特別な許可を持つユーザーは、これらの保護ルールを迂回してオブジェクトの変更や削除を行うことができる。このモードは、データ保持のルールを適用しつつも、運用上の柔軟性をある程度確保したい場合に非常に有用だ。例えば、通常はデータを保持したいが、特別な理由で管理者のみが変更する必要があるといった状況が考えられる。
二つ目は「コンプライアンスモード」と呼ばれ、ガバナンスモードよりもはるかに厳格なデータ保護を提供する。このモードが適用されたオブジェクトは、設定された保持期間が終了するまで、Amazon S3のルートアカウントを含むいかなるユーザーも上書きしたり、削除したりすることができない。一度コンプライアンスモードで保持期間を設定すると、その期間中は誰も変更を加えることができないため、非常に強力な保護となる。このモードは、米国証券取引委員会の規則17a-4(f)や金融業界の規制(FINRA)など、厳格なデータ保持と不変性が求められるコンプライアンス要件を満たすために設計されている。つまり、最も強力で厳格な保護が必要な場合には、このコンプライアンスモードが選ばれる。
S3 Object Lockの機能は、これらのモードに加えて、データを保護する二つの異なる方法も提供している。これらは「保持モード」と「リーガルホールド」である。
まず「保持モード」は、オブジェクトに対して時間ベースの保持期間を設定する機能である。これにより、設定された期間が経過するまで、オブジェクトが削除されたり変更されたりするのを防ぐことができる。この保持モードは、前述のガバナンスモードとコンプライアンスモードの両方で設定可能だ。例えば、特定のファイルを5年間保持するように設定すれば、その5年間はオブジェクトが保護される。期間が過ぎれば、通常の操作が可能となる。
次に「リーガルホールド」という機能がある。これは、保持期間の設定とは独立して機能し、その保持期間が終了したかどうかに関わらず、オブジェクトの削除や変更を防ぐための強力なメカニズムである。リーガルホールドは、明示的に解除されるまで永続的に有効であり、時間制限がない。この機能は、裁判所命令や法的な調査など、特定のデータを法的な理由で無期限に保存する必要がある場合に利用される。例えば、企業が訴訟に関わっている場合、関連するデータをリーガルホールドで保護し、訴訟が解決するまでデータを安全に保つことができる。保持期間がたとえ終了したとしても、リーガルホールドが解除されない限り、データは保護され続けるのだ。
これら二つの保護タイプと二つのモードの関係を整理すると、保持モードはガバナンスモードでは特別な権限があれば上書きや削除が可能だが、コンプライアンスモードではそれができない。一方、リーガルホールドは、どちらのモードで設定されていても、明示的に解除されるまで上書きや削除はできないという点で、非常に強力な保護手段であることがわかる。
まとめると、S3 Object Lockには「ガバナンスモード」と「コンプライアンスモード」の二つのモードがあり、これらはデータの保護レベルの厳格さを規定する。そして、データを保護する具体的な方法としては、「保持モード」と「リーガルホールド」の二つのタイプが存在する。保持モードは時間に基づいてデータを保護し、リーガルホールドは法的な理由で時間に関係なくデータを保護する。もし「どのユーザーもファイルを変更・削除できないようにしたい」という要望があれば、それは保持期間を伴うコンプライアンスモードを用いるべきだ。また、「リーガルホールドが解除されるまでオブジェクトを削除・変更できないようにしたい」という要望には、リーガルホールドを設定することが適切だ。システムエンジニアは、これらの機能とモードの組み合わせを理解し、要件に応じて適切なデータ保護戦略を設計することが求められる。この知識は、安全でコンプライアンスに準拠したシステムを構築する上で非常に重要となる。