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.

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.

  • 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

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

---apiVersion: mongodb.com/v1kind: MongoDBmetadata: name: <my-replica-set>spec: members: 3 version: "8.0.0" opsManager: configMapRef: # Must match metadata.name in ConfigMap file name: <configMap.metadata.name> credentials: <mycredentials> type: ReplicaSet persistent: true
security: tls: ca: <custom-ca> certsSecretPrefix: <prefix>...
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

Especifique o mapeamento que mapeia o nome de usuário fornecido para mongod ou mongos para autenticação em um Nome Distinto (DN) LDAP.

Para saber mais, consulte security.ldap.userToDNMapping e Modelos de consulta LDAP 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.

---apiVersion: mongodb.com/v1kind: MongoDBmetadata: name: <my-sharded-cluster>spec: shardCount: 2 mongodsPerShardCount: 3 mongosCount: 2 configServerCount: 3 version: "8.0.0" opsManager: configMapRef: name: <configMap.metadata.name> # Must match metadata.name in ConfigMap file credentials: <mycredentials> type: ShardedCluster persistent: true
security: tls: ca: <custom-ca> certsSecretPrefix: <prefix>...
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

Especifique o mapeamento que mapeia o nome de usuário fornecido para mongod ou mongos para autenticação em um Nome Distinto (DN) LDAP.

Para saber mais, consulte security.ldap.userToDNMapping e Modelos de consulta LDAP 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
5
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