Show Menu
TEMAS×

Configuración de LDAP con AEM 6

LDAP ( ​Lightweight ​Directory ​Access ​Protocol) se utiliza para acceder a los servicios de directorio centralizados. Esto ayuda a reducir el esfuerzo necesario para administrar las cuentas de usuario, ya que varias aplicaciones pueden acceder a ellas. Uno de estos servidores LDAP es Active Directory. LDAP se utiliza a menudo para lograr el inicio de sesión único, que permite al usuario acceder a varias aplicaciones después de iniciar sesión una vez.
Las cuentas de usuario pueden sincronizarse entre el servidor LDAP y el repositorio, y los detalles de la cuenta LDAP se guardan en el repositorio. Esto permite que las cuentas se asignen a los grupos de repositorios para asignar los permisos y privilegios necesarios.
El repositorio utiliza la autenticación LDAP para autenticar a estos usuarios, con credenciales que se pasan al servidor LDAP para su validación, lo cual es necesario antes de permitir el acceso al repositorio. Para mejorar el rendimiento, el repositorio puede almacenar en caché las credenciales validadas correctamente, con un tiempo de espera de expiración para garantizar que la revalidación se produce después de un período adecuado.
Cuando se elimina una cuenta de la validación del servidor LDAP ya no se concede y, por tanto, se deniega el acceso al repositorio. Los detalles de las cuentas LDAP guardadas en el repositorio también se pueden depurar.
El uso de estas cuentas es transparente para los usuarios, no ven ninguna diferencia entre las cuentas de usuario y grupo creadas a partir de LDAP y las creadas únicamente en el repositorio.
En AEM 6, la compatibilidad con LDAP incluye una nueva implementación que requiere un tipo de configuración diferente al de las versiones anteriores.
Todas las configuraciones de LDAP están ahora disponibles como configuraciones de OSGi. Se pueden configurar mediante la consola de administración web en: https://serveraddress:4502/system/console/configMgr
Para que LDAP funcione con AEM, debe crear tres configuraciones OSGi:
  1. Proveedor de identidad LDAP (IDP).
  2. Controlador de sincronización.
  3. Un módulo de inicio de sesión externo.
Observe el módulo de inicio de sesión externo de Oak: autenticándose con LDAP y más allá para crear módulos de inicio de sesión externos profundos.
Para leer un ejemplo de cómo configurar Experience Manager con Apache DS, consulte Configuración de Adobe Experience Manager 6.5 para utilizar el servicio de directorio Apache.

Configuración del proveedor de identidad LDAP

El proveedor de identidad LDAP se utiliza para definir cómo se recuperan los usuarios del servidor LDAP.
Se puede encontrar en la consola de administración bajo el nombre Apache Jackrabbit Oak LDAP Identity Provider .
Las siguientes opciones de configuración están disponibles para el proveedor de identidad LDAP:
Nombre del proveedor LDAP Nombre de la configuración de este proveedor LDAP.
Nombre de host del servidor LDAP Nombre de host del servidor LDAP
Puerto del servidor LDAP Puerto del servidor LDAP
Usar SSL Indica si se debe utilizar una conexión SSL (LDAP).
Usar TLS Indica si TLS debe iniciarse en conexiones.
Deshabilitar la comprobación de certificados Indica si se debe deshabilitar la validación de certificados de servidor.
Enlazar DN DN del usuario para la autenticación. Si esto se deja vacío, se realizará un enlace anónimo.
Enlazar contraseña Contraseña del usuario para la autenticación
Tiempo de espera de búsqueda Tiempo hasta que se agota el tiempo de espera de una búsqueda
El máximo del grupo de administración está activo Tamaño máximo activo del grupo de conexiones de administración.
El grupo de usuarios máximo activo Tamaño máximo activo del grupo de conexiones de usuario.
DN de base de usuarios El DN de las búsquedas de usuario
Clases de objetos de usuario La lista de clases de objeto que debe contener una entrada de usuario.
Atributo de ID de usuario Nombre del atributo que contiene el identificador de usuario.
Filtro extra del usuario Filtro LDAP adicional que se utilizará al buscar usuarios. El filtro final tiene el formato siguiente: '(&(<idAttr>=<userId>)(objectclass=<objectclass>)<extraFilter>)' (user.extraFilter)
Rutas de DN de usuario Controla si el DN debe utilizarse para calcular una parte de la ruta intermedia.
DN base de grupo DN base para las búsquedas de grupo.
Clases de objetos de grupo Lista de clases de objetos que debe contener una entrada de grupo.
Atributo de nombre de grupo Nombre del atributo que contiene el nombre del grupo.
Agrupar filtro adicional Filtro LDAP adicional que se utilizará al buscar grupos. El filtro final tiene el siguiente formato: '(&(<nameAttr>=<groupName>)(objectclass=<objectclass>)<extraFilter>)'
Rutas de DN de grupo Controla si el DN debe utilizarse para calcular una parte de la ruta intermedia.
Atributo de miembro de grupo Atributo de grupo que contiene los miembros de un grupo.

