S3 オブジェクトロックの保持
Object Lock 保持オペレーションでは、ガバナンスモードまたはコンプライアンスモードのいずれかを使用して、オブジェクトの保持日を適用できます。これらのリテンションモードは、さまざまなレベルの保護を適用します。いずれかのリテンションモードを任意のオブジェクトバージョンに適用できます。リーガルホールドなどの保持期間に基づいて、オブジェクトの上書きや削除を防ぎます。Amazon S3 は、オブジェクトのメタデータで指定されている retain until date を保存し、その保持期間が経過するまで指定されたバージョンのオブジェクトを保護します。
S3 バッチ操作とオブジェクトロックを使用すると、多くの Amazon S3 のオブジェクトの保持期間を一括で管理できます。マニフェストでターゲットオブジェクトのリストを指定し、そのマニフェストをジョブの完了のためにバッチ操作に送信します。詳細については、S3 オブジェクトロックの「保持期間」を参照してください。
S3 バッチ操作の保持期間の適用ジョブは、完了するか、キャンセルするか、エラー状態になるまで実行されます。S3 バッチ操作と S3 オブジェクトロックによる保持は、1 回のリクエストで多くのオブジェクトの保持期限を追加、変更、削除したい場合に使用することをお勧めします。
バッチ操作は、マニフェストのキーを処理する前に、バケットでオブジェクトロックが有効になっているかどうかを確認します。オペレーションと検証を実行するには、バッチ操作がユーザーの代わりにオブジェクトロックを呼び出せるように、IAM ロールに s3:GetBucketObjectLockConfiguration
アクセス許可と s3:PutObjectRetention
アクセス許可が必要です。詳細については、「オブジェクトロックの考慮事項」を参照してください。
REST API でこのオペレーションを使用する方法については、Amazon Simple Storage Service API リファレンスの「CreateJob」のオペレーションの S3PutObjectRetention
を参照してください。
AWS Command Line Interface でのこのオペレーションの使用例については、「AWS SDK for Java の使用」を参照してください。AWS SDK for Java の例については、「AWS CLI の使用」を参照してください。
制約と制限
-
S3 バッチ操作では、バケットレベルでの変更は行われません。
-
ジョブを実行するバケットでバージョニングと S3 オブジェクトロックを設定する必要があります。
-
マニフェストに登録されているすべてのオブジェクトは同じバケットにあることが必要です。
-
マニフェストでオブジェクトのバージョンが明示的に指定されていない限り、オペレーションにはオブジェクトの最新バージョンが使用されます。
-
この機能を使用するには、IAM ロールに
s3:PutObjectRetention
アクセス許可が必要です。 -
s3:GetBucketObjectLockConfiguration
S3 バケットでオブジェクトロックが有効になっていることを確認するには、 IAM アクセス許可が必要です。 -
オブジェクトの保持期間を延長できるのは、
COMPLIANCE
モードの保持期限が適用されている場合のみであり、短縮することはできません。