

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon S3 の暗号化のベストプラクティス
<a name="s3"></a>

[Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) は、量にかかわらず、データを保存、保護、取得するのに役立つクラウドベースのオブジェクトストレージサービスです。

Amazon S3 でのサーバー側の暗号化には 3 つのオプションがあります。
+ [Amazon S3 が管理する暗号化キーによるサーバー側の暗号化 (SSE−S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)
+ [AWS Key Management Service (SSE-KMS) によるサーバー側の暗号化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)
+ [お客様が用意した暗号化キーを使用したサーバー側の暗号化 (SSE-C)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html)

Amazon S3 はAmazon S3のすべてのバケットの暗号化の基本レベルとしてAmazon S3によるサーバー側の暗号化を適用します。2023 年 1 月 5 日以降、Amazon S3 にアップロードされるすべての新しいオブジェクトは、追加費用なしで、パフォーマンスに影響を与えずに自動的に暗号化されます。S3 バケットのデフォルトの暗号化設定と新しいオブジェクトのアップロードの自動暗号化ステータスは、 AWS CloudTrail ログ、S3 インベントリ、S3 ストレージレンズ、Amazon S3 コンソール、および AWS Command Line Interface (AWS CLI) と AWS SDKs の追加の Amazon S3 API レスポンスヘッダーとして使用できます。詳細については、「[デフォルト暗号化に関するよくある質問](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html)」を参照してください。

アップロード時にサーバー側の暗号化を使用してオブジェクトを暗号化する場合は、リクエストに `x-amz-server-side-encryption` ヘッダーを追加して、SSE-S3、SSE-KMS、SSE-C を使用してオブジェクトを暗号化するよう Amazon S3 に指示します。`x-amz-server-side-encryption` ヘッダーの値としては次のようなものが考えられます。
+ `AES256`。Amazon S3 が管理するキーを使用するよう、Amazon S3 に指示します。
+ `aws:kms`。マネージド AWS KMS キーを使用するように Amazon S3 に指示します。
+ SSE-C 用に値を `True` または `False` に設定します。

詳細については、「*Defense-in-depth requirements 1: Data must be encrypted at rest and during transit*」の[「How to Use Bucket Policies and Apply Defense-in-Depth to Help Secure Your Amazon S3 Data](https://aws.amazon.com/blogs/security/how-to-use-bucket-policies-and-apply-defense-in-depth-to-help-secure-your-amazon-s3-data/)」(AWS ブログ記事) を参照してください。

Amazon S3 での[クライアント側の暗号化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html)には 2 つのオプションがあります。
+ に保存されているキー AWS KMS
+ アプリケーション内に保存されたキー

このサービスでは、以下の暗号化のベストプラクティスを検討してください。
+ で AWS Config、[s3-bucket-server-side-encryption-enabled](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-server-side-encryption-enabled.html) AWS マネージドルールを実装して、S3 バケット暗号化を検証して適用します。
+ アップロードされるすべてのオブジェクトが、`s3:x-amz-server-side-encryption` の条件を使用して暗号化されていることを検証する Amazon S3 バケットポリシーをデプロイします。詳細については、「[SSE-S3 を使用したデータの保護](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)」のバケットポリシーのサンプルと、「[バケットポリシーの追加](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html)」を参照してください。
+ S3 バケットのポリシーに `aws:SecureTransport` 条件を使用して、HTTPS (TLS) 経由での暗号化された接続のみを許可します。詳細については、[S3-bucket-ssl-requests-only AWS Config 」ルールに準拠するためにどの S3 バケットポリシーを使用する必要がありますか?](https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-policy-for-config-rule/)
+ で AWS Config、[s3-bucket-ssl-requests-only](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-ssl-requests-only.html) AWS マネージドルールを実装して、SSL を使用するリクエストを要求します。
+ Amazon S3 オブジェクトにクロスアカウントアクセスを許可する必要がある場合は、カスタマーマネージドキーを使用します。他の AWS アカウントからのアクセスを許可するようにキーポリシーを設定します。