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

MongoDB からサーチへの接続を保護する

このページでは、Kubernetes Operator 用 MongoDB Controllers を使用して MongoDB Search とベクトル検索を実行する際に、mongod (または mongos)が mongot に対して開く接続の TLS を構成する方法について説明します。この接続では、mongot がリスンサーバーを実行し、mongod がクライアントです。これは、MongoDBSearch リソースの spec.security.tls ブロックを介して構成します。

このページでは、mongot mongodがデータの取得元として に開く接続については説明していません。この方向については、mongot がどのように認証し、取得元 mongod の証明書をどのように信頼するかを含め、「検索から MongoDB への接続を保護する」を参照してください。

このページで参照されている各 MongoDBSearch 設定の完全なスキーマについては、「MongoDB Search およびベクトル検索設定」を参照してください。

mongot リスンサーバーは、次の 3 つの概念モードをサポートします。

モード
動作

disabled

リスンサーバーはプレーンテキスト接続のみを受け付けます。spec.security.tls が省略される場合は、これがデフォルトです。

TLS

リステン サーバーには mongod からのTLS暗号化された接続が必要であり、サーバー証明書が提示されます。クライアントは証明書を検証しますが、自身のクライアント証明書は提示しません。

mTLS

リスンサーバーには TLS が必要であり、クライアント (mongod) が提示した証明書を mongot が信頼された証明書発行者に対して検証することも必要です。mTLS は、mongodmongot X. を使用して509 に認証する場合に必要です。X.509 認証は、クライアントが証明書を提示することであるためです。詳細については、「検索から MongoDB への接続を保護する」を参照してください。

Kubernetes 演算子は、この構成を単一のspec.security.tlsブロックとして表示します。ソースmongodもTLSを使用する場合、リスンサーバーはmTLSモードで実行する。この場合、mongotは、spec.security.tlsで構成されたCAではなく、ソースmongodのCAに対してクライアント証明書を検証します。この信頼を構成するには、「検索からMongoDBへの接続の保護」を参照してください。

mongot リステンサーバーで TLS を有効にするには、MongoDBSearch リソースで spec.security.tls.certsSecretPrefix を設定します。Kubernetes 演算子は、名前プレフィックスにより、同じ名前空間の Kubernetes Secret リソースから TLS マテリアルを検索します。

spec:
security:
tls:
certsSecretPrefix: my-mongot

上記の接頭辞を使用して、Kubernetes 演算子は接頭辞に固定サフィックスを追加することで TLS シークレット名を導出します。レプリカセットの場合、<name>MongoDBSearch リソースの metadata.name であるシークレット my-mongot-<name>-search-cert から tls.crttls.key のペアを読み取ります。シャーディングされたクラスター配置を含むすべての名前パターンについては、spec.security.tls.certsSecretPrefix を参照してください。mTLS モードでは、mongotmongod のクライアント証明書を検証するために使用する CA は、spec.security.tls ではなく、ソース mongod の TLS 構成から取得されます。検索から MongoDB への接続を保護する。を参照してください。

注意

spec.security.tls.certsSecretPrefix 新しい配置におすすめのフィールドです。レガシー spec.security.tls.certificateKeySecretRef.name フィールドは今でもサポートされており、同じ MongoDBSearch リソースに両方が設定されている場合は優先されます。レガシー フィールドの既存の配置は、変更なしで引き続き機能します。

mongot TLS には次の制限が適用されます。

  • 構成可能な暗号スイートはありません。mongot が交渉する暗号スイートは、MongoDBSearch CRD または mongot 構成を介しては構成できません。このセットは、mongot に付属する値に固定されています。

  • FIPS はサポートされていません。 mongot このリリースではFIPS検証済みのTLSモードは提供されていません。

  • リステンサーバーでのホスト名または SAN 検証はありません。 mongot 着信したクライアント証明書が信頼されたCAによって署名されていることは検証しますが、証明書のサブジェクトホスト名やSANエントリは検証しません。リッスンパスでの認証は、証明機関および「SearchからMongoDBへの接続をセキュアにする」で構成されたX.509識別名(DN)承認に基づきます。

  • 最低 TLS バージョンは 1.2です。 mongot TLS 1.0 または 1.1 接続は受け付けません。

TLS マテリアルのローテーションは、クライアント証明書のローテーションと同じフローです。参照されている Secret を更新し、mongot ポッドを再起動します。手順については、「検索から MongoDB への接続を保護する」を参照してください。

警告

実行中の配置でTLSを有効にすると、短時間ではありますが、実際に停止が発生します。これはシームレスな変更ではありません。mongotのgRPCリスナーはバイナリです。プレーンテキストかTLSのいずれか一方を受け入れますが、両方を受け入れることはありません。無効からTLSに切り替えると、mongotmongodsearchTLSModeが一緒にロールされ、切り替え中は新しい検索クエリが一時的に失敗します。既にTLSが有効になっている配置で証明書をローテートしても、リスナーモードは変わらないため、このギャップは発生しません。初期TLS有効化のメンテナンスウィンドウを計画します。