Transparent Data Encryption(TDE)を使用して、データファイルに対してリアルタイムの I/O 暗号化および復号を実行できます。データはディスクに書き込まれる前に暗号化され、ディスクからメモリに読み取られるときに復号されます。TDE はデータファイルのサイズを増加させません。 TDE を使用するために、アプリケーションを変更する必要はありません。データセキュリティを向上させるために、ApsaraDB for MongoDB コンソールでインスタンスの TDE を有効にして、インスタンスデータを暗号化できます。
前提条件
インスタンスは、レプリカセットインスタンスまたはシャードクラスターインスタンスです。
インスタンスのストレージエンジンは WiredTiger です。
インスタンスはローカルディスクを使用してデータを保存します。
インスタンスは MongoDB 4.0 または 4.2 を実行しています。インスタンスが以前のメジャーバージョンを実行している場合は、インスタンスのメジャーバージョンをアップグレードできます。詳細については、「インスタンスのメジャーバージョンをアップグレードする」をご参照ください。
説明TDE を有効にする前に、MongoDB 4.0 または 4.2 を実行する従量課金インスタンスを作成して、アプリケーションとデータベースバージョンの互換性をテストできます。テストが完了したら、インスタンスをリリースできます。
インスタンスのアーキテクチャまたはストレージエンジンがビジネス要件を満たしていない場合は、他の方法を使用して構成を変更できます。詳細については、「インスタンスの構成を変更する」をご参照ください。
影響
TDE を有効にすると、インスタンスが再起動され、アプリケーションはインスタンスから切断されます。オフピーク時に TDE を有効にし、アプリケーションがインスタンスに自動的に再接続できるようにすることをお勧めします。
TDE が有効になると、インスタンスの CPU 使用率が増加します。
物理バックアップを使用して、TDE で暗号化されたコレクションを自己管理データベースにリストアすることはできません。 TDE で暗号化されたコレクションを自己管理データベースにリストアするには、論理バックアップを使用できます。詳細については、「論理バックアップを使用してインスタンスデータを自己管理 MongoDB データベースにリストアする」をご参照ください。
使用上の注意
TDE を有効にした後は無効にすることはできません。
インスタンスに対して TDE を有効にした後、インスタンスがリリースされた場合、[ごみ箱] からインスタンスをリストアすることはできません。
インスタンスに対してのみ TDE を有効にできます。TDE はコレクション内のデータのみを暗号化するために使用できます。フィールドデータを暗号化するには、手動操作を実行できます。手動のフィールドレベルの暗号化は MongoDB 4.2 でのみサポートされています。詳細については、「明示的(手動)クライアント側のフィールドレベル暗号化」を参照してください。
説明コレクションを作成するときに、コレクションの暗号化を無効にすることができます。詳細については、「特定のコレクションの暗号化を無効にする」をご参照ください。
TDE が有効になった後に作成されたコレクションのみが暗号化されます。
Key Management Service(KMS)は、TDE によって使用されるキーを生成および管理します。 ApsaraDB for MongoDB は、暗号化に必要なキーまたは証明書を提供しません。 KMS の詳細については、「Key Management Service とは」をご参照ください。
説明デフォルトの KMS キーのみがサポートされています。
インスタンスに対して TDE を有効にした後、インスタンスのキーを変更することはできません。インスタンスのキーを変更するには、Data Transmission Service(DTS)を使用して、インスタンスから新しいキーを使用する新しいインスタンスにデータを移行します。詳細については、「ApsaraDB for MongoDB インスタンス間でデータを移行する」をご参照ください。
手順
レプリカセットインスタンス ページまたは シャードクラスターインスタンス ページに移動します。 上部のナビゲーションバーで、インスタンスが存在するリージョンを選択します。 次に、インスタンスを見つけて、インスタンスの ID をクリックします。
インスタンスの詳細ページの左側のナビゲーションウィンドウで、 を選択します。
TDE ステータス: の横にあるスイッチをオンにして、TDE を有効にします。
TDE の有効化 ダイアログボックスで、キー生成方法を選択します。
自動作成されたキーを使用:システムによって自動的に生成されたキーを使用します。
カスタムキーを使用:ドロップダウンリストからカスタムキーを選択します。ドロップダウンリストにカスタムキーが表示されない場合は、カスタムキーを作成してから、キーを選択します。カスタムキーの作成方法の詳細については、「CMK を作成する」をご参照ください。
説明デフォルトの KMS キーのみがサポートされています。
[OK] をクリックします。
インスタンスは [TDE を変更中] 状態になります。インスタンスの状態が [実行中] に変わると、TDE が有効になります。
特定のコレクションの暗号化を無効にする
TDE を有効にすると、すべての新しいコレクションが暗号化されます。コレクションを作成するときに、コレクションの暗号化を無効にすることができます。
mongo シェルを使用してインスタンスに接続します。詳細については、「mongo シェルを使用してレプリカセットインスタンスに接続する」または「mongo シェルを使用してシャードクラスターインスタンスに接続する」をご参照ください。
暗号化を無効にしてコレクションを作成します。
構文:
db.createCollection("<collection_name>",{ storageEngine: { wiredTiger: { configString: "encryption=(name=none)" } } })説明構文では、
collection_nameはコレクションの名前を示します。サンプルコード:
db.createCollection("customer",{ storageEngine: { wiredTiger: { configString: "encryption=(name=none)" } } })