Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Configurar autenticação LDAP de cluster único

O MongoDB Enterprise oferece suporte a:

  • Proxy de solicitações de autenticação para um serviço LDAP (Lightweight Directory Access Protocol).

  • Vinculação simples e SASL a servidores LDAP. O MongoDB Enterprise pode vincular a um servidor LDAP via saslauthd ou por meio das bibliotecas do sistema operacional.

Para saber mais, consulte as seções Autenticação deLDAP LDAP na documentação do MongoDB Server .

Você pode usar o Kubernetes Operator para configurar o LDAP para autenticar seus aplicativos clientes que se conectam aos seus MongoDB deployments. Este guia descreve como configurar a autenticação LDAP de aplicativos clientes para suas implementações do MongoDB.

Observação

Você não pode proteger uma instância standalone do MongoDB em um cluster Kubernetes.

  • 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.

Antes de configurar a autenticação LDAP para seus MongoDB deployments, conclua as seguintes tarefas:

1

Altere as configurações desse arquivo YAML para corresponder à configuração desejada do definir .

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

Para habilitar o LDAP em seu sistema, defina as seguintes configurações em seu objeto Kubernetes:

Chave
Tipo e necessidade
Descrição
Exemplo

booleano,
obrigatório

Configure para true para habilitar a autenticação LDAP.

true

string,
necessário

Especifique o nome diferenciado LDAP ao qual o MongoDB se liga ao conectar ao servidor LDAP.

cn=admin,dc=example,dc=org

string,
necessário

Especifique o nome do segredo que contém a senha do LDAP Bind Distinguished Name com a qual o MongoDB se liga ao conectar a um servidor LDAP.

<secret-name>

string,
opcional

Adicione o nome do ConfigMap que armazena a CA personalizada que você usou para assinar os certificados TLS da sua implantação.

<configmap-name>

string,
opcional

Adicione o nome do campo que armazena o CA que valida o certificado TLS do servidor LDAP.

<configmap-key>

array de strings,
necessário

Specify the list of hostname:port combinations of one or more LDAP servers. Para cada servidor, use uma linha separada.

<example.com:636>

string,
opcional

Configure para tls para utilizar LDAPS (LDAP sobre TLS). Deixe em branco se o servidor LDAP não aceitar TLS. Você deve habilitar o TLS ao implantar o recurso de reconhecimento de data center para usar essa configuração.

tls

string,
necessário

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

Para saber mais, consulte security.ldap.userToDNMapping e modelos de queryLDAP na documentação do MongoDB Server .

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

string,
necessário

Configure para LDAP para habilitar a autenticação por LDAP.

LDAP

A configuração resultante pode ser semelhante ao exemplo a seguir:

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>"

Para obter uma lista completa das configurações LDAP, consulte as configurações de segurança na especificação de recursos do MongoDB do Kubernetes Operator. Consulte também a configuração spec.security.authentication.agents.automationUserName para o MongoDB Agent user em seu Kubernetes Operator habilitado para LDAP.

4

Atualize o recurso do MongoDB com configurações de segurança específicas para o agente, a partir da especificação de recursos do MongoDB do Kubernetes Operator. A configuração resultante pode ser semelhante ao exemplo a seguir:

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
6

Invoque o seguinte comando do Kubernetes para atualizar seu conjunto de réplicas:

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

Para verificar o status do seu recurso MongoDB, utilize o seguinte comando:

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

Com o sinalizador -w (inspeção) definido, quando a configuração muda, o resultado é atualizado imediatamente até que a fase de status atinja o estado Running . Para saber mais sobre os status de distribuição de recursos, consulte Solucionar problemas do operador Kubernetes.

1

Altere as configurações desse arquivo YAML para corresponder à configuração de cluster fragmentado desejado.

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

Para habilitar o LDAP em seu sistema, defina as seguintes configurações em seu objeto Kubernetes:

Chave
Tipo e necessidade
Descrição
Exemplo

booleano,
obrigatório

Configure para true para habilitar a autenticação LDAP.

true

string,
necessário

Especifique o nome diferenciado LDAP ao qual o MongoDB se liga ao conectar ao servidor LDAP.

cn=admin,dc=example,dc=org

string,
necessário

Especifique o nome do segredo que contém a senha do LDAP Bind Distinguished Name com a qual o MongoDB se liga ao conectar a um servidor LDAP.

<secret-name>

string,
opcional

Adicione o nome do ConfigMap que armazena a CA personalizada que você usou para assinar os certificados TLS da sua implantação.

<configmap-name>

string,
opcional

Adicione o nome do campo que armazena o CA que valida o certificado TLS do servidor LDAP.

<configmap-key>

array de strings,
necessário

Specify the list of hostname:port combinations of one or more LDAP servers. Para cada servidor, use uma linha separada.

<example.com:636>

string,
opcional

Configure para tls para utilizar LDAPS (LDAP sobre TLS). Deixe em branco se o servidor LDAP não aceitar TLS. Você deve habilitar o TLS ao implantar o recurso de reconhecimento de data center para usar essa configuração.

tls

string,
necessário

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

Para saber mais, consulte security.ldap.userToDNMapping e modelos de queryLDAP na documentação do MongoDB Server .

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

string,
necessário

Configure para LDAP para habilitar a autenticação por LDAP.

LDAP

A configuração resultante pode ser semelhante ao exemplo a seguir:

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>"

Para obter uma lista completa das configurações LDAP, consulte as configurações de segurança na especificação de recursos do MongoDB do Kubernetes Operator. Consulte também a configuração spec.security.authentication.agents.automationUserName para o MongoDB Agent user em seu Kubernetes Operator habilitado para LDAP.

4

Atualize o recurso do MongoDB com configurações de segurança específicas para o agente, a partir da especificação de recursos do MongoDB do Kubernetes Operator. A configuração resultante pode ser semelhante ao exemplo a seguir:

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
6

Invoque o seguinte comando do Kubernetes para atualizar seu cluster fragmentado:

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

Para verificar o status do seu recurso MongoDB, utilize o seguinte comando:

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

Com o sinalizador -w (inspeção) definido, quando a configuração muda, o resultado é atualizado imediatamente até que a fase de status atinja o estado Running . Para saber mais sobre os status de distribuição de recursos, consulte Solucionar problemas do operador Kubernetes.

Avalie esta página