AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

カスタマー キー管理を使用した保管時の暗号化

注意

このページは、Atlas InfiniteとAtlas Coreの両方に適用されます。

カスタマーマネージドキーを使用してデータベースレベルの保管時の暗号化を有効にすることで、データのセキュリティをさらに強化できます。ユーザーはクラウドプロバイダーの KMS 内に保存されている暗号化のキーを所有し、制御します。Atlas が保管中のデータをどのように暗号化し、利用可能なキーの種類がどのように異なるかを学ぶには、「Atlas 保管時の暗号化の概要」を参照してください。

キー管理機能を使用して保管時の暗号化を構成すると、Atlas プロジェクトに追加料金が発生します。詳細については、「高度なセキュリティ」を参照してください。

注意

MongoDB Atlas共有責任モデルは、安全で回復力のあるデータ環境を維持するためのMongoDBとそのカスタマーの補完的な役割を定義します。このフレームワークの下、 MongoDB は基礎のプラットフォームのセキュリティと運用上の整合性を管理しますが、カスタマーは特定の配置の構成、管理、データ ポリシーに責任を負います。所有者のセキュリティと運用の優れ性の詳細な内訳については、共有責任モデルを参照してください。

プロジェクト内のすべてのクラスターと専用サーチ配置で保管時の暗号化のカスタマーマネージドキーが有効になっていることを強制するには、Atlas リソースポリシーを使用します。リソースポリシーを使用すると、クラスターまたはサーチ配置を作成または変更する前に CMK を要求できます。

重要

Flex クラスターで利用できない機能

Flex クラスターは現時点ではこの機能をサポートしていません。詳しくは、 「Atlas Flex の制限事項」をご覧ください。

Atlas プロジェクト向けに保管時の暗号化を構成する際、次のカスタマー キー管理プロバイダーの 1 つ以上を使用できます。

注意

Atlas Infiniteのパブリックプレビューには、カスタマーキーマネジメントに適用する制限がいくつかあります。全リストについては、パブリックプレビューの制限事項をご覧ください。

パブリックプレビューにおいて、AtlasはAtlas Infiniteでのみ、Amazon Web Services KMSを介したカスタマー管理キーをサポートしています。Azure Key VaultおよびGoogle Cloud Platform KMSはサポートされていません。Atlas Infiniteクラスターがカスタマー管理キーを使用している場合、そのスナップショットを作成したプロジェクト内で復元する必要があります。プロジェクト間および組織間の復元はサポートされていません。

Atlasプロジェクトにキー管理プロバイダーを 1 つ以上構成したら、暗号化が必要な Atlas クラスターごとにカスタマー キー管理を有効にできます。キー管理プロバイダーは、クラスター クラウド サービス プロバイダーと同じである必要はありません。

Atlas Infiniteクラスターでは、デフォルトの暗号化とカスタマーマネージドキーの間で、どちらの方向にも移行できます。Atlas Infiniteは移行をキーローテーションとして扱います。クラスターは利用可能な状態を維持し、移行が完了するまで前のキーは有効なままです。詳細については、「Atlas Infinite 暗号化」を参照してください。

注意

カスタマーキー管理を有効または無効にすると、Atlas は最初の同期を実行してクラスター データを再び暗号化します。クラスター上のMongoDB Search およびMongoDB ベクトル検索インデックスも再構築されます。

または、M10 以上の Atlas クラスターを Azure リージョンのみに配置しているプロジェクトの場合は、Atlas Administration API を使用して、AKV 内に Azure Private Link を自動的に作成できます。これにより Atlas は AKV と Azure のプライベート ネットワーク インターフェースを介して安全に通信できるようになります。詳細については、Azure Key Vault を使用したカスタマー キーの管理を参照してください。

KMS プロバイダーが利用できなくなっても、実行中のクラスターは無効になりません。このようなクラスターを再起動し、キーが取り消されている場合、Atlas はそれを無効にします。

データ分類レベルや使用する暗号化のタイプなど、暗号化の推奨事項 の詳細については、Atlas アーキテクチャ センターの「Atlas データ暗号化の推奨事項」を参照してください。

注意

カスタマーマネージドキーを使用した保管時の暗号化が有効なクラスターの場合、Atlas の データ検証 には、データの復号化のために、お使いの KMS への余計アクセスが必要です。詳細については、データ検証 KMS の使用方法。 を参照してください。

カスタマー キー マネジメントを構成するには、プロジェクトに対して Project Owner のアクセス権が必要です。

Organization Owner アクセス権を持つユーザーは、自分自身を Project Owner としてプロジェクトに追加する必要があります。

キーマネジメントを使用した保管時の暗号化には、有効なキーマネジメントプロバイダーの認証情報と暗号化のキーが必要です。これらの詳細を提供し、カスタマー キー管理を有効にするには、以下の手順に従ってください。

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

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

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

  4. サイドバーで、Advanced をクリックします。

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

2
3

検索ノードのすべてのデータの暗号化をオプションで有効にできます。この機能は、後で有効にすることもできます。

