Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

パブリック ネットワーク経由で Azure Key Vault を使用してカスタマー キーを管理する

項目一覧

  • 前提条件
  • プロジェクトでのカスタマー マネージド キーの有効化
  • Atlas クラスターのカスタマー キー管理の有効化
  • プロジェクトのカスタマー マネージド キーの無効化
  • 暗号化のキーへのアクセスを取り消す
  • Azure Key 識別子のローテーション
  • 関連トピック

注意

この機能は、次の配置では使用できません。

  • サーバーレス インスタンス

  • M0 クラスター

  • M2/M5 クラスター

  • Flex クラスター

詳しくは、「 の制限 」を参照してください。

AKV(Azure Key Vault)のカスタマー マネージド キー(CMK)を使用して、Atlas で保管中のデータをさらに暗号化できます。 このページでは、Atlas プロジェクトとそのプロジェクト内のクラスターで AKVを使用してカスタマー キー管理を構成する方法について説明します。

MongoDB プロジェクトでAKVを使用してカスタマー マネージド キーを有効にするには、次の手順を実行する必要があります。

  • Azureアカウントと Key Vault の認証情報と、暗号化のキーのキー識別子をAKVに用意します。

    • アカウントには、クライアント ID、テナント ID、およびシークレットが必要です。

    • キーヴォールトには、サブスクリプション ID、リソース グループ名、およびキーヴォールト名が必要です。

    これらの Azure コンポーネントの構成方法については、 Azure ドキュメント を参照してください。

    Atlas は、Atlas プロジェクト内のクラスターの保管時の暗号化を有効にするときにこれらのリソースを使用します。

プロジェクト内のクラスターで CMK を有効にする前に、プロジェクトでCMKを有効にする必要があります。 Atlas UI と Atlas Administration API からプロジェクトでCMKを有効にできます。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のAdvancedをクリックします。

    詳細ページが表示されます。

2
3
4
clientId
Azure アプリケーションのClient ID (またはApplication ID )を入力します。 Active Directory ApplicationにはAzure key Vault Readerのロールが割り当てられている必要があります。
テナント ID
Active Directory テナントのTenant ID (またはDirectory ID )を入力します。
シークレット
Active Directory テナントに関連付けられているアプリケーションの有効期限が切れていないクライアント シークレットの 1 つを入力します。
Azure 環境
Active Directory テナントが存在する Azure クラウドを選択します。
5
サブスクリプション ID
キーヴォールトのSubscription IDを入力します。
リソース グループ名
キーヴォールトを含むAzure Resource GroupResource Group名を入力します。
キーヴォールト名

キーヴォールトの名前を入力します。 Key Vault リソース グループはResource Groupと一致する必要があり、Key Vault には次のアクセス ポリシーが必要です。

  • キー管理操作

  • GET

  • 暗号化操作:

    • ENCRYPT

    • DECRYPT

注意

AKV へのプライベートエンドポイント接続を有効にして設定した後は、ここで AKV 認証情報を変更することはできません。

6
キー識別子

Key Vault で作成されたキーの完全なURLを入力します。

重要: キー識別子は、完全な Azure一般形式 で指定する必要があります。

https://{keyvault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}
7

詳細については、 「 プロジェクトでのプライベートエンドポイント接続の有効化と設定」を参照してください

8

Azure Private Link を使用してAtlas Administration API を使用して Atlas を構成し、Atlas と Key Vault 間のすべてのトラフィックがAzureのプライベート ネットワーク インターフェースで行われるようにした場合、Atlas はRequire Private NetworkingステータスをActiveに設定します。 ステータスがInactive の場合、Atlas で AKV へのプライベートエンドポイント接続を使用する場合 は、プロジェクトのプライベートエンドポイント接続の有効化と設定 の手順を完了できます。

注意

プライベートエンドポイント経由でAKVを使用した保管時の暗号化 機能は、リクエストによって利用できます。 Atlas 配置でこの機能をリクエストするには、アカウント マネージャーに問い合わせてください。

9

Atlas は、暗号化プロセス中に Atlas コンソールにバナーを表示します。

1

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest" \
--data '
{
"azureKeyVault": {
"azureEnvironment": "AZURE",
"clientID": "5e4ea010-a908-45a1-a70b-ebd2e4feb055",
"enabled": true,
"keyIdentifier": "https://{EXAMPLEKeyVault}.vault.azure.net/keys/{EXAMPLEKey}/ d891821e3d364e9eb88fbd3d11807b86",
"keyVaultName": "string",
"resourceGroupName": "string",
"secret": "string",
"subscriptionID": "d0dd68eb-7e97-448c-b361-f7a7213dc7e2",
"tenantID": "f95ac700-4c8f-4a38-a8d1-1582733edd5b"
}
}'

注意

AKV へのプライベートエンドポイント接続を有効にして設定した後は、次の設定を変更できません。

  • keyVaultName

  • resourceGroupName

  • subscriptionID

2

