

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

# Amazon DocumentDB データの保管時の暗号化
<a name="encryption-at-rest"></a>

**注記**  
AWS KMS は、*カスタマーマスターキー (CMK)* という用語を *AWS KMS key*および *KMS キー*に置き換えます。この概念に変更はありません。重大な変更を防ぐために、 AWS KMS は、この用語のいくつかのバリエーションを保持しています。

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

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

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

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

## Amazon DocumentDB クラスターで保管時の暗号化を有効にする
<a name="encryption-at-rest-enabling"></a>

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

Amazon DocumentDB は AWS KMS 、 を使用して暗号化キーを取得および管理し、これらのキーの使用方法を制御するポリシーを定義します。 AWS KMS キー識別子を指定しない場合、Amazon DocumentDB はデフォルトの AWS マネージドサービス KMS キーを使用します。Amazon DocumentDB は、 AWS リージョン 内の各 に個別の KMS キーを作成します AWS アカウント。詳細については、「[AWS Key Management Service の概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)」を参照してください。

独自の KMS キーの作成を開始するには、[開始方法](https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html) の *AWS Key Management Service デベロッパーガイド* を参照してください。

**重要**  
Amazon DocumentDB がサポートしているのは対称 KMS キーのみであるため、クラスターの暗号化には対称暗号化 KMS キーを使用して必要があります。Amazon DocumentDB クラスター内のデータの暗号化に非対称 KMS キー を使用しないでください。詳細については、AWS Key Management Service デベロッパーガイドの「[AWS KMSの非対称キー](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)」を参照してください。

Amazon DocumentDB がクラスターの KMS キーにアクセスできなくなった場合。たとえば、キーを所有 AWS アカウント する が中断された場合、キーが無効になった場合、キーの削除がスケジュールされた場合、Amazon DocumentDB が依存するキーポリシーまたは許可が削除された場合、クラスターは最初に `inaccessible-encryption-credentials-recoverable`ステータスに移行します。クラスターがこのステータスの間、Amazon DocumentDB はクラスターのインスタンスを停止し、クラスターとの間で読み書きを行うことはできませんが、KMS キーへのアクセスが 7 日以内に復元された場合でもクラスターを復元できます。アクセスが 7 日以内に復元されない場合、クラスターはターミナル`inaccessible-encryption-credentials`ステータスに移行します。ターミナルステータスから、クラスターは使用できなくなり、データベースの現在の状態を復元できなくなります。バックアップから復元するか、元の KMS キーを使用してpoint-in-time復元のみを実行できます。Amazon DocumentDB の場合、バックアップは常に少なくとも 1 日間有効になります。

**注記**  
グローバルクラスターの一部であるクラスターの動作は異なります。Amazon DocumentDB が KMS キーにアクセスできなくなったことを検出すると、グローバルクラスター内のすべてのクラスターはターミナル`inaccessible-encryption-credentials`ステータスに直接移行し、復旧可能なステータスはスキップされます。これは、グローバルクラスターの一部であるクラスターは、グローバルクラスター内の唯一のクラスターである場合にのみ停止および開始できるためです。復旧するには、スナップショットから復元するか、point-in-time復元を実行する必要があります。元のクラスターを削除するには、まずグローバルクラスターから各クラスターを削除してから削除する必要があります。

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

------
#### [ Using the AWS マネジメントコンソール ]

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

**クラスターの作成時に保管時の暗号化オプションを指定するには**