Configuración Del Controlador De Sincronización

El controlador de sincronización definirá cómo se sincronizarán los usuarios y grupos del proveedor de identidad con el repositorio.
Se encuentra bajo el nombre Apache Jackrabbit Oak Default Sync Handler en la consola de administración.
Las siguientes opciones de configuración están disponibles para el controlador de sincronización:
Nombre del controlador de sincronización Nombre de la configuración de sincronización.
Tiempo de caducidad del usuario Duración hasta que caduque un usuario sincronizado.
Pertenencia automática del usuario Lista de grupos a los que se agrega automáticamente un usuario sincronizado.
Asignación de propiedades de usuario Enumerar la definición de asignación de propiedades locales de las externas.
Prefijo de ruta de usuario Prefijo de ruta utilizado al crear usuarios nuevos.
Caducidad de pertenencia del usuario Tiempo después del cual caduca la pertenencia.
Profundidad de anidación de membresía del usuario Devuelve la profundidad máxima de anidación de grupos cuando se sincronizan las relaciones de pertenencia. Un valor de 0 deshabilita de forma efectiva la búsqueda de pertenencia a grupos. Un valor de 1 solo agrega los grupos directos de un usuario. Este valor no tiene ningún efecto cuando se sincronizan grupos individuales solo cuando se sincroniza un antecedente de pertenencia de usuarios.
Tiempo de caducidad del grupo Duración hasta que caduque un grupo sincronizado.
Membresía automática del grupo Lista de grupos a los que se agrega automáticamente un grupo sincronizado.
Asignación de propiedades de grupo Enumerar la definición de asignación de propiedades locales de las externas.
Prefijo de ruta de grupo Prefijo de ruta utilizado al crear nuevos grupos.

El módulo de inicio de sesión externo

El módulo de inicio de sesión externo se encuentra en el Módulo ​de inicio de sesión externo Apache Jackrabbit Oak, en la consola de administración.
El Módulo de inicio de sesión externo Apache Jackrabbit Oak implementa las especificaciones de autenticación y autorización de Java (JAAS). Consulte la Guía de Referencia de Seguridad de Oracle Java oficial para obtener más información .
Su trabajo es definir qué proveedor de identidad y controlador de sincronización utilizar, enlazando efectivamente los dos módulos.
Están disponibles las siguientes opciones de configuración:
Clasificación JAAS
Especificar la clasificación (es decir, el orden) de esta entrada del módulo de inicio de sesión. Las entradas se ordenan en orden descendente (es decir, las configuraciones clasificadas de mayor valor son las primeras).
Marca de control JAAS
Propiedad que especifica si se REQUIERE o no un LoginModule, REQUISITO, SUFICIENTE u OPCIONAL.Consulte la documentación de configuración de JAAS para obtener más detalles sobre el significado de estos indicadores.
Dominio de JAAS
Nombre de territorio (o nombre de aplicación) con el que se registra el LoginModule. Si no se proporciona ningún nombre de dominio, LoginModule se registra con un dominio predeterminado, tal como se ha configurado en la configuración Félix JAAS.
Nombre del proveedor de identidad
Nombre del proveedor de identidad.
Nombre del controlador de sincronización
Nombre del controlador de sincronización.
Si planea tener más de una configuración LDAP con su instancia de AEM, es necesario crear proveedores de identidad y controladores de sincronización independientes para cada configuración.

Configurar LDAP sobre SSL

