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

マルチクラスター LDAP 認証の構成

MongoDB Enterpriseは以下をサポートします。

  • LDAP(Lightweight Directory Access Protocol)サービスへの認証リクエストをプロキシする。

  • LDAP サーバーへの簡易バインディングと SASL バインディング。 MongoDB Enterprise は、 saslauthdまたはオペレーティング システム ライブラリを介して LDAP サーバーにバインドできます。

詳細については、MongoDB Server ドキュメントの 「 LDAP プロキシ認証 」および 「 LDAP 認証 」セクションを参照してください。

Kubernetes Operator を使用して、マルチ Kubernetes クラスター MongoDB 配置に接続するクライアント アプリケーションを認証するためのLDAPを構成できます。 このガイドでは、クライアント アプリケーションからマルチ Kubernetes クラスター MongoDB 配置へのLDAP認証を構成する方法について説明します。

  • CustomResourceDefinitions spec.security.authentication.ldapで LDAP を構成するには、Kubernetes Operator MongoDBリソース仕様の およびMongoDB Agent固有のその他の セキュリティLDAP設定 の下にあるパラメータを使用します。このセクションの手順では、必要な設定について説明し、LDAP構成の例を示します。

  • セキュリティを向上させるには、TLS 暗号化されたマルチクラスターを配置することを検討してください。TLS による暗号化は任意です。デフォルトでは、LDAP トラフィックはプレーンテキストとして送信されます。これは、ユーザー名とパスワードがネットワークの脅威にさらされることを意味します。Microsoft Active Directory などの多くの現代のディレクトリ サービスでは、暗号化された接続が必要です。お使いの Kubernetes 演算子 MongoDB 配置での認証リクエストを暗号化するために、 TLS を介した LDAP の使用を検討してください。

TLS暗号化を使用してマルチ Kubernetes クラスター MongoDB 配置を保護する前に、次のタスクを完了してください。

1

Kubernetes Operator MongoDB MultiCluster リソース仕様 のセキュリティ設定を使用し て MongoDB MultiCluster カスタム リソースを更新します 。

配置でLDAPを有効にするには、Kubernetes オブジェクトで次の設定を構成します。

キー
の種類と必要性
説明
例

ブール値、
必須

LDAP 認証を有効にするには、 をtrueに設定します。

true

string,
required

LDAP サーバーに接続するときに MongoDB がバインドする LDAP 識別名を指定します。

cn=admin,dc=example,dc=org

string,
required

LDAPサーバーに接続するときにMongoDBがバインドする LDAP バインド識別名のパスワードを含むシークレットの名前を指定します。

<secret-name>

string、
任意

ConfigMap を追加する 配置の TLS 証明書に署名するために使用したカスタム CA を保存する の名前。

<configmap-name>

string、
任意

LDAP サーバーの TLS 証明書を検証する CA を保存するフィールド名を追加します。

<configmap-key>

文字列の配列、
必須

1 つ以上の LDAP サーバーのhostname:portの組み合わせのリストを指定します。 各サーバーには、個別の行を使用します。

<example.com:636>

string、
任意

LDAPS( TLS経由の LDAP )を使用するには、 をtlsに設定します。 LDAP サーバーが TLS を受け入れていない場合は、 を空白のままにします。 この設定を使用するには、データベース リソースを配置するときに TLS を有効にする必要があります。

tls

string,
required

認証用に指定されたユーザー名をmongodまたはmongosにマッピングするマッピングを指定しLDAP 。

詳しくは、 MongoDB Serverドキュメントの「security.ldap.userToDNMapping と LDAP クエリ テンプレート」を参照してください。

<match: "(.+)",substitution: "uid={0},ou=groups,dc=example,dc=org">

string,
required

LDAP による認証を有効にするには、 をLDAPに設定します。

LDAP

結果の構成は、次の例のようになります。

security: authentication: enabled: true # Enabled LDAP Authentication Mode modes: - "LDAP" - "SCRAM" # LDAP related configuration ldap: # Specify the hostname:port combination of one or # more LDAP servers servers: - "ldap1.example.com:636" - "ldap2.example.com:636" # Set to "tls" to use LDAP over TLS. Leave blank if # the LDAP server doesn't accept TLS. You must enable TLS when # you deploy the multi-cluster resource to use this setting. transportSecurity: "tls" # If TLS is enabled, add a reference to a ConfigMap that # contains a CA certificate that validates the LDAP server's # TLS certificate. caConfigMapRef: name: "<configmap-name>" key: "<configmap-entry-key>" # Specify the LDAP Distinguished Name to which # MongoDB binds when connecting to the LDAP server bindQueryUser: "cn=admin,dc=example,dc=org" # Specify the password with which MongoDB binds # when connecting to an LDAP server. This is a # reference to a Secret Kubernetes Object containing # one "password" key. bindQueryPasswordSecretRef: name: "<secret-name>"

LDAP 設定の完全なリストについては、 Kubernetes Operator MongoDB MultiCluster リソース仕様の セキュリティ設定 を参照してください。 また、LDAP 対応の Kubernetes Operator ユーザー配置で MongoDB Agent ユーザーのspec.security.authentication.agents.automationUserName設定も参照してください。

2
  1. ノードクラスターの場合は、次のコマンドを実行して、MongoDB ポッドが実行状態であることを確認します。

    kubectl get pods \ --context=$MDB_CLUSTER_1_FULL_NAME \ --namespace mongodb
    kubectl get pods \ --context=$MDB_CLUSTER_2_FULL_NAME \ --namespace mongodb
    kubectl get pods \ --context=$MDB_CLUSTER_3_FULL_NAME \ --namespace mongodb
  2. 中央クラスターで次のコマンドを実行し、 MongoDBMultiClusterリソースが実行状態であることを確認します。

    kubectl --context=$MDB_CENTRAL_CLUSTER_FULL_NAME \ --namespace mongodb \ get mdbmc multi-replica-set -o yaml -w