詳細については、「検索ノードのカスタマーキー管理を有効にする」を参照してください。

4
5
6

詳細については、「Atlas Control Plane からのアクセス許可」を参照してください。

KMS 構成によっては、Atlas が KMS と通信できるように、次の IP アドレスを KMS アクセス リストに追加する必要があります。追加する IP アドレスは次のとおりです。

Atlas と KMS 間の通信を有効にするには、次の操作を実行します。

1

この API エンドポイントは、クラウドプロバイダーとリージョン別に分類されたインバウンドとアウトバウンド Atlas コントロール プレーン IP アドレスのリストを CIDR 形式で返します。詳細については、AWS、Azure 、GCP でカスタマー キーを管理するための前提条件を参照してください。

2

詳細については、AWS、Azure、GCP でカスタマー キーを管理するための前提条件を参照してください。

カスタマー キー管理で Atlas を構成したら、暗号化するデータを含む Atlas クラスターごとにカスタマー キー管理を有効にする必要があります。

注意

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

新しいクラスターの場合:

1

クラスター構成フォームで Manage your own encryption keys 設定を Yes に切り替えます。

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

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

3

キー管理構成によっては、Atlas クラスター ノードの IP アドレスをクラウドプロバイダーの KMS アクセス リストに追加して、クラスターが KMS と通信できるようにする必要があります。クラスターと KMS 間の通信を有効にするには、次の操作を実行します。

  1. ipAddresses エンドポイントに GET リクエストを送信します。returnAllIpAddresses API エンドポイントは、新しいクラスター ノードからの IP アドレスのリストを次のように返します。

    { "groupId": "xxx", // ObjectId "services": { "clusters": [ { "clusterName": "Cluster0", "inbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ], "outbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ] } ] }}
  2. 返された IP アドレスをクラウドプロバイダーの IP アクセス リストに追加します。IP アクセス リストは、プロビジョニング プランのロールバック前に、変更する必要があります。クラスターは、プロビジョニング プランが IP アクセス制限からロールバックする前に、最大 3 日間プロビジョニングを試みます。

    詳細については、AWS、Azure、GCP でカスタマー キーを管理するための前提条件を参照してください。

    注意

    IP アクセス リストの更新にさらに時間が必要な場合は、次の解決策があります。

    • 保管時の暗号化機能を使用せずにクラスターをプロビジョニングし、IP アクセス リストをアップデートしてから有効にします。

    • クラウドプロバイダーの KMS でより包括的な IP アクセス リストを構成し、保管時の暗号化を使用してクラスターを起動してから、IP アクセス リストを変更します。

既存クラスターの場合:

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

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

  3. サイドバーで、 Database見出しの下の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] をクリックしてクラスターをアップデートします。

プロジェクトのカスタマー キー マネジメントを構成する場合、検索ノードのカスタマー キー マネジメントを使用して暗号化を有効にすることもできます。これにより、インデックスを含むMongoDB SearchとMongoDB ベクトル検索のワークロードは、カスタマーマネージド キーで暗号化された状態になります。

この機能は KMS プロバイダー全体で利用できます。

カスタマー マネージド キーを使用して検索ノードデータの暗号化を有効にする方法は以下のとおりです。

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

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

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

  4. サイドバーで、Advanced をクリックします。

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

2

カスタマー キー管理をまだ構成していない場合は、「カスタマー キー管理で Atlas を構成」の手順に従います。

それ以外の場合は、Encryption at Rest using your Key Management の横にある Edit ボタンをクリックします。

3
4

プロジェクトレベルで検索ノードのデータ暗号化を有効にすると、Atlas は検索ノードを持つ新規または既存のクラスターに対して、クラスター暗号化 1 または 2 を設定することで、クラスターレベルでも暗号化を有効にします。Atlas はカスタマーマネージドキーを使用して検索ノードを暗号化し、検索インデックスを再構築します。このプロセスにかかる時間は、インデックスのサイズと数によって異なります。

注意

プロジェクトレベルでカスタマーキーマネジメントを無効にするか、カスタマー管理キーが無効になると、Atlas はクラスターを一時停止し、Search ノードを削除するため、データベース クエリが利用できなくなります。

カスタマー キー マネジメントを再度有効にするか、キー構成を修正すると、Atlas はクラスターの一時停止を解除し、新しい検索ノードをプロビジョニングして、最初の同期を実行します。最初の同期が完了すると、検索機能が再開されます。

1

M10 以降のクラスターに選出可能なノードを追加するか、シャーディングされたクラスター内のシャードの数を増やすことができます。

2

