Azure Key Vault でカスタマーキーを管理する
項目一覧
注意
AKV(Azure Key Vault)のカスタマー マネージド キー(CMK)を使用して、Atlas で保管中のデータをさらに暗号化できます。 Azure Private Link を使用して、 AKVへのすべてのトラフィックを構成することもできます。
Atlas は Azure Key Vault CMKを使用して MongoDB マスターキーを暗号化および復号化します。 これらの MongoDB マスターキーは、クラスターのデータベースファイルとクラウドプロバイダーのスナップショットを暗号化するために使用されます。 Atlas がCMKを使用して暗号化する方法の詳細については、「 Azure Key Vault を使用したカスタマー マネージド キーについてのを参照してください。
独自のクラウドプロバイダーKMS Bluetooth を使用する場合、Atlas はMongoDBマスター キーを少なくとも90 日ごとに自動的にローテーションします。メンテナンスウィンドウ中にキー ローテーションが開始されます(構成されている場合)。メンテナンス(手動または自動)を延期すると、キーが 90 日を超えてローテーションされる可能性があります。キーは順次ローテーションされるため、プロセスでデータを書き換える必要はありません。
重要
AzureはCMKの クライアント シークレットの有効期間を 2 年に制限します。 クライアント シークレットの有効期限が切れると、Atlas はCMKにアクセスできなくなります。 したがって、有効期限が切れる前にクライアントシークレットをローテーションして、クラスターの可用性が失われるのを防ぎます。
このページでは、Atlas プロジェクトでAKVを使用してカスタマー キー管理を設定する方法について説明します。 また、Atlas Administration API を使用して、 AKVで Azure Private Link を自動的に設定し、Atlas とAKV間のすべてのトラフィックがAzureのプライベート ネットワーク インターフェイスを介して行われるようにすることもできます。
Atlas プロジェクトのカスタマー キー マネジメントを構成してから、そのプロジェクトのクラスターで有効にします。
Azure Key Vault を使用したカスタマー マネージド キーについて
Atlas では、 エンベロープ暗号化 というプロセスに沿ってカスタマー キーを管理します 。このプロセスでは、あるキーを別のキーで暗号化することによって複数の暗号化レイヤーが作成されます。 カスタマー キー管理を有効にするために、MongoDB Atlas では以下の暗号化キーが使用されます。
Customer-Managed Key (CMK)
カスタマー管理キーは、Azure Key Vault で作成、所有、管理する暗号化のキーです。 Azure Key Vault でCMKを作成し、プロジェクトレベルで Atlas に接続します。 Azure Key Vault で使用される CMK について詳しくは、 Azure のドキュメント を参照してください。 。
Atlas はこのキーを MongoDB マスター キーの暗号化にのみ使用します。
MongoDB Master Key
Atlasマスター キーを作成しMongoDB 。 MongoDB マスターキーは、MongoDB Server がデータベースごとに暗号化されたキーを暗号化するために使用する暗号化キーです。 Atlas は、キーの暗号化されたコピーをローカルに保存します。
このキーは CMK で暗号化され、データベースごとに暗号化されたキーを暗号化します。
Per-Database Encryption Key
MongoDB Atlas の各ノードは、クラスター内のデータベースごとに暗号化のキーも作成します。Atlas はこれらのキーを使用して、WiredTiger を介してデータの読み取りと書き込みを行い、WiredTiger はこれらのキーを暗号化して保存します。
このキーは、MongoDB マスターキーで暗号化されます。
例
ノードが 3 つのレプリカ セットの次の暗号化階層を検討してみましょう。 Atlas は、Azure Key Vault のCMKを使用して、クラスター内の各ノードで一意の MongoDB マスター キーを暗号化します。 また、各ノードには 3 つのデータベースが含まれており、それぞれがデータベースごとに固有の暗号化キーで暗号化されています。 クラスターが起動すると、Atlas は Azure Key Vault のCMKを使用して MongoDB マスター キーを復号化し、これを MongoDB Server に提供します。
注意
Atlas の CMK へのアクセスを取り消すと、Atlas はクラスター内のノードをシャットダウンし、 CMK へのアクセスを復元するまでデータにアクセスできなくなります。
知っている必要があること
AKV CMKを使用するように Atlas を構成した後、「 停止時の Azure Key Vault フェイルオーバーについて 」および「 停止時の Azure Key Vault フェイルオーバーについて」を参照してください。
Azure キー識別子のローテーションについて
注意
MongoDB マスターキー - MongoDB の責任
独自のクラウドプロバイダーKMS Bluetooth を使用する場合、Atlas はMongoDBマスター キーを少なくとも90 日ごとに自動的にローテーションします。メンテナンスウィンドウ中にキー ローテーションが開始されます(構成されている場合)。メンテナンス(手動または自動)を延期すると、キーが 90 日を超えてローテーションされる可能性があります。キーは順次ローテーションされるため、プロセスでデータを書き換える必要はありません。
Azure キー ID のローテーション - お客様の責任
Atlas は、Azure Key Vault に使用されるキー識別子を自動的にローテーションしません。
Atlasencryption key rotation alert
90プロジェクトで保管時の 暗号化を有効 にする場合、Atlas はデフォルトで 日ごとに Azure キー識別子のローテーションを促すため、 を自動的に作成します。
ローテーション が可能 Azure Key Vault に自分で保存するか、キーを自動的にローテーションするように Azure Key Vault を構成する 。自動ローテーション を構成する場合 Azure Key Vault では、ローテーションのデフォルトの期間は約365 日です。
Azure Key Vault で自動ローテーションをすでに設定していて、90 日ごとに Azure キー識別子をローテーションするための Atlas アラートを受信したくない場合は、デフォルトのアラート期間を 365 日より長く変更できます。
停止時の Azure Key Vault フェイルオーバーについて
リージョン停止中は、 AKVリージョンが利用できなくなる可能性があります。 このような場合、 Azureは受信した Key Vault リクエストを事前に割り当てられたセカンダリ リージョンに自動的にルーティングします。 詳しくは、「 Azure Key Vault フェイルオーバー 」を参照してください。 および リージョン ペア。
両方のリージョンがダウンした場合は、リージョン ペア外のリージョンにキーを手動で移行できます。 詳しくは、「 キーヴォールトをリージョン間で移動する 」を参照してください。
注意
カスタマー キー マネジメントを使用した保管時の暗号化 を有効にした場合、停止中も少なくとも 1 つのノードが使用可能な状態であれば暗号化および復号化操作を実行できます。 Atlas はクラスターをシャットダウンしません。
特定のリージョンでは、 Azureは自動フェイルオーバーをサポートしていません。 詳しくは、 Azure のドキュメント を参照してください。
次のステップ
パブリック ネットワークまたはAzureプライベート エンドポイント経由で AKV(Azure Key Vault)からのカスタマー マネージド キー(CMK)を使用できます。 詳しくは、以下を参照してください。
必要なアクセス権
カスタマー キー マネジメントを構成するには、プロジェクトに対して Project Owner
のアクセス権が必要です。
Organization Owner
アクセス権を持つユーザーは、自分自身を Project Owner
としてプロジェクトに追加する必要があります。
注意
カスタマー キー マネジメントを使用した保管時の暗号化 を有効にした場合、停止中も少なくとも 1 つのノードが使用可能な状態であれば暗号化および復号化操作を実行できます。