オブジェクトロックとは
S3にて、オブジェクトロックを適用するとDeleteObjectVersionアクションを実施できない。
設定の前提
オブジェクトロックを設定するにはバージョニングを有効にしている必要がある。
種類
オブジェクトロックには以下の2種類がある
- リテンションモード:保持期間あり
- リーガルホールド:保持期間なし
それぞれは併用することも可能。
リテンションモード
保持期間を設定し、その期間中はオブジェクトのバージョンを上書きまたは削除を実施できない。
2 つの保持モードが提供されている
モード | 説明 |
---|---|
ガバナンスモード |
s3:BypassGovernanceRetention を持っているIAMユーザーのみがオブジェクトロックを解除できる。また、ガバナンスモードの上書きを必要とするリクエストを送信する場合は、 x-amz-bypass-governance-retention:true をリクエストヘッダーとして明示的に含める必要がある。 |
コンプライアンスモード | ルートユーザーを含めた全てのユーザーが、オブジェクトロックを解除できない。 |
リーガルホールド
設定している間はオブジェクトのバージョンを上書きまたは削除を実施できない。
リテンションモードとの違いは保持期間を設定しないこと。
s3:PutObjectLegalHold
があるユーザーのみがリーガルホールドの適用と解除が可能。