Amazon S3 のデフォルトバケット暗号化の有効化 - Amazon Simple Storage Service

Amazon S3 のデフォルトバケット暗号化の有効化

Amazon S3 バケットでデフォルトの暗号化動作を設定して、すべてのオブジェクトがバケットに保存される際に暗号化されるようにします。オブジェクトは、Amazon S3 マネージド キー (SSE-S3) または AWS Key Management Service (AWS KMS) キーのいずれかで、サーバー側の暗号化を使って暗号化されます。

AWS KMS を使用してデフォルトの暗号化を設定する場合は、S3 バケットキーを設定することもできます。詳細については、[Amazon S3 バケットキーを使用した SSE−KMS のコストの削減] を参照してください。

デフォルト暗号化は、すべての既存および新規の Amazon S3 バケットに対して動作します。デフォルト暗号化を使用しない場合、バケットに保存されたすべてのオブジェクトを暗号化するには、すべてのオブジェクトストレージのリクエストに暗号化情報を含める必要があります。Amazon S3 バケットポリシーを設定して、暗号化情報が含まれていないストレージリクエストを拒否する必要もあります。

S3 バケットのデフォルトの暗号化の使用に追加料金はかかりません。デフォルトの暗号化機能を設定するためのリクエストには、標準 Amazon S3 リクエスト料金がかかります。料金については、[Amazon S3 の料金] を参照してください。SSE-KMS KMS キーストレージには AWS KMS の料金が適用され、これらは「AWS KMS の料金」に記載されています。

デフォルトの暗号化を有効にする前に注意する変更

バケットに対してデフォルトの暗号化を有効にした後は、以下の暗号化動作が適用されます。

  • デフォルト暗号化が有効にされる前にバケットに存在していたオブジェクトの暗号化は、変更されません。

  • デフォルト暗号化を有効にした後、オブジェクトをアップロードするとします。

    • PUT リクエストヘッダーに暗号化情報が含まれていない場合、Amazon S3 はオブジェクトを暗号化するために、バケットのデフォルトの暗号化設定を使用します。

    • PUT リクエストヘッダーに暗号化情報が含まれている場合、Amazon S3 は PUT リクエストの暗号化情報を使用してオブジェクトを Amazon S3 に保存する前に暗号化します。

  • デフォルト暗号化設定に SSE-KMS オプションを使用する場合、 の RPS (1 秒あたりのリクエスト) 制限が適用されますAWS KMS AWS KMS の制限と、制限の引き上げをリクエストする方法については、[AWS KMS の制限] を参照してください。

Amazon S3 バケットのデフォルト暗号化を有効にするには

  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. [Buckets (バケット)] リストで、目的のバケットの名前を選択します。

  3. [プロパティ] を選択します。

  4. [Default encryption (デフォルトの暗号化)] で、[Edit (編集)] を選択します。

  5. サーバー側の暗号化を有効または無効にするには、[Enable (有効にする)] または [Disable (無効にする)] を選択します。

  6. Amazon S3 マネージドキーを使用してサーバー側の暗号化を有効にするには、[Encryption key type (暗号化キータイプ)] で [Amazon S3 key (SSE-S3) (Amazon S3 キー (SSE-S3))] を選択します。

    Amazon S3 のサーバー側の暗号化を使用してデータを暗号化する方法の詳細については、[Amazon S3 が管理する暗号化キーによるサーバー側の暗号化 (SSE−S3) を使用したデータの保護] を参照してください。

  7. AWS KMS key を使用してサーバー側の暗号化を有効にするには、次の手順に従います。

    1. [Encryption key type] (暗号化キーのタイプ) で、[AWS Key Management Service key (SSE-KMS)] (キー (SSE-KMS)) を選択します。

      重要

      デフォルト暗号化設定に AWS KMS オプションを使用する場合、AWS KMS の RPS (1 秒あたりのリクエスト) 制限が適用されます。AWS KMS クォータの詳細およびクォータの引き上げをリクエストする方法については、クォータを参照してください。

    2. [AWS KMS key] で、次のいずれかを選択します。

      • AWS マネージドキー (aws/s3)

      • KMS ルートキーから選択しKMS ルートキーを選択します。

      • KMS マスターキー ARN を入力し、AWS KMS キー ARN を入力します。

      重要

      バケットと同じ AWS リージョン で有効になっている KMS キーのみを使用できます。[Choose from your KMS keys] (KMS キーから選択する) を選択する場合、S3 コンソールにはリージョンごとに 100 個の KMS キーしか表示されません。同じリージョンに 100 個以上の KMS キーがある場合、S3 コンソールには最初の 100 個の KMS キーしか表示されません。コンソールに表示されていない KMS Cキーを使用するには、[カスタム KMS ARN] を選択し、KMS キー ARN を入力します。

      Amazon S3 でサーバー側の暗号化に AWS KMS key を使用する場合は、対称暗号化 KMS キーを選択する必要があります。Amazon S3 では、対称暗号化 KMS キーのみがサポートされ、非対称暗号化 KMS キーはサポートされません。詳細については、AWS Key Management Service デベロッパーガイド対称キーと非対称キーの使用を参照してください。

      AWS KMS key の作成の詳細については、AWS Key Management Service デベロッパーガイドキーの作成を参照してください。Amazon S3 での AWS KMS の使用に関する詳細は、AWS Key Management Service (SSE-KMS) でサーバー側の暗号を使ってデータを保護します。 を参照してください。

  8. S3 バケットキーを使用するには、[バケットキー] で [有効化] を選択します。

    SSE-KMS でデフォルトの暗号化を使用するようにバケットを設定する場合は、S3 バケットキーを有効にすることもできます。S3 バケットキーは、Amazon S3 から AWS KMS へのリクエストトラフィックを減らし、暗号化のコストを削減します。詳細については、[Amazon S3 バケットキーを使用した SSE−KMS のコストの削減] を参照してください。

  9. [Save changes] (変更を保存) をクリックします。

以下の例では、Amazon S3 管理の暗号化 (SSE-S3) または AWS KMS 暗号化 (SSE-KMS) と S3 バケットキーを使用して、デフォルトの暗号化を設定する方法を示します。

デフォルトの暗号化の詳細については、[ Amazon S3 バケット向けのサーバー側のデフォルトの暗号化動作の設定] を参照してください。AWS CLI を使用してデフォルトの暗号化を設定する方法の詳細については、put-bucket-encryption を参照してください。

例 - SSE-S3 を使用したデフォルトの暗号化

この例では、Amazon S3 管理の暗号化を使用したデフォルトのバケット暗号化を設定します。

aws s3api put-bucket-encryption --bucket bucket-name --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] }'

例 - S3 バケットキーを使用した SSE-KMS でのデフォルトの暗号化

この例では、S3 バケットキーを使用して SSE-KMS でデフォルトのバケット暗号化を設定します。

aws s3api put-bucket-encryption --bucket bucket-name --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "KMS-Key-ARN" }, "BucketKeyEnabled": true } ] }'

REST API の PUT Bucket encryption オペレーションを使用して、デフォルト暗号化を有効にし、使用するサーバー側の暗号化のタイプ (SSE-S3 または SSE-KMS) を設定します。

詳細については、Amazon Simple Storage Service API リファレンスの [PutBucketEncryption] を参照してください。