サーバー側の暗号化によるデータの保護
重要
Amazon S3 では、Amazon S3 内のすべてのバケットの基本レベルの暗号化として、Amazon S3 が管理するキー (SSE-S3) によるサーバー側の暗号化が適用されるようになりました。2023 年 1 月 5 日以降、Amazon S3 にアップロードされるすべての新しいオブジェクトは、追加費用なしで、パフォーマンスに影響を与えずに自動的に暗号化されます。S3 バケットのデフォルト暗号化設定と新しいオブジェクトのアップロードのための自動暗号化ステータスは、AWS CloudTrail ログ、S3 インベントリ、S3 ストレージレンズ、Amazon S3 コンソール、および AWS Command Line Interface と AWS SDK の追加の Amazon S3 API レスポンスヘッダーとして利用できるようになりました。詳細については、「デフォルト暗号化に関するよくある質問」を参照してください。
サーバー側の暗号化とは、データを受信するアプリケーションまたはサービスによって、送信先でデータを暗号化することです。Amazon S3 は、AWS データセンターのディスクに書き込まれるときにデータをオブジェクトレベルで暗号化し、お客様がデータにアクセスするときに復号します。リクエストが認証され、お客様がアクセス許可を持っていれば、オブジェクトが暗号化されているかどうかに関係なく同じ方法でアクセスできます。例えば、署名付き URL を使用してオブジェクトを共有する場合、その署名付き URL は、オブジェクトが暗号化されているかどうかに関係なく同じように動作します。また、バケット内のオブジェクトを一覧表示すると、リスト API オペレーションは、オブジェクトが暗号化されているかどうかに関係なく、すべてのオブジェクトのリストを返します。
すべての Amazon S3 バケットにはデフォルトで暗号化が設定されており、S3 バケットにアップロードされたすべての新しいオブジェクトは保存時に自動的に暗号化されます。Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3) は、Amazon S3 のすべてのバケットでのデフォルトの暗号化設定です。別のタイプの暗号化を使用するには、S3 PUT
リクエストで使用するサーバー側の暗号化のタイプを指定するか、宛先バケットにデフォルトの暗号化設定を設定できます。
PUT
リクエストで別の暗号化タイプを指定する場合は、AWS Key Management Service (AWS KMS) キーによるサーバー側の暗号化 (SSE-KMS)、AWS KMS キーによる二層式サーバー側の暗号化 (DSSE-KMS)、または顧客提供のキーによるサーバー側の暗号化 (SSE-C) を使用できます。宛先バケットに別のデフォルト暗号化設定を設定する場合は、SSE-KMS または DSSE-KMS を使用できます。
注記
異なる種類のサーバー側暗号化を同時に同じオブジェクトに適用することはできません。
既存のオブジェクトを暗号化する必要がある場合は、S3 バッチオペレーションと S3 インベントリを使用してください。詳細については、「Encrypting objects with Amazon S3 Batch Operations
サーバー側の暗号化には、暗号化キーの管理方法の選択と適用する暗号化レイヤーの数に応じて、相互に排他的な 4 つのオプションがあります。
Amazon S3 マネージドキーを用いたサーバー側の暗号化 (SSE-S3)
すべての Amazon S3 バケットには、デフォルトで暗号化が設定されています。サーバー側の暗号化のデフォルトのオプションは、Amazon S3 マネージド キー (SSE-S3) を使用しています。一意のキーで各オブジェクトを暗号化します。追加の保護措置として、SSE-S3 は定期的にローテーションされるルートキーを使ってキーそのものを暗号化します。SSE-S3 は、利用可能な最強のブロック暗号の 1 つである 256 ビットの 高度暗号化規格 (AES-256) を使用して、データを暗号化します。詳細については、「Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)」を参照してください。
AWS Key Management Service (AWS KMS) キー (SSE-KMS) によるサーバー側の暗号化
AWS KMS keys (SSE-KMS) によるサーバー側の暗号化は、AWS KMS サービスと Amazon S3 の統合によって提供されます。AWS KMS を使用すると、キーをより細かく制御できます。例えば、個別のキーを表示し、制御ポリシーを編集して、AWS CloudTrail のキーに従うことができます。さらに、カスタマーマネージドキーを作成および管理したり、ユーザー、サービス、およびリージョンに固有の AWS マネージドキー を使用したりできます。詳細については、「AWS KMS キーによるサーバー側の暗号化 (SSE-KMS) の使用」を参照してください。
AWS Key Management Service (AWS KMS) キーによる二層式サーバー側の暗号化 (DSSE-KMS)
AWS KMS keys による二層式サーバー側の暗号化 (DSSE-KMS) は、SSE-KMS と似ていますが、DSSE-KMS では 1 つのレイヤーの代わりに 2 つの個別のオブジェクトレベルの暗号化レイヤーを適用します。両方の暗号化レイヤーがサーバーサイドでオブジェクトに適用されるため、コンプライアンス要件を満たす暗号化方法を使用しながら、幅広い AWS のサービス とツールを使用して S3 内のデータを分析できます。詳細については、「AWS KMS キーによる二層式サーバー側の暗号化 (DSSE-KMS) の使用」を参照してください。
顧客提供のキーを用いたサーバー側の暗号化 (SSE-C)。
顧客提供キーによるサーバー側の暗号化 (SSE−C) では、お客様が暗号化キーを管理し、Amazon S3 はディスクに書き込む際の暗号化とオブジェクトにアクセスする際の復号を管理します。詳細については、「お客様が指定したキーによるサーバー側の暗号化 (SSE−C) の使用」を参照してください。