AEM 6 puede configurarse para autenticarse con LDAP a través de SSL siguiendo el procedimiento siguiente:
  1. Marque las casillas de verificación Usar SSL o Utilizar TLS al configurar el proveedor de identidad LDAP.
  2. Configure el controlador de sincronización y el módulo de inicio de sesión externo según la configuración.
  3. Instale los certificados SSL en la VM de Java si es necesario. Esto se puede hacer con la herramienta clave:
    keytool -import -alias localCA -file <certificate location> -keystore <keystore location>
  4. Compruebe la conexión al servidor LDAP.

Creación de certificados SSL

Los certificados con firma automática se pueden utilizar al configurar AEM para autenticarse con LDAP mediante SSL. A continuación se muestra un ejemplo de un procedimiento de trabajo para generar certificados para su uso con AEM.
  1. Asegúrese de tener una biblioteca SSL instalada y en funcionamiento. Este procedimiento utilizará OpenSSL como ejemplo.
  2. Cree un archivo de configuración OpenSSL (cnf) personalizado. Esto se puede hacer copiando el archivo de configuración predeterminado openssl.cnf ​y personalizándolo. En sistemas UNIX, generalmente se encuentra en /usr/lib/ssl/openssl.cnf
  3. Vaya a la creación de la clave raíz de CA ejecutando el comando siguiente en un terminal:
    openssl genpkey -algorithm [public key algorithm] -out certificatefile.key -pkeyopt [public key algorithm option]
    
    
  4. A continuación, cree un nuevo certificado con firma automática:
    openssl req -new -x509 -days [number of days for certification] -key certificatefile.key -out root-ca.crt -config CA/openssl.cnf
  5. Inspeccione el certificado recién generado para asegurarse de que todo está en orden:
    openssl x509 -noout -text -in root-ca.crt
  6. Asegúrese de que existen todas las carpetas especificadas en el archivo de configuración de certificado (.cnf). Si no es así, créelos.
  7. Cree una semilla aleatoria ejecutando, por ejemplo:
    openssl rand -out private/.rand 8192
  8. Mueva los archivos .pem creados a las ubicaciones configuradas en el archivo .cnf.
  9. Finalmente, agregue el certificado al almacén de claves de Java.

Habilitación del registro de depuración

El registro de depuración puede habilitarse tanto para el proveedor de identidad LDAP como para el módulo de inicio de sesión externo para solucionar problemas de conexión.
Para habilitar el registro de depuración, debe:
  1. Vaya a la Consola de administración web.
  2. Busque "Apache Sling Logging Logger Configuration" y cree dos registradores con las siguientes opciones:
  • Nivel de registro: Depurar
  • Archivo de registro logs/ldap.logás
  • Patrón de mensajes: {0,date,dd.MM.yyyy HH:mm:ss.SSS} &ast;{4}&ast; {2} {3} {5}
  • Registrador: org.apache.jackrabbit.oak.security.authentication.ldap
  • Nivel de registro: Depurar
  • Archivo de registro: logs/external.log
  • Patrón de mensajes: {0,date,dd.MM.yyyy HH:mm:ss.SSS} &ast;{4}&ast; {2} {3} {5}
  • Registrador: org.apache.jackrabbit.oak.spi.security.authentication.external

Una palabra sobre la afiliación al grupo

Los usuarios sincronizados mediante LDAP pueden formar parte de diferentes grupos en AEM. Estos grupos pueden ser grupos LDAP externos que se agregarán a AEM como parte del proceso de sincronización, pero también pueden ser grupos que se agregan por separado y que no forman parte del esquema de afiliación de grupo LDAP original.
En la mayoría de los casos, estos grupos pueden ser agregados por un administrador local de AEM o por cualquier otro proveedor de identidad.
Si se elimina un usuario de un grupo en el servidor LDAP, el cambio también se reflejará en AEM una vez que se haya realizado la sincronización. Sin embargo, todas las demás afiliaciones de grupo del usuario que no fueron agregadas por LDAP permanecerán en su lugar.
AEM detecta y gestiona la depuración de usuarios de grupos externos mediante el uso de la rep:externalId propiedad. Esta propiedad se agrega automáticamente a cualquier usuario o grupo sincronizado por el controlador de sincronización y contiene información sobre el proveedor de identidad de origen.
Para obtener más información, consulte la documentación de Apache Oak sobre la sincronización de usuarios y grupos .

Problemas conocidos

Si planea utilizar LDAP sobre SSL, asegúrese de que los certificados que utiliza se crean sin la opción de comentario de Netscape. Si esta opción está habilitada, la autenticación fallará con un error de protocolo de enlace SSL.