AKVを使用して管理するキーを使用して保管時の暗号化を有効化および構成するリクエストを確認するには、 GETリクエストをencryptionAtRestエンドポイントに送信します。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/encryptionAtRest"
{
"azureKeyVault": {
"azureEnvironment": "AZURE",
"clientID": "5e4ea010-a908-45a1-a70b-ebd2e4feb055",
"enabled": true,
"keyIdentifier": "https://EXAMPLEKeyVault.vault.azure.net/keys/EXAMPLEKey/d891821e3d364e9eb88fbd3d11807b86",
"keyVaultName": "string",
"requirePrivateNetworking": false,
"resourceGroupName": "string",
"subscriptionID": "d0dd68eb-7e97-448c-b361-f7a7213dc7e2",
"tenantID": "f95ac700-4c8f-4a38-a8d1-1582733edd5b",
"valid": true
}
}

プロジェクトでCMKを使用して保管時の暗号化を正常に有効にしている場合、レスポンスではenabledtrueになります。 プライベートネットワークを設定して 、Atlasと Key Vault 間のすべてのトラフィックがAzureのプライベートネットワークインターフェイスを介して行われるようにすることができます。 詳細については、 「 プロジェクトでのプライベートエンドポイント接続の有効化と設定 」を参照してください。

プロジェクトでカスタマー マネージド キーを有効 にした後、暗号化するデータを含む各 Atlas クラスターに対してカスタマー キー マネジメントを有効にする必要があります。

注意

該当プロジェクト内のクラスターのカスタマー キー管理を有効にするには、Project Owner ロールが必要です。

新しいクラスターの場合は、クラスターを作成するときに 独自の暗号化キーの管理設定を [Yes] に切り替えます。

既存クラスターの場合:

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. まだ表示されていない場合は、サイドバーの Clusters をクリックしてください。

    [ Clusters (クラスター) ] ページが表示されます。

2

暗号化するデータを含むクラスターで、クリックします、次にEdit Configurationを選択します。

3
  1. [Additional Settings] パネルを展開します。

  2. Manage your own encryption keys 設定を Yes に切り替えます。

  3. クラスターのRequire Private Networking設定のステータスを確認します。

    プロジェクト レベルで Atlas のCMKを使用した保管時の暗号化(オーバープライベート ネットワーク)を構成した場合、ステータスはActiveです。 プロジェクトにプライベートエンドポイント接続を構成していない場合、ステータスはInactiveです。

4
  1. [Review Changes] をクリックします。

  2. 変更内容を確認し、[Apply Changes] をクリックしてクラスターをアップデートします。

プロジェクトの機能を無効にする前に、プロジェクト内の各クラスターでカスタマー キー管理を無効にする必要があります。

警告

Atlas プロジェクト内でカスタマー キー管理を無効にする前に、Atlas プロジェクト内のいずれかのクラスターが使用する AKV キーを無効にしたり削除したりし ない でください。Atlas がAKVキーにアクセスできない場合、そのキーが暗号化したデータにはアクセスできなくなります。

Atlas の暗号化のキーへのアクセスは、 AKV内から取り消すことができます。 Atlas は、 AKV IP アクセス リストで Atlas コントロール プレーンが制限されていない限り、暗号化のキーへのアクセスを取り消すと、クラスターを自動的に一時停止します。

クラスターの自動一時停止を許可するには、次のいずれかを行う必要があります。

  • AKVの IP アクセス リストを無効にする

  • Atlas コントロール プレーン から AKV へのアクセスを許可します。

注意

MongoDB は、新しい Atlas コントロール プレーンの IP アドレスを徐々に追加します。 AKVの IP アクセス リストを使用している間は、IP アクセス リストを更新してクラスターの自動一時停止を許可する必要があります。

IPAtlas暗号化のキーへのアクセスを取り消すときに、 コントロール プレーンからのアクセスが制限されている場合は、 Atlas アクセスを取り消すためにクラスターを手動で一時停止する必要がありAtlas 。

注意

この機能は、次の配置では使用できません。

  • サーバーレス インスタンス

  • M0 クラスター

  • M2/M5 クラスター

  • Flex クラスター

詳しくは、「 制限 」を参照してください。

開始する前に、 「 Azure キー識別子のローテーションについて 」を参照してください。

Atlasプロジェクトに関連付けられた AKV に新しいキーを作成する必要があります。次の手順では、Atlas で新しいキー識別子を指定して、Atlasプロジェクトキー識別子をローテーションする方法を説明します。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のAdvancedをクリックします。

    詳細ページが表示されます。

2
3
  1. Azure Key Vaultセレクターがまだアクティブでない場合は、 Azure Key Vaultをクリックします。

  2. Encryption Keyセレクターがまだアクティブでない場合は、 Encryption Keyをクリックします。

  3. Key Identifierフィールドに Azure キー識別子を入力します。

    新しい暗号化キー識別子への完全なURLを含めます。 例:

    https://mykeyvault.vault.azure.net/keys/AtlasKMSKey/a241124e3d364e9eb99fbd3e11124b23

    重要

    暗号化のキーは、プロジェクト用に構成されたキーヴォールトに属している必要があります。 プロジェクトに現在構成されているキーヴォールトを表示するには、 Key Vaultセクションをクリックします。

  4. [Update Credentials] をクリックします。

Atlas は、キー識別子のローテーション プロセス中に Atlas UI にバナーを表示します。 変更がデプロイされるまで、元のキー識別子を削除したり無効にしたり しない でください。

クラスターが クラスターのバックアップを使用する場合は、スナップショットが暗号化にそのキーを使用していないことを検証するまで、元のキー識別子を削除したり無効にしたり しないでください。

戻る

Azure Key Vault