1. Amazon DocumentDB クラスターの作成は、[開始方法](https://docs.aws.amazon.com/documentdb/latest/developerguide/connect-ec2.launch-cluster.html) セクションで説明されています。ただし、ステップ 6 では、[**クラスターの作成**] を選択しないでください。

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

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

1. 保存時の暗号化オプションを選択します。どちらのオプションを選択しても、クラスターの作成後に変更することはできません。
   + このクラスターを保管時に暗号化するには、[**暗号化の有効化**] を選択します。
   + このクラスターで保存されているデータを暗号化しない場合は、[**暗号化の無効化**] を選択します。

1. 目的のプライマリキーを選択します。Amazon DocumentDB は、 AWS Key Management Service (AWS KMS) を使用して暗号化キーを取得および管理し、これらのキーの使用方法を制御するポリシーを定義します。 AWS KMS キー識別子を指定しない場合、Amazon DocumentDB はデフォルトの AWS マネージドサービス KMS キーを使用します。詳細については、「[AWS Key Management Service の概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)」を参照してください。
**注記**  
暗号化されたクラスターを作成したら、そのクラスターの KMS キーを変更することはできません。暗号化されたクラスターを作成する前に、暗号化キーの要件を確認してください。

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

------
#### [ Using the AWS CLI ]

を使用して Amazon DocumentDB クラスターを暗号化するには AWS CLI、 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-db-clusters.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/docdb/describe-db-clusters.html) コマンドを実行し、 `--storage-encrypted`オプションを指定します。を使用して作成された Amazon DocumentDB クラスターは、デフォルトではストレージ暗号化を有効に AWS CLI しません。

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

次の例では{{ユーザー入力プレースホルダー}}をユーザー自身の情報で置き換えます。

**Example**  
Linux、macOS、Unix の場合:  

```
aws docdb create-db-cluster \
  --db-cluster-identifier {{mydocdbcluster}} \
  --port 27017 \
  --engine docdb \
  --master-username {{SampleUser1}} \
  --master-user-password {{primaryPassword}} \
  --storage-encrypted
```
Windows の場合:  

```
aws docdb create-db-cluster ^
  --db-cluster-identifier {{SampleUser1}} ^
  --port 27017 ^
  --engine docdb ^
  --master-username {{SampleUser1}} ^
  --master-user-password {{primaryPassword}} ^
  --storage-encrypted
```

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

**Example**  
Linux、macOS、Unix の場合:  

```
aws docdb create-db-cluster \
  --db-cluster-identifier {{SampleUser1}} \
  --port 27017 \
  --engine docdb \
  --master-username {{primaryUsername}} \
  --master-user-password {{yourPrimaryPassword}} \
  --storage-encrypted \
  --kms-key-id {{key-arn-or-alias}}
```
Windows の場合:  

```
aws docdb create-db-cluster ^
  --db-cluster-identifier {{SampleUser1}} ^
  --port 27017 ^
  --engine docdb ^
  --master-username {{SampleUser1}} ^
  --master-user-password {{primaryPassword}} ^
  --storage-encrypted ^
  --kms-key-id {{key-arn-or-alias}}
```

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

------

## アクセスできない暗号化状態の Amazon DocumentDB クラスターの解決
<a name="encryption-at-rest-inaccessible"></a>

Amazon DocumentDB クラスターが暗号化された KMS キーにアクセスできない場合、Amazon DocumentDB クラスターはアクセスできない暗号化ステータスに移行します。このようなステータスは 2 つあり、復旧パスはクラスターがどのステータスにあるかによって異なります。

### `inaccessible-encryption-credentials-recoverable` のステータス
<a name="encryption-at-rest-inaccessible-recoverable"></a>

クラスターのステータスが の場合`inaccessible-encryption-credentials-recoverable`、Amazon DocumentDB の KMS キーへのアクセスを復元し、クラスターを起動`available`することで、クラスターを に返すことができます。このステータスを解決するには、以下を実行します。

1. KMS キーを所有 AWS アカウント する がアクティブであることを確認します。アカウントが停止されている場合は、再度アクティブ化します。

1. KMS キーが有効になっていることを確認します。詳細については、*AWS Key Management Service デベロッパーガイド* の「[キーの有効化と無効化](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html)」を参照してください。

1. KMS キーの削除がスケジュールされているかどうかを確認します。その場合は、スケジュールされたキーの削除をキャンセルします。詳細については、[「 デベロッパーガイド」の「キーの削除のスケジュールとキャンセル](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys-scheduling-key-deletion.html)」を参照してください。 *AWS Key Management Service *

