

# Amazon S3 でのオブジェクトの整合性のチェック
<a name="checking-object-integrity"></a>

Amazon S3 は、オブジェクトのストレージライフサイクル全体でさまざまなデータ保護機能を提供します。Amazon S3 では、チェックサム値を使用して、アップロードまたはダウンロードするデータの整合性を検証できます。さらに、S3 に保存するオブジェクトについて、別のチェックサム値を計算するようにリクエストすることもできます。

データをアップロード、コピー、または管理する場合は、サポートされているいくつかのチェックサムアルゴリズムから選択できます。
+ CRC-64/NVME (`CRC64NVME`)
**注記**  
`CRC64NVME` チェックサムアルゴリズムは、チェックサム計算に使用されるデフォルトのチェックサムアルゴリズムです。
+ CRC-32 (`CRC32`)
+ CRC-32C (`CRC32C`)
+ SHA-1 (`SHA1`)
+ SHA-256 (`SHA256`)
+ MD5 (`MD5`)
+ XXHash64 (`XXHASH64`)
+ XXHash3 (`XXHASH3`)
+ XXHash128 (`XXHASH128`)
+ SHA-512 (`SHA512`)

**注記**  
`x-amz-checksum-md5` ヘッダーを使用して、事前に計算された MD5 チェックサムを指定できます。AWSSDK は、MD5 チェックサムを自動的に計算しません。マルチパートアップロードの場合、S3 バッチオペレーションのコンピューティングチェックサムオペレーションは、保管中のオブジェクトの完全なオブジェクト MD5 チェックサムを計算できます。レガシー `Content-MD5` ヘッダーは、SSE-S3 暗号化を使用した単一パートアップロードで引き続き使用できます。

オブジェクトを S3 にアップロードする際に、チェックサムのアルゴリズムの使用法を指定できます。アップロードでは、すべての AWS 所有クライアントでオブジェクトのチェックサムが計算され、アップロードリクエストとともに送信されます。次に、S3 はサーバー側のオブジェクトのチェックサム値を個別に計算し、指定された値で検証してから、オブジェクトとチェックサム値を保存します。単一パートアップロードまたはマルチパートアップロードを実行するときに (マルチパートアップロードにはフルオブジェクトのチェックサムタイプを使用)、これらのチェックサムアルゴリズムに事前計算された値を指定することもできます。複数のオブジェクトで事前計算された値を使用するには、AWS CLI または AWS SDK を使用します。

あるいは、データを復元またはダウンロードすることなく S3 でデータセットを検証する場合は、S3 バッチオペレーションで **[チェックサムを計算]** オペレーションを使用できます。**[チェックサムを計算]** オペレーションを使用すると、1 つのジョブリクエストで数十億のオブジェクトを効率的に検証できます。**[チェックサムを計算]** オペレーションが実行されると、S3 は保管中のオブジェクトのリストのチェックサム値を計算します。ジョブリクエストの最後に、自動的に生成された整合性レポート (完了レポートとも呼ばれます) を受け取ります。これを使用して、データセットがそのまま維持されていることを確認できます。

**Topics**
+ [Amazon S3 でデータアップロードのオブジェクトの整合性をチェックする](checking-object-integrity-upload.md)
+ [Amazon S3 で保管中のデータのオブジェクトの整合性を確認する](checking-object-integrity-at-rest.md)