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

単一クラスター LDAP 認証の構成

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

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

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

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

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

注意

Kubernetes クラスターでは MongoDB のスタンドアロン インスタンスを保護することはできません。

  • To configure LDAP in CustomResourceDefinitions, use the parameters under the spec.security.authentication.ldap and other security LDAP settings specific to the MongoDB Agent, from the Kubernetes Operator MongoDB resource specification. The procedures in this section describe the required settings and provide examples of LDAP configuration.

  • To improve security, consider deploying a TLS-encrypted replica set or a TLS-encrypted sharded cluster. Encryption with TLS is optional. By default, LDAP traffic is sent as plain text. This means that username and password are exposed to network threats. Many modern directory services, such as Microsoft Active Directory, require encrypted connections. Consider using LDAP over TLS to encrypt authentication requests in your Kubernetes Operator MongoDB deployments.

MongoDB 配置の LDAP 認証を構成する前に、次のタスクを完了してください。

  • MongoDB Enterprise データベース リソースを配置することを確認します。 MongoDB Community データベースは LDAP 認証をサポートしていません。

  • レプリカセット を配置するか、 LDAP で保護するクライアント認証を持つシャーディングされ たクラスター を配置します。

1

このYAMLファイルの設定を、必要なレプリカセット構成に合わせて変更します。

1---
2apiVersion: mongodb.com/v1
3kind: MongoDB
4metadata:
5 name: <my-replica-set>
6spec:
7 members: 3
8 version: "8.0.0"
9 opsManager:
10 configMapRef:
11 # Must match metadata.name in ConfigMap file
12 name: <configMap.metadata.name>
13 credentials: <mycredentials>
14 type: ReplicaSet
15 persistent: true
16 security:
17 tls:
18 ca: <custom-ca>
19 certsSecretPrefix: <prefix>
20...
2

Open your preferred text editor and paste the object specification at the end of your resource file in the spec section.

3

配置で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

Specify the mapping that maps the username provided to mongod or mongos for authentication to an LDAP Distinguished Name (DN).

To learn more, see security.ldap.userToDNMapping and LDAP Query Templates in the MongoDB Server documentation.

<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 database 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 リソース仕様 のセキュリティ設定を参照してください。 また、LDAP 対応の Kubernetes Operator ユーザー配置で MongoDB Agent ユーザーのspec.security.authentication.agents.automationUserName設定も参照してください。

4

Kubernetes Operator MongoDB リソース仕様 から、エージェントに固有の セキュリティ設定 を使用し て MongoDB リソースを更新します 。結果の構成は、次の例のようになります。

security:
authentication:
agents:
automationPasswordSecretRef:
key: automationConfigPassword
name: automation-config-password
automationUserName: mms-automation-agent
clientCertificateSecretRef:
name: agent-client-cert
mode: LDAP
enabled: true
ldap:
bindQueryPasswordSecretRef:
name: bind-query-password
bindQueryUser: cn=admin,dc=example,dc=org
servers:
- openldap.namespace.svc.cluster.local:389
userToDNMapping: '[{match: "(.+)",substitution: "uid={0},ou=groups,dc=example,dc=org"}]'
modes:
- LDAP
- SCRAM
requireClientTLSAuthentication: false
5
6

レプリカセットを更新するには、次の Kubernetes コマンドを呼び出します。

kubectl apply -f <replica-set-conf>.yaml
7

MongoDBリソースのステータスを確認するには、次のコマンドを使用します。

kubectl get mdb <resource-name> -o yaml -w

-w (監視)フラグが設定されている場合、構成が変更されると、ステータスフェーズがRunning状態に達するまで出力が直ちに更新されます。 リソース配置ステータスの詳細については、 「 Kubernetes 演算子のトラブルシューティング 」を参照してください。

1

このYAMLファイルの設定を、シャーディングされたクラスターの構成に合わせて変更します。

1---
2apiVersion: mongodb.com/v1
3kind: MongoDB
4metadata:
5 name: <my-sharded-cluster>
6spec:
7 shardCount: 2
8 mongodsPerShardCount: 3
9 mongosCount: 2
10 configServerCount: 3
11 version: "8.0.0"
12 opsManager:
13 configMapRef:
14 name: <configMap.metadata.name>
15 # Must match metadata.name in ConfigMap file
16 credentials: <mycredentials>
17 type: ShardedCluster
18 persistent: true
19 security:
20 tls:
21 ca: <custom-ca>
22 certsSecretPrefix: <prefix>
23...
2

Open your preferred text editor and paste the object specification at the end of your resource file in the spec section.

3

配置で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

Specify the mapping that maps the username provided to mongod or mongos for authentication to an LDAP Distinguished Name (DN).

To learn more, see security.ldap.userToDNMapping and LDAP Query Templates in the MongoDB Server documentation.

<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 database 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 リソース仕様 のセキュリティ設定を参照してください。 また、LDAP 対応の Kubernetes Operator ユーザー配置で MongoDB Agent ユーザーのspec.security.authentication.agents.automationUserName設定も参照してください。

4

Kubernetes Operator MongoDB リソース仕様 から、エージェントに固有の セキュリティ設定 を使用し て MongoDB リソースを更新します 。結果の構成は、次の例のようになります。

security:
authentication:
agents:
automationPasswordSecretRef:
key: automationConfigPassword
name: automation-config-password
automationUserName: mms-automation-agent
clientCertificateSecretRef:
name: agent-client-cert
mode: LDAP
enabled: true
ldap:
bindQueryPasswordSecretRef:
name: bind-query-password
bindQueryUser: cn=admin,dc=example,dc=org
servers:
- openldap.namespace.svc.cluster.local:389
userToDNMapping: '[{match: "(.+)",substitution: "uid={0},ou=groups,dc=example,dc=org"}]'
modes:
- LDAP
- SCRAM
requireClientTLSAuthentication: false
5
6

次の Kubernetes コマンドを呼び出して、シャーディングされたクラスターを更新します。

kubectl apply -f <sharded-cluster-conf>.yaml
7

MongoDBリソースのステータスを確認するには、次のコマンドを使用します。

kubectl get mdb <resource-name> -o yaml -w

-w (監視)フラグが設定されている場合、構成が変更されると、ステータスフェーズがRunning状態に達するまで出力が直ちに更新されます。 リソース配置ステータスの詳細については、 「 Kubernetes 演算子のトラブルシューティング 」を参照してください。

このページを評価