1. KMS キーポリシーと Amazon DocumentDB が依存する許可が、Amazon DocumentDB にキーの使用を許可していることを確認します。

1. KMS キーへのアクセスが復元されたら、 AWS マネジメントコンソール または `start-db-cluster` AWS CLI コマンドを実行してクラスターを起動します。  
**Example**  

   Linux、macOS、Unix の場合:

   ```
   aws docdb start-db-cluster \
     --db-cluster-identifier {{example-cluster}}
   ```

   Windows の場合:

   ```
   aws docdb start-db-cluster ^
     --db-cluster-identifier {{example-cluster}}
   ```

**重要**  
KMS キーへのアクセスが 7 日以内に復元されない場合、クラスターはターミナル`inaccessible-encryption-credentials`ステータスに移行し、そこから開始することはできません。

### `inaccessible-encryption-credentials` のステータス
<a name="encryption-at-rest-inaccessible-terminal"></a>

`inaccessible-encryption-credentials` ステータスはターミナルです。クラスターを起動できず、データベースの実行状態を復元できません。データを復元するには、スナップショットから復元するか、新しいクラスターへのpoint-in-time復元を実行します。復元を実行するには、元の KMS キーにアクセスできる必要があります。KMS キーが削除された場合、データは復元できません。

詳細については、「[クラスタースナップショットからの復元](backup_restore-restore_from_snapshot.md)」および「[特定時点への復元](backup_restore-point_in_time_recovery.md)」を参照してください。

**注記**  
グローバルクラスターの一部であるクラスターは、グローバルクラスターの一部であるクラスターがグローバルクラスター内の唯一のクラスターである場合にのみ停止および開始できるため、KMS キーへのアクセスが失われると `inaccessible-encryption-credentials`ステータスに直接移行します。このステータスのクラスターを削除するには、まずグローバルクラスターから各クラスターを削除してから、クラスターを個別に削除します。

削除保護が有効になっているため、 `inaccessible-encryption-credentials`ステータスのクラスターを削除できない場合は、削除を再試行 AWS CLI する前に を使用して削除保護をオフにします。

**Example**  
Linux、macOS、Unix の場合:  

```
aws docdb modify-db-cluster \
  --db-cluster-identifier {{example-cluster}} \
  --no-deletion-protection
```
Windows の場合:  

```
aws docdb modify-db-cluster ^
  --db-cluster-identifier {{example-cluster}} ^
  --no-deletion-protection
```

その後、 `delete-db-cluster` コマンドを使用してクラスターを削除できます。

**Example**  
Linux、macOS、Unix の場合:  

```
aws docdb delete-db-cluster \
  --db-cluster-identifier {{example-cluster}} \
  --skip-final-snapshot
```
Windows の場合:  

```
aws docdb delete-db-cluster ^
  --db-cluster-identifier {{example-cluster}} ^
  --skip-final-snapshot
```

上記のコマンドを実行してもクラスターが削除されない場合は、 [AWS サポート](https://aws.amazon.com/support)にお問い合わせください。

## Amazon DocumentDB 暗号化クラスターに関する制限事項
<a name="encryption-at-rest-limits"></a>

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

  詳細については、以下の各トピックを参照してください。
  + [手動クラスタースナップショットの作成](backup_restore-create_manual_cluster_snapshot.md)
  + [クラスタースナップショットからの復元](backup_restore-restore_from_snapshot.md)
  + [Amazon DocumentDB クラスタースナップショットのコピー](backup_restore-copy_cluster_snapshot.md)
+ ストレージの暗号化を有効にした Amazon DocumentDB クラスターを変更して暗号化を無効にすることはできません。
+ Amazon DocumentDB クラスターのすべてのインスタンス、自動バックアップ、スナップショット、インデックスは、同じ KMS キーで暗号化されます。