Amazon DocumentDB データの保管時の暗号化 - Amazon DocumentDB

Amazon DocumentDB データの保管時の暗号化

注記

AWS KMS では、カスタマーマスターキー (CMK) という用語が AWS KMS key および KMS キーに置き換えられています。この概念に変更はありません。AWS KMS では、互換性を破る変更を避けるため、この用語にいくつかのバリエーションがあります。

クラスターを作成するときに、ストレージの暗号化オプションを指定して、Amazon DocumentDB クラスター内の保存データを暗号化できます。ストレージの暗号化はクラスター全体で有効になり、プライマリインスタンスとレプリカを含むインスタンス全体に適用されます。また、クラスターのストレージボリューム、データ、インデックス、ログ、自動バックアップ、スナップショットにも適用されます。

Amazon DocumentDB は、256 ビット高度暗号化標準 (AES-256) を使用し、AWS Key Management Service (AWS KMS) に保存されている暗号化キーを使用してデータを暗号化します。保存暗号化が有効な Amazon DocumentDB クラスターを使用する場合、アプリケーションロジックやクライアント接続を変更する必要はありません。Amazon DocumentDB はパフォーマンスの影響を最小限に抑えながら、データの暗号化と復号を透過的に処理します。

Amazon DocumentDB は、AWS KMS と統合されエンベロープ暗号化と呼ばれる方法を使用してデータを保護します。Amazon DocumentDB クラスターが AWS KMS で Amazon DocumentDB で暗号化されている場合、AWS KMS は KMSキーを使用してストレージボリュームを 暗号化するための暗号化テキストデータキー を生成するように要求します。暗号化テキストデータキーは、定義する KMS を使用して暗号化され、暗号化されたデータおよびストレージメタデータとともに保存されます。Amazon DocumentDB が暗号化されたデータにアクセスする必要がある場合、AWS KMS に KMS を使用して暗号テキストデータキーの復号を要求し、プレーンテキストデータキーをメモリにキャッシュして、ストレージボリューム内のデータを効率的に暗号化および復号化します。

Amazon DocumentDB のストレージの暗号化機能は、サポートされるすべてのインスタンスサイズおよび AWS リージョン が利用できるすべての Amazon DocumentDB で利用できます。

Amazon DocumentDB クラスターで保管時の暗号化を有効にする

AWS Management Console または AWS Command Line Interface (AWS CLI) を使用して Amazon DocumentDB クラスターがプロビジョニングされるときに、クラスターで保存時の暗号化を有効または無効にできます。コンソールを使用して作成したクラスターでは、デフォルトで保管時の暗号化が有効になっています。AWS CLI を使用して作成したクラスターでは、保管時の暗号化がデフォルトで無効になっています。したがって、保存時の暗号化は --storage-encrypted パラメータを使用して明示的に有効にする必要があります。いずれの場合も、クラスターの作成後は、保存時の暗号化オプションを変更することはできません。

Amazon DocumentDB は AWS KMS を使用して、暗号化キーを取得および管理し、これらのキーの使用方法を制御するポリシーを定義します。AWS KMS キー識別子を指定しない場合、Amazon DocumentDB はデフォルトの AWS マネージドサービス KMS キーを使用します。Amazon DocumentDB は、AWS リージョン で AWS アカウント それぞれに個別の KMS キーを作成します。詳細については、「AWS Key Management Service の概念」を参照してください。

独自の KMS キーの作成を開始するには、開始方法AWS Key Management Service デベロッパーガイド を参照してください。

重要

Amazon DocumentDB がサポートしているのは対称 KMS キーのみであるため、クラスターの暗号化には対称暗号化 KMS キーを使用して必要があります。Amazon DocumentDB クラスター内のデータの暗号化に非対称 KMS キー を使用しないでください。詳細については、AWS Key Management Service デベロッパーガイドの「AWS KMS の非対称キー」を参照してください。

Amazon DocumentDB がクラスターの暗号化キーにアクセスできなくなった場合、例えばキーへのアクセス権が失効した場合など、暗号化されたクラスターは終了状態になります。この場合、クラスターはバックアップからのみ復元できます。Amazon DocumentDB では、バックアップは常に 1 日間有効になります。

また、暗号化された Amazon DocumentDB クラスターのキーを無効にすると、最終的にそのクラスタに対する読み取りおよび書き込みのアクセス権は失われます。Amazon DocumentDB で、アクセスできないキーで暗号化されたクラスターが発生すると、クラスターが終了状態になります。この場合、クラスターは使用できなくなり、データベースの現在の状態を復元することはできません。クラスターを復元するには、Amazon DocumentDB の暗号化キーへのアクセスを再び有効にした後、バックアップからクラスターを復元します。

