MongoDB Enterprise supports:
Puede reenviar solicitudes de autenticación a un servicio de Protocolo Ligero de Acceso a Directorios (LDAP).
Vinculación simple y SASL a servidores LDAP. MongoDB Enterprise puede vincularse a un servidor LDAP a través de
saslauthdo a través de las librerías del sistema operativo.
Para obtener más información, consulta las secciones autenticación por Proxy LDAP y autorizacion LDAP en la documentación de MongoDB Server.
Puede usar el Operador de Kubernetes para configurar LDAP para autenticar sus aplicaciones cliente que se conectan a sus implementaciones de MongoDB en un clúster multi-Kubernetes. Esta guía describe cómo configurar la autenticación LDAP desde aplicaciones cliente hacia tus implementaciones de MongoDB en múltiples clústeres de Kubernetes.
Considerations
Para configurar LDAP en DefinicionesPersonalizadasDeRecursos, utilice los parámetros bajo el
spec.security.authentication.ldapy otros ajustes de seguridad LDAP específicos para el MongoDB Agent, desde la especificación de recursos de Kubernetes Operator MongoDB. Los procedimientos en esta sección describen la configuración requerida y proveen ejemplos de LDAP configuración.Para mejorar la seguridad, considera implementar un multi-clúster cifrado con TLS. El cifrado con TLS es opcional. Por defecto, el tráfico de LDAP se envía como texto sin formato. Esto significa que el nombre de usuario y la contraseña quedan expuestos a amenazas de red. Muchos servicios de directorio modernos, como Microsoft Active Directory, requieren conexiones cifradas. Considera utilizar LDAP sobre TLS/SSL para cifrar las solicitudes de autenticación en tus implementaciones de MongoDB Kubernetes Operator.
Requisitos previos
Antes de asegurar tu implementación multi-Kubernetes de MongoDB usando el cifrado TLS, completa las siguientes tareas:
Sigue los pasos en los Prerrequisitos de inicio rápido.
Despliega un multiclúster utilizando una Guía rápida de Multi-Kubernetes-clúster.
Configurar la autenticación de clientes LDAP para un set de réplicas de varios clústeres de Kubernetes
Actualiza tu recurso MongoDBMultiCluster para habilitar la autenticación LDAP.
Actualiza tu recurso personalizado MongoDBMultiCluster con configuraciones de seguridad del operador de Kubernetes especificación de recursos MongoDBMultiCluster.
Para habilitar LDAP en su implementación, configure los siguientes ajustes en su objeto de Kubernetes:
Clave | Tipo y necesidad | Descripción | Ejemplo |
|---|---|---|---|
spec.security | boolean, required | Establecer en |
|
spec.security | string, required | Especifique el nombre distintivo de LDAP al que MongoDB se vincula al conectarse al servidor LDAP. |
|
spec.security | string, required | Especifica el nombre del secreto que contiene la contraseña del nombre distinguido de enlace de LDAP con el que MongoDB se conecta a un servidor LDAP. |
|
spec.security | string, optional | Agregar el nombre del ConfigMap que almacena la CA personalizada que usaste para firmar los certificados TLS de tu implementación. |
|
spec.security | string, optional | Agregue el nombre del campo que almacena el CA que valida el certificado TLS del servidor LDAP. |
|
spec.security | array of strings, required | Especifica la lista de combinaciones de |
|
spec.security | string, optional | Establezca en |
|
spec.security | string, required | Especifica el mapeo que mapea el nombre de usuario proporcionado a Para aprender más, consulta security.ldap.userToDNMapping y Plantillas de query LDAP en la documentación de MongoDB Server. |
|
spec.security | string, required | Establecido en |
|
La configuración resultante puede ser similar al siguiente ejemplo:
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 obtener una lista completa de la configuración de LDAP, consulte la configuración de seguridad en la especificación de recursos del Operador de Kubernetes MongoDBMultiCluster. Consulta también el spec.security.authentication.agents.automationUserName para el usuario del MongoDB Agent en su implementación de Kubernetes con LDAP habilitado.
Verifique que los recursos MongoDBMultiCluster estén en ejecución.
Para clústeres nodos, ejecuta los siguientes comandos para verificar que los Pods de MongoDB estén en estado en ejecución:
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 En el clúster del operador, ejecuta el siguiente comando para verificar que el recurso
MongoDBMultiClusterse encuentre en estado activo:kubectl --context=$MDB_CENTRAL_CLUSTER_FULL_NAME \ --namespace mongodb \ get mdbmc multi-replica-set -o yaml -w