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