

# クライアント側の暗号化を使用したデータの保護
<a name="UsingClientSideEncryption"></a>

*クライアント側の暗号化*は、データをローカルで暗号化することで、転送時および保管時のセキュリティを確保するためのものです。Amazon S3 に送信する前にオブジェクトを暗号化するには、Amazon S3 暗号化クライアントを使用します。オブジェクトがこの方法で暗号化されている場合、オブジェクトは AWS を含むサードパーティーに公開されません。Amazon S3 は、すでに暗号化されているオブジェクトを受け取るだけで、オブジェクトの暗号化または復号には関与しません。Amazon S3 暗号化クライアントと[サーバー側の暗号化](serv-side-encryption.md)の両方を使用してデータを暗号化できます。暗号化されたオブジェクトを Amazon S3 に送信すると、Amazon S3 はオブジェクトを暗号化されているとは認識せず、一般的なオブジェクトのみを検出します。

Amazon S3 暗号化クライアントは、お客様と Amazon S3 の間の仲介役として機能します。Amazon S3 暗号化クライアントをインスタンス化すると、オブジェクトは、Amazon S3 `PutObject` および `GetObject` リクエストの一部として自動的に暗号化および復号化されます。オブジェクトはすべて、一意のデータキーで暗号化されます。Amazon S3 暗号化クライアントは、ラップキーとして KMS キーを指定した場合でも、バケットキーを使用したり、バケットキーを操作したりしません。

*Amazon S3 暗号化クライアント開発者ガイド*は、Amazon S3 暗号化クライアントのバージョン 3.0 以降に焦点を当てています。詳細については、*Amazon S3 暗号化クライアントデベロッパーガイド*の「[What is the Amazon S3 Encryption Client?](https://docs.aws.amazon.com//amazon-s3-encryption-client/latest/developerguide/what-is-s3-encryption-client.html)」(Amazon S3 暗号化クライアントとは) を参照してください。

Amazon S3 暗号化クライアントの以前のバージョンの詳細については、プログラミング言語に応じた AWS SDK デベロッパーガイドを参照してください。
+ [AWS SDK for Java](https://docs.aws.amazon.com//sdk-for-java/v1/developer-guide/examples-crypto.html)
+ [AWS SDK for .NET](https://docs.aws.amazon.com//sdk-for-net/v3/developer-guide/kms-keys-s3-encryption.html)
+ [AWS SDK for Go](https://docs.aws.amazon.com//sdk-for-go/v1/developer-guide/welcome.html)
+ [AWS SDK for PHP](https://docs.aws.amazon.com//sdk-for-php/v3/developer-guide/s3-encryption-client.html)
+ [AWS SDK for Ruby](https://docs.aws.amazon.com//sdk-for-ruby/v3/api/Aws/S3/Encryption.html)
+ [AWS SDK for C\$1\$1](https://docs.aws.amazon.com//sdk-for-cpp/v1/developer-guide/welcome.html)