S3 オブジェクトロックのリーガルホールド
Object Lock リーガルホールドオペレーションを使用すると、オブジェクトバージョンにリーガルホールドを適用できます。保持期間の設定と同様に、リーガルホールドは、オブジェクトバージョンが上書きまたは削除されるのを防ぎます。ただし、リーガルホールドには関連する保持期間はなく、削除するまで有効です。
S3 バッチ操作とオブジェクトロックを使用すると、一度に多くの Amazon S3 のオブジェクトをリーガルホールドにすることができます。これを行うには、マニフェストに対象のオブジェクトをリストし、そのリストをバッチ操作に渡します。S3 バッチ操作のオブジェクトロックによるリーガルホールドの適用ジョブは、完了するか、キャンセルするか、エラー状態になるまで実行されます。
S3 バッチ操作は、マニフェストのキーを処理する前に、S3 バケットでオブジェクトロックが有効になっているかどうかを確認します。オブジェクトのオペレーションとバケットレベルでの検証を実行するには、S3 バッチ操作がユーザーの代わりに S3 オブジェクトロックを呼び出せるように、IAM ロールに s3:PutObjectLegalHold
と s3:GetBucketObjectLockConfiguration
が必要です。
リーガルホールドを解除する S3 バッチ操作のジョブを作成するには、リーガルホールドのステータスに Off を指定するだけで構いません。詳細については、「オブジェクトロックの考慮事項」を参照してください。
REST API でこのオペレーションを使用する方法については、Amazon Simple Storage Service API リファレンスの「CreateJob」のオペレーションの「S3PutObjectLegalHold
」をご参照ください。
このオペレーションの使用例については、「AWS SDK for Java の使用」をご参照ください。
制約と制限
-
S3 バッチ操作では、バケットレベルでの変更は行われません。
-
マニフェストに登録されているすべてのオブジェクトは同じバケットにあることが必要です。
-
ジョブを実行するバケットでバージョニングと S3 オブジェクトロックを設定する必要があります。
-
マニフェストでオブジェクトのバージョンが明示的に指定されていない限り、オペレーションにはオブジェクトの最新バージョンが使用されます。
-
s3:PutObjectLegalHold
オブジェクトのリーガルホールドを適用または解除するには、IAM ロールに アクセス許可が必要です。 -
s3:GetBucketObjectLockConfiguration
S3 バケットで S3 オブジェクトロックが有効になっていることを確認するには、 IAM アクセス許可が必要です。