キー管理構成によっては、Atlas クラスター ノードの IP アドレスをクラウドプロバイダーの KMS アクセス リストに追加して、クラスターが KMS と通信できるようにする必要があります。クラスターと KMS 間の通信を有効にするには、次の操作を実行します。

  1. ipAddresses エンドポイントに GET リクエストを送信します。この returnAllIpAddresses API エンドポイント は、新しいクラスター ノードまたはシャードからの IP アドレスのリストを次のように返します。

    { "groupId": "xxx", // ObjectId "services": { "clusters": [ { "clusterName": "Cluster0", "inbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ], // List<String> "outbound": [ "3.92.113.229", "3.208.110.31", "107.22.44.69" ] } ] }}
  2. 返された IP アドレスをクラウドプロバイダーの IP アクセス リストに追加します。IP アクセス リストは、プロビジョニング プランのロールバック前に、変更する必要があります。クラスターは、プロビジョニング プランが IP アクセス制限からロールバックする前に、最大 3 日間プロビジョニングを試みます。

    詳細については、AWS、Azure、GCP でカスタマー キーを管理するための前提条件を参照してください。

Atlas は KMS 構成を検証します。

次のいずれかの条件に一致する場合、Atlas は予定されている次回検証チェックで、すべての mongod と mongos プロセスをシャットダウンします。

  • キー管理プロバイダーの認証情報が無効になった

  • 暗号化のキーを誰かが削除または無効にした

Atlas がキー管理マネジメントプロバイダーに接続できない場合、または Atlas が誤ったアラームの可能性を検出した場合でも、Atlas はプロセスをシャットダウンしません。すべての新しいプロジェクトで KMS ネットワークへのアクセス失敗が伝達されるように、Encryption at Rest KMS network access denied アラートはデフォルトで有効になっています。アラート設定を構成できます。

Atlas がクラスターをシャットダウンすると、次のイベントが発生します。

  • Atlas は、影響を受けるすべてのクラスターのリストを作成して、Project Owner に送信します。

  • Clusters ページには、保管時の暗号化設定が無効なため、Atlas がクラスターを無効にした状態が反映されています。

無効にされたクラスターではデータの読み取りも書き込みもできません。ディスクやインスタンス サイズの変更などの更新は、無効にされたクラスターに送信できます。Atlas はユーザーが暗号化キーを復元すると、こうした変更を処理します。また、メンテナンスとセキュリティ パッチの適用は継続します。無効にされたクラスターではすべてのデータが保持されるため、課金は継続されます。

注意

仮想マシンの電源

Atlas は、クラスターが無効になっている間も、クラスターが実行中の仮想マシン(VM)を停止しません。Atlas がサーバーを再起動するパッチを実行する場合がありますが、VM の電源はオフとオンに切り替わりません。

データへのアクセス権を復活するには、次のアクションを実行します。

[再試行] ボタンは、Atlas Advanced Security 設定の [CMK ID] フィールドの右側にあります

構成を更新してから、[Try Again] をクリックして有効にします。再試行しない場合、Atlas は予定される次回のチェックで検証します。Atlas で構成の有効性が確認されると、すべての mongod と mongos プロセスが再開します。

警告

キーが削除された場合、キーを復元してクラスターへのアクセスを回復します。有効なキーがないと、カスタマー キー マネジメントを使用してキーを変更したり、保管時の暗号化を無効にしたりすることはできません。

削除されたキーを復元するには、キー管理プロバイダーのドキュメントを参照してください。

カスタマーマネージドキーを使用する保管時の暗号化が有効なクラスターの場合、Atlas データ検証には、検証チェック中にデータの復号化を行うために余計な KMS アクセスが必要です。

データ検証は、すべてのプロジェクトでデフォルトで有効になっています。余計な KMS のコスト、リクエスト、またはセキュリティの考慮が要件と一致しない場合は、オプトアウトできます。

データ検証が有効になっている場合、検証インスタンスは暗号化されたクラスターからデータを複号化するため、お客様の KMS に対してより多くのリクエストを行います。

リクエストボリューム:

Atlas は検証中に、レプリカセットのノードごとに 1 時間に約 1 件の復号リクエストを行います。7 日間の検証ウィンドウを持つ標準の 3 ノードレプリカセットでは、約 500 件の KMS リクエストが追加で発生します。

見積もりコスト:

ほとんどのクラスターでは、検証に関連する KMS コストは最小限です。現在の価格については、お使いのクラウドプロバイダーのドキュメントを参照してください。

セキュリティに関する考慮事項:

  • 検証インスタンスは、KMS 監査ログに余計なプリンシパルとして表示されます。

  • KMS で IP アローリストを使用する場合は、検証インスタンスの IP 範囲をアローリストに追加する必要がある可能性があります。

  • 検証インスタンスは、クラスター ノードと同じカスタマー マネージド キーを使用します。

検証インスタンス IP 範囲の現在のリストについては、MongoDB サポートにお問い合わせください。

ほとんどの KMS 設定では、データ検証のために余計 IP アローリストの変更は必要としません。ただし、お使いの KMS が IP ベースのアクセス制御を使用している場合 (例: ファイアウォール制限ありの Azure Key Vault)、検証インスタンスの IP 範囲をアローリストに追加する必要があります。それ以外の場合、検証に失敗します。

KMS の IP アローリストを設定するには:

Amazon Web Services KMSは通常、IAM ロールによるアクセスを許可します。IAM ポリシーで Atlas ロールが許可されている場合、検証インスタンスに追加の IP アローリスト構成は必要ありません。

データ検証の詳細については、「クラスター整合性のデータ検証」を参照してください。