MongoDB Enterprise admite:
Envío de solicitudes de autenticación a un servicio de Protocolo ligero de acceso a directorios (LDAP).
Enlace simple y SASL a servidores LDAP. MongoDB Enterprise puede enlazarse a un servidor LDAP mediante
saslauthdo a través de las bibliotecas del sistema operativo.
Para obtener más información, consulte las secciones Autenticación de proxy LDAP y Autorización LDAP en la documentación del servidor MongoDB.
Puede utilizar el operador de Kubernetes para configurar LDAP para autenticar las aplicaciones cliente que se conectan a las implementaciones de MongoDB en clústeres multi-Kubernetes. Esta guía describe cómo configurar la autenticación LDAP desde las aplicaciones cliente a las implementaciones de MongoDB en clústeres multi-Kubernetes.
Considerations
Para configurar LDAP en CustomResourceDefinitionsUtilice los parámetros de
spec.security.authentication.ldapy otras configuraciones de seguridad LDAP específicas del Agente MongoDB, de la especificación de recursos MongoDB del Operador de Kubernetes. Los procedimientos de esta sección describen las configuraciones necesarias y proporcionan ejemplos de configuración LDAP.Para mejorar la seguridad, considere implementar un multiclúster cifrado con TLS. El cifrado con TLS es opcional. De forma predeterminada, el tráficoLDAP se envía como texto sin formato. Esto significa que el nombre de usuario y la contraseña están expuestos a amenazas de red. Muchos servicios de directorio modernos, como Microsoft Active Directory, requieren conexiones cifradas. Considere usar LDAP sobre TLS/SSL para cifrar las solicitudes de autenticación en sus implementaciones de Kubernetes Operator MongoDB.
Requisitos previos
Antes de proteger su implementación de MongoDB en un clúster multi-Kubernetes mediante cifrado TLS, complete las siguientes tareas:
Siga los pasos de los Requisitos previos de inicio rápido.
Implemente un clúster múltiple mediante un inicio rápido de clúster múltiple de Kubernetes.
Configurar la autenticación del cliente LDAP para un conjunto de réplicas de varios clústeres de Kubernetes
Actualice su MongoDBMultiCluster recurso 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 las siguientes opciones en su objeto de Kubernetes:
Clave | Tipo y necesidad | Descripción | Ejemplo |
|---|---|---|---|
spec.security | boolean, required | Establezca en |
|
spec.security | string, required | Especifique el nombre distinguido LDAP al que MongoDB se vincula cuando se conecta 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 | Agregue el nombre de ConfigMap que almacena la CA personalizada que utilizó para firmar los certificados TLS de su implementación. |
|
spec.security | string, optional | Agregue el nombre del campo que almacena la CA que valida el certificado TLS del servidor LDAP. |
|
spec.security | array of strings, required | Especifique la lista de |
|
spec.security | string, optional | Establezca |
|
spec.security | string, required | Especifique la asignación que asigna el nombre de usuario proporcionado a Para obtener más información, consulte security.ldap.userToDNMapping y Plantillas de consulta LDAP en la documentación del servidor MongoDB. |
|
spec.security | string, required | Establezca en |
|
La configuración resultante puede parecerse 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 las configuraciones de LDAP, consulte la configuración de seguridad en la especificación del recurso MongoDBMultiCluster del operador de Kubernetes. Consulte también la configuración del usuario del agente de MongoDB en su implementación spec.security.authentication.agents.automationUserName del operador de Kubernetes con LDAP habilitado.
Verifique que los MongoDBMultiCluster recursos estén ejecutándose.
Para los clústeres de miembros, ejecute los siguientes comandos para verificar que los pods de MongoDB estén en estado de 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, ejecute el siguiente comando para verificar que el recurso
MongoDBMultiClusteresté en estado de ejecución:kubectl --context=$MDB_CENTRAL_CLUSTER_FULL_NAME \ --namespace mongodb \ get mdbmc multi-replica-set -o yaml -w