サーバー側の暗号化を使用したデータの保護
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 レスポンスヘッダーとしても利用可能になります。この更新がすべての AWS リージョン で完了したら、ドキュメントを更新します。詳細については、「デフォルトの暗号化のよくある質問」を参照してください。
サーバー側の暗号化とは、データを受信するアプリケーションまたはサービスによって、送信先でデータを暗号化することです。Amazon S3 は、データセンターのディスクに書き込まれるときにデータをオブジェクトレベルで暗号化し、お客様がデータにアクセスするときに復号します。リクエストが認証され、お客様がアクセス許可を持っていれば、オブジェクトが暗号化されているかどうかに関係なく同じ方法でアクセスできます。例えば、署名付き URL を使用してオブジェクトを共有する場合、その署名付き URL は、オブジェクトが暗号化されているかどうかに関係なく同じように動作します。また、バケット内のオブジェクトを一覧表示すると、リスト API は、オブジェクトが暗号化されているかどうかに関係なく、すべてのオブジェクトのリストを返します。
異なる種類のサーバー側暗号化を同時に同じオブジェクトに適用することはできません。
暗号化キーの管理方法の選択に応じて、相互に排他的な 3 つのオプションを使用できます。
Amazon S3 マネージドキーを用いたサーバー側の暗号化 (SSE-S3)
Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3) を使用すると、各オブジェクトは一意のキーで暗号化されます。追加の保護措置として、定期的にローテーションされるルートキーを使ってキーそのものを暗号化します。Amazon S3 のサーバー側の暗号化では、利用できるものの中でも最強のブロック暗号の 1 つである、256 ビットの高度暗号化規格 (AES-256) GCM を使用してデータを暗号化します。AES-GCM より前に暗号化されたオブジェクトについては、これらのオブジェクトを復号するために AES-CBC が引き続きサポートされています。詳細については、「Amazon S3 が管理する暗号化キーによるサーバー側の暗号化 (SSE-S3) の使用」を参照してください。
AWS Key Management Service に保存されている KMS キーによるサーバー側の暗号化 (SSE-KMS)
AWS KMS keys (SSE-KMS) によるサーバー側の暗号化は、SSE-S3 と似ていますが、このサービスを使用した場合はいくつかの追加の利点があり、追加の料金がかかります。Amazon S3 のオブジェクトへの不正アクセスに対する追加の保護を提供する KMS キーを使用するための個別の許可があります。また、SSE-KMS は、KMS キーがいつ誰によって使用されたかを示す監査証跡も提供します。さらに、カスタマーマネージドキーを作成および管理したり、ユーザー、サービス、およびリージョンに固有の AWS マネージドキーを使用できます。詳細については、AWS Key Management Service (SSE-KMS) によるサーバー側の暗号化の使用 を参照してください。
顧客提供のキーを用いたサーバー側の暗号化 (SSE-C)。
お客様が指定したキーによるサーバー側の暗号化 (SSE-C) を使用する場合は、お客様が暗号化キーを管理します。Amazon S3 は、ディスクに書き込む際の暗号化とオブジェクトにアクセスする際の復号を管理します。詳細については、「お客様が指定したキーによるサーバー側の暗号化 (SSE-C) の使用」を参照してください。