重要

暗号化されたクラスターの KMS キーを作成した後は、そのクラスターを変更することはできません。暗号化されたクラスターを作成する前に、暗号化キーの要件を確認してください。

Using the AWS Management Console

保管時の暗号化オプションは、クラスターの作成時に指定します。AWS Management Console を使用してクラスターを作成すると、保管時の暗号化がデフォルトで有効になります。クラスターの作成後に変更することはできません。

クラスターの作成時に保管時の暗号化オプションを指定するには
  1. Amazon DocumentDB クラスターの作成は、開始方法 セクションで説明されています。ただし、ステップ 6 では、[クラスターの作成] を選択しないでください。

  2. [Authentication (認証)] セクションの下で、[Show advanced settings (詳細設定の表示)] を選択します。

  3. [Encryption-at-rest (保管時の暗号化)] セクションまで下にスクロールします。

  4. 保存時の暗号化オプションを選択します。どちらのオプションを選択しても、クラスターの作成後に変更することはできません。

    • このクラスターを保管時に暗号化するには、[暗号化の有効化] を選択します。

    • このクラスターで保存されているデータを暗号化しない場合は、[暗号化の無効化] を選択します。

  5. 目的のプライマリキーを選択します。Amazon DocumentDB は AWS Key Management Service (AWS KMS) を使用して、暗号化キーを取得および管理し、これらのキーの使用方法を制御するポリシーを定義します。AWS KMS キー識別子を指定しない場合、Amazon DocumentDB はデフォルトの AWS マネージドサービス KMS キーを使用します。詳細については、「AWS Key Management Service の概念」を参照してください。

    注記

    暗号化されたクラスターを作成したら、そのクラスターの KMS キーを変更することはできません。暗号化されたクラスターを作成する前に、暗号化キーの要件を確認してください。

  6. 必要に応じて他のセクションを完了し、クラスターを作成します。

Using the AWS CLI

AWS CLI を使用して Amazon DocumentDB クラスターを暗号化するにはで、--storage-encrypted オプションを指定する必要があります。AWS CLI を使用して作成された Amazon DocumentDB クラスターは、デフォルトでストレージ暗号化を有効にしないでください。

次の例では、ストレージ暗号化を有効にした Amazon DocumentDB クラスターを作成します。

Linux、macOS、Unix の場合:

aws docdb create-db-cluster \ --db-cluster-identifier sample-cluster \ --port 27017 \ --engine docdb \ --master-username yourPrimaryUsername \ --master-user-password yourPrimaryPassword \ --storage-encrypted

Windows の場合:

aws docdb create-db-cluster ^ --db-cluster-identifier sample-cluster ^ --port 27017 ^ --engine docdb ^ --master-username yourPrimaryUsername ^ --master-user-password yourPrimaryPassword ^ --storage-encrypted

暗号化された Amazon DocumentDB クラスターを作成するときに、次の例に示すように、AWS KMS キー識別子を指定できます。

Linux、macOS、Unix の場合:

aws docdb create-db-cluster \ --db-cluster-identifier sample-cluster \ --port 27017 \ --engine docdb \ --master-username yourPrimaryUsername \ --master-user-password yourPrimaryPassword \ --storage-encrypted \ --kms-key-id key-arn-or-alias

Windows の場合:

aws docdb create-db-cluster ^ --db-cluster-identifier sample-cluster ^ --port 27017 ^ --engine docdb ^ --master-username yourPrimaryUsername ^ --master-user-password yourPrimaryPassword ^ --storage-encrypted ^ --kms-key-id key-arn-or-alias
注記

暗号化されたクラスターを作成したら、そのクラスターの KMS キーを変更することはできません。暗号化されたクラスターを作成する前に、暗号化キーの要件を確認してください。

Amazon DocumentDB 暗号化クラスターに関する制限事項

Amazon DocumentDB の暗号化されたクラスターには、以下の制限事項があります。

  • Amazon DocumentDB クラスターのストレージの暗号化を有効または無効にできるのは、クラスターの作成後ではなく作成時のみです。ただし、暗号化されていないクラスターのスナップショットを作成し、暗号化されていないスナップショットを新しいクラスターとして復元する際に保存時の暗号化オプションを指定します。

    詳細については、以下の各トピックを参照してください。

  • ストレージの暗号化を有効にした Amazon DocumentDB クラスターを変更して暗号化を無効にすることはできません。

  • Amazon DocumentDB クラスターのすべてのインスタンス、自動バックアップ、スナップショット、インデックスは、同じ KMS キーで暗号化されます。