【正解】B
【0からの解説】
①前提知識:Cloud Storage のバケットの保持ポリシー(retention policy)は、バケット内のすべてのオブジェクトについて「作成から指定期間が経過するまで削除・上書きできない」ようにする機能です。期間は秒・日・月・年単位で指定でき、ポリシーを設定するとバケット内の既存および新規のオブジェクトすべてに適用されます。さらに保持ポリシーをロック(バケットロック)すると、ポリシーの削除や期間の短縮もできなくなり、規制対応(WORM:Write Once Read Many)にも使えます。
②要件と制約語の整理:(a) 「すべてのデータ」が対象、(b) 「少なくとも 3 年間」保存されることを保証する。つまり個々のオブジェクトへの手作業ではなく、バケット全体に一律で最低保持期間を強制する仕組みが必要です。
③正解の理由:バケットに保持期間 3 年の保持ポリシーを設定すれば、すべてのオブジェクトが作成から 3 年経過するまで削除・置換できなくなり、要件を直接満たします。確実に変更できないようにする必要があれば、ポリシーをロックします。
【誤りの選択肢】
A:一時的な保持(temporary hold)はオブジェクト単位で設定するフラグで、解除するまで削除を防ぎますが、期間の概念がなく「3 年間」という最低保持期間を表現できません。すべてのオブジェクトに個別に設定・管理する必要もあり、調査や訴訟対応などで一時的に削除を止める用途向けです。
C:ストレージ クラスはデータの保存料金とアクセス料金の体系を決めるもので、Archive クラスは長期保存向けに保存料金が安い代わりに取り出し料金がかかり、最低保存期間 365 日の早期削除料金が設定されています。しかし早期削除料金は削除を「禁止」するものではなく、料金を払えばいつでも削除できるため、3 年間の保存を保証できません。
D:オブジェクトのバージョニングは、上書きや削除の際に以前の世代を非現行バージョンとして残す機能で、誤操作からの復元に役立ちます。しかし非現行バージョンも含めて削除は可能で、保存期間を強制する仕組みではないため、3 年間の保存を保証できません。
【参考】
バケットロック | Cloud Storage保持ポリシーの使用とロック | Cloud Storage