

# S3 オブジェクトロックのリーガルホールド
<a name="batch-ops-legal-hold"></a>

Amazon S3 バッチオペレーションを使用すると、Amazon S3 のオブジェクトに対して大規模なバッチオペレーションを実行できます。**[Object Lock のリーガルホールド]** オペレーションを使用すると、オブジェクトバージョンにリーガルホールドを適用できます。保持期間の設定と同様に、リーガルホールドは、オブジェクトバージョンが上書きまたは削除されるのを防ぎます。ただし、リーガルホールドには関連する保持期間はなく、削除するまで有効です。

S3 バッチ操作とオブジェクトロックを使用すると、一度に多くの Amazon S3 のオブジェクトをリーガルホールドにすることができます。これを行うには、マニフェストに対象のオブジェクトのリストを指定し、そのリストをバッチオペレーションに渡します。S3 バッチオペレーションの **[Object Lock のリーガルホールド]** ジョブは、完了するか、キャンセルするか、エラー状態になるまで実行されます。

S3 バッチオペレーションは、マニフェストのオブジェクトを処理する前に、S3 バケットで Object Lock が有効になっているかどうかを確認します。オブジェクトオペレーションとバケットレベルの検証を実行するには、S3 バッチオペレーションに AWS Identity and Access Management (IAM) ロールの `s3:PutObjectLegalHold` と `s3:GetBucketObjectLockConfiguration` が必要です。これらのアクセス許可により、S3 バッチオペレーションはユーザーに代わって S3 Object Lock を呼び出すことができます。

リーガルホールドを削除する S3 バッチオペレーションのジョブを作成するには、リーガルホールドのステータスに `Off` を指定するだけで構いません。詳細については、「[オブジェクトロックの考慮事項](object-lock-managing.md)」を参照してください。

Amazon S3 REST API でこのオペレーションを使用する方法については、「Amazon Simple Storage Service API リファレンス」の「[https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html)」のオペレーションの「`S3PutObjectLegalHold`」を参照してください。**

このオペレーションの使用例については、「[AWS SDK for Java の使用](batch-ops-legal-hold-off.md#batch-ops-examples-java-object-lock-legalhold)」を参照してください。

## 制約と制限
<a name="batch-ops-legal-hold-restrictions"></a>

バッチオペレーションを使用して Object Lock のリーガルホールドを適用または削除する場合、以下の制約と制限が適用されます。
+ S3 バッチオペレーションでは、バケットレベルでの変更は行われません。
+ マニフェストに登録されているすべてのオブジェクトは同じバケットにあることが必要です。
+ ジョブを実行するバケットでバージョニングと S3 オブジェクトロックを設定する必要があります。
+ マニフェストでバージョンが明示的に指定されていない限り、**[Object Lock のリーガルホールド]** オペレーションにはオブジェクトの最新バージョンが使用されます。
+ オブジェクトのリーガルホールドを追加または解除するには、IAM ロールに `s3:PutObjectLegalHold` アクセス許可が必要です。
+ ジョブが実行されている S3 バケットで S3 Object Lock が有効になっていることを確認するには、`s3:GetBucketObjectLockConfiguration` IAM アクセス許可が必要です。
+ 1 つの S3 Object Lock リーガルホールドジョブで、最大 200 億個のオブジェクトを持つマニフェストをサポートできます。