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.

To learn more, see the LDAP Proxy Authentication and LDAP Authorization sections in the MongoDB Server documentation.

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.

  • Para configurar o LDAP em CustomResourceDefinitions, use os parâmetros na spec.security.authentication.ldap e outras configurações de LDAP de segurança específicas para o MongoDB Agent, da especificação de recursos do MongoDB do Kubernetes Operator. Os procedimentos nesta seção descrevem as configurações necessárias e fornecem exemplos de configuração LDAP.

  • Para melhorar a segurança, considere implantar um conjunto de réplicas criptografado por TLS ou uma cluster criptografado por TLS. A criptografia com TLS é opcional. Por padrão, o tráfego LDAP é enviado como texto simples. Isso significa que o nome de usuário e a senha estão expostos a ameaças de rede. Muitos serviços de diretório modernos, como o Microsoft Active Directory, exigem conexões criptografadas. Considere usar LDAP sobre TLS para criptografar solicitações de autenticação em suas implantações do MongoDB do operador Kubernetes.

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

1

Change the settings of this YAML file to match your desired replica set configuration.

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

Abra o editor de texto de sua preferência e cole a especificação do objeto no final do arquivo de recurso na seção spec.

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 o 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).

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

Change the settings of this YAML file to match your desired sharded cluster configuration.

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

Abra o editor de texto de sua preferência e cole a especificação do objeto no final do arquivo de recurso na seção spec.

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 o 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).

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