Configuración de LDAP con AEM 6

LDAP (el L ponderación D directorio A acceso P protocolo) se utiliza para acceder a servicios de directorio centralizados. Esto ayuda a reducir el esfuerzo necesario para administrar las cuentas de usuario, ya que se puede acceder a ellas desde varias aplicaciones. 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 se pueden sincronizar entre el servidor LDAP y el repositorio, y los detalles de las cuentas LDAP se guardan en el repositorio. Esto permite que las cuentas se asignen a grupos de repositorios para asignar los permisos y privilegios necesarios.

El repositorio utiliza la autenticación LDAP para autenticar a esos usuarios, con credenciales pasadas al servidor LDAP para su validación, que 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 caducidad para garantizar que la revalidación se produzca después de un periodo adecuado.

Cuando se elimina una cuenta del servidor LDAP, ya no se concede la validación y, por lo tanto, se deniega el acceso al repositorio. Los detalles de las cuentas LDAP que se guardan 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 viene con una nueva implementación que requiere un tipo de configuración diferente al de las versiones anteriores.

Todas las configuraciones LDAP ahora están disponibles como configuraciones de OSGi. Se pueden configurar a través de 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. Un proveedor de identidad LDAP (IDP).
  2. Controlador de sincronización.
  3. Un módulo de inicio de sesión externo.
NOTA

Watch Módulo de inicio de sesión externo de Oak: autenticación con LDAP y más allá para profundizar en los módulos de inicio de sesión externos.

Para leer un ejemplo de configuración de 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 encuentra en la consola de administración, en la sección Proveedor de identidad de Apache Jackrabbit Oak LDAP nombre.

Las siguientes opciones de configuración están disponibles para el proveedor de identidad LDAP:

Nombre del proveedor LDAP Nombre de esta configuración del 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.
Enlace DN DN del usuario para la autenticación. Si se deja vacío, se realiza un enlace anónimo.
Vincular contraseña Contraseña del usuario para la autenticación
Tiempo de espera de la búsqueda Tiempo hasta que se agota el tiempo de espera de una búsqueda
Máximo del grupo de administración activo El tamaño máximo activo del grupo de conexiones de administración.
Acumulación máxima de usuarios activa Tamaño máximo activo del grupo de conexiones de usuario.
DN de base de usuario DN para búsquedas de usuarios
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 siguiente formato: '(&(<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 de base de grupo DN base para búsquedas de grupo.
Agrupar clases de objetos La 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.
Filtro extra de grupo 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 del 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 debajo de la Controlador de sincronización predeterminado Apache Jackrabbit Oak nombre 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.
Hora de caducidad del usuario Duración hasta que un usuario sincronizado caduque.
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 El prefijo de ruta que se utiliza al crear nuevos usuarios.
Caducidad de pertenencia del usuario Tiempo después del cual caduca la pertenencia.
Profundidad de anidación de la pertenencia del usuario Devuelve la profundidad máxima del anidado de grupos cuando se sincronizan las relaciones de pertenencia. Un valor de 0 deshabilita de forma efectiva la búsqueda de miembros del grupo. 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 al sincronizar un antecedente de pertenencia de usuarios.
Hora de caducidad del grupo Duración hasta que caduque un grupo sincronizado.
Pertenencia automática de 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 que se utiliza 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 la sección Módulo de inicio de sesión externo Apache Jackrabbit Oak en la consola de administración.

NOTA

El Módulo de inicio de sesión externo Apache Jackrabbit Oak implementa las especificaciones de JAAS (Autenticación y autorización de Java). Consulte la guía de referencia de seguridad de Oracle oficial de Java 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.

Estas son las opciones de configuración disponibles:

Clasificación de JAAS Especificar la clasificación (es decir, el orden de clasificación) de esta entrada del módulo de inicio de sesión. Las entradas se ordenan en orden descendente (es decir, las configuraciones de clasificación de valores más altos son las primeras).
Indicador 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 información sobre el significado de estos indicadores.
Dominio de JAAS Nombre de territorio (o nombre de aplicación) con el que se registra LoginModule. Si no se proporciona ningún nombre de dominio, LoginModule se registra con un dominio predeterminado tal como se configura en la configuración Felix JAAS.
Nombre del proveedor de identidad Nombre del proveedor de identidad.
Nombre del controlador de sincronización Nombre del controlador de sincronización.
NOTA

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.

Configuración de LDAP sobre SSL

AEM 6 se puede configurar para autenticarse con LDAP sobre SSL siguiendo el siguiente procedimiento:

  1. Marque la Usar SSL o Usar TLS casillas de verificación al configurar la variable Proveedor de identidad LDAP.

  2. Configure el controlador de sincronización y el módulo de inicio de sesión externo según su configuración.

  3. Instale los certificados SSL en la VM de Java si es necesario. Esto se puede hacer con keytool:

    keytool -import -alias localCA -file <certificate location> -keystore <keystore location>

  4. Pruebe la conexión con el 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 funcionando. Este procedimiento utilizará OpenSSL como ejemplo.

  2. Cree un archivo de configuración OpenSSL personalizado (cnf). Esto se puede hacer copiando el archivo de configuración predeterminado openssl.cnf ​ y personalizándolo. En sistemas UNIX, normalmente se ubica en /usr/lib/ssl/openssl.cnf

  3. Continúe creando la clave raíz de CA ejecutando el siguiente comando 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 autofirmado:

    openssl req -new -x509 -days [number of days for certification] -key certificatefile.key -out root-ca.crt -config CA/openssl.cnf

  5. Inspect 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 todas las carpetas especificadas en el archivo de configuración de certificado (.cnf) existan. 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 se puede habilitar 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 "Configuración del registrador de Sling de Apache" y cree dos registradores con las siguientes opciones:
  • Nivel de registro: Depuración

  • Archivo de registro logs/ldap.log

  • Patrón de mensaje: {0,date,dd.MM.yyyy HH:mm:s.SSS} *{4}* {2}

  • Registrador: org.apache.jackrabbit.oak.security.authentication.ldap

  • Nivel de registro: Depuración

  • Archivo de registro: logs/external.log

  • Patrón de mensaje: {0,date,dd.MM.yyyy HH:mm:s.SSS} *{4}* {2}

  • Registrador: org.apache.jackrabbit.oak.spi.security.authentication.external

Una palabra sobre afiliación de grupo

Los usuarios sincronizados a través de 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 del grupo LDAP original.

En la mayoría de los casos, pueden ser grupos agregados por un administrador de AEM local o por cualquier otro proveedor de identidad.

Si se elimina a un usuario de un grupo en el servidor LDAP, el cambio también se reflejará en el lado AEM tras 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 variable rep:externalId propiedad. Esta propiedad se agrega automáticamente a cualquier usuario o grupo que sincronice 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 en Sincronización de usuarios y grupos.

Problemas conocidos

Si planea utilizar LDAP sobre SSL, asegúrese de que los certificados que está utilizando 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.

En esta página