ある企業が、Amazon S3 に保存する業務データに対して、データを誰かが誤って削除したり上書きしたりしても、30 日以内は必ず復元できるようにしたい。また、システム管理者でさえもデータを強制的に削除できないようにしたい。最も適切なソリューションはどれか。
- A. AWS Backup で毎日 S3 バケットをバックアップし、30 日間保持する。
- B. S3 バージョニングを有効化し、ライフサイクルポリシーで旧バージョンを 30 日後に削除する。
- C. S3 バケットポリシーで DeleteObject アクションを全ユーザーに対して Deny する。
- D. S3 Object Lock を COMPLIANCE モードで有効化し、保持期間を 30 日に設定する。バージョニングも同時に有効化される。
解答と解説を見る
正解: D
S3 Object Lock の COMPLIANCE モードは、保持期間中は root ユーザーを含むいかなる IAM エンティティもオブジェクトを削除・上書きできない。GOVERNANCE モードと異なり、管理者であっても保持ロックを解除できないため「システム管理者でも削除不可」の要件を満たす。バージョニングは Object Lock 有効化時に自動的に有効になる。選択肢BはS3 バージョニングで誤削除からの復元は可能だが、管理者(バケット所有者)はバージョンを完全に削除できるため「管理者でも削除不可」要件を満たさない。選択肢Cのバケットポリシーで DeleteObject を Deny するだけでは、バケット所有者はバケットポリシーを変更して自ら Deny を解除できるため管理者の削除を防ぐことはできない。選択肢AのAWS Backup は有効な手段だが、元のバケットのオブジェクト自体を保護する機能ではない。
📚 関連サービスの解説: Amazon S3