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
saslauthdou 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 Operador Kubernetes para configurar o LDAP para autenticar seus aplicativos clientes que se conectam aos sistemas MongoDB de vários clusters Kubernetes. Este guia descreve como configurar a autenticação LDAP de aplicativos cliente para suas implantações do MongoDB de clusters multikubernetes.
Considerações
To configure LDAP in CustomResourceDefinitions, use the parameters under the
spec.security.authentication.ldapand 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 multi-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.
Pré-requisitos
Antes de proteger seu sistema MongoDB de cluster multi-Kubernetes usando criptografia TLS , conclua as seguintes tarefas:
Siga as etapas dos pré- requisitos de início rápido.
Implemente um multi-cluster usando um Quick Start de Multi-Kubernetes-Cluster.
Configurar Autenticação de Cliente LDAP para um Conjunto de Réplicas de Multi-Kubernetes-Cluster
Atualize seu recurso do MongoDBMultiCluster para habilitar a autenticação LDAP.
Atualize seu recurso personalizado do MongoDBMultiCluster com as configurações de segurança da especificação de recursos do MongoDBMultiCluster do Kubernetes Operator.
Para habilitar o LDAP em seu sistema, defina as seguintes configurações em seu objeto Kubernetes:
Chave | Tipo e necessidade | Descrição | Exemplo |
|---|---|---|---|
| booleano, | Configure para |
|
| string, | Especifique o nome diferenciado LDAP ao qual o MongoDB se liga ao conectar ao servidor LDAP. |
|
| string, | 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. |
|
| string, | Adicione o nome do ConfigMap que armazena a CA personalizada que você usou para assinar os certificados TLS da sua implantação. |
|
| string, | Adicione o nome do campo que armazena o CA que valida o certificado TLS do servidor LDAP. |
|
| array de strings, | Specify the list of |
|
| string, | Configure para |
|
| string, | Specify the mapping that maps the username provided to To learn more, see |
|
| string, | Configure para |
|
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 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>"
Para obter uma lista completa das configurações LDAP, consulte as configurações de segurança na especificação de recursos do MongoDBMultiCluster do Kubernetes Operator. Consulte também a configuração spec.security.authentication.agents.automationUserName para o MongoDB Agent em seu sistema do Kubernetes Operator habilitado para LDAP.
Verifique se os MongoDBMultiCluster recursos do estão em execução.
Para clusters de membros, execute os seguintes comandos para verificar se os MongoDB Pods estão no estado de execução:
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 No cluster do operador, execute o seguinte comando para verificar se o recurso
MongoDBMultiClusterestá no estado de execução:kubectl --context=$MDB_CENTRAL_CLUSTER_FULL_NAME \ --namespace mongodb \ get mdbmc multi-replica-set -o yaml -w