¿Qué significa la autenticación LDAP en Infinite Scale?
ownCloud Infinite Scale (oCIS) autentica las sesiones del navegador y del cliente mediante OpenID Connect (OIDC). LDAP puede proporcionar los usuarios y credenciales del directorio a través del proveedor de identidad integrado de oCIS, o bien, puede estar detrás de un proveedor OIDC externo como Keycloak. La configuración adecuada depende de si se necesita una implementación pequeña con un flujo de inicio de sesión sencillo o una plataforma de identidad de producción con controles más amplios.
Esta distinción es útil porque oCIS no es ownCloud Server Classic. Los tutoriales clásicos configuran LDAP a través de la página de administración web o occ ldap:*no configuran oCIS. En oCIS, la configuración se realiza mediante variables de entorno de implementación o configuración de servicio, y varios servicios pueden necesitar una vista coherente del mismo directorio.
La documentación del servicio IDP de ownCloud, que utiliza versiones, indica que el proveedor integrado puede usar un servidor LDAP externo. Sin embargo, su guía de seguridad recomienda un proveedor OIDC externo para instalaciones de mayor tamaño o en entornos de producción. Esta guía utiliza la documentación de oCIS 8.2; antes de aplicar variables, consulte la documentación correspondiente a su versión instalada, ya que los valores predeterminados y los ejemplos de implementación pueden cambiar.
¿Qué diseño de autenticación debería elegir?
| Acercarse | Buen ajuste | Compensación |
| oCIS IDP integrado con LDAP externo | Una pequeña instalación, laboratorio o evaluación donde LDAP debería ser la fuente de contraseñas. | Es sencillo de usar, pero el proveedor de identidad integrado está deliberadamente limitado y no es una plataforma de identidad completa. |
| Proveedor OIDC externo conectado a LDAP o Active Directory | Producción, múltiples aplicaciones o requisitos como MFA centralizado y controles del ciclo de vida de la identidad. | Agrega un servicio de identidad para su funcionamiento, pero coloca la política de inicio de sesión y la integración LDAP en un proveedor diseñado específicamente para ello. |
| Autenticación básica HTTP | Casos específicos de compatibilidad o desarrollo | No se trata de la ruta de inicio de sesión habitual del navegador. ownCloud advierte sobre los riesgos de habilitar la autenticación básica por proxy en entornos de producción. |
Si ya utiliza Keycloak u otro proveedor OIDC, conectarlo al directorio suele ser la opción más limpia para entornos de producción. Si se trata de una implementación pequeña y las limitaciones del proveedor integrado son aceptables, configure el backend LDAP del IDP y pruébelo antes de otorgar acceso a los usuarios.
¿Qué información debe recopilar antes de editar oCIS?
- La versión exacta de oCIS y el método de implementación, como Docker Compose, Kubernetes o un proceso binario supervisado.
- El nombre DNS del servidor LDAP, la cadena de certificados TLS y el punto final LDAPS. Se recomienda
ldaps://la validación del certificado; no la desactive para ocultar un problema de confianza.
- Una cuenta de enlace con privilegios mínimos y su nombre distintivo (DN) completo. La cuenta debe poder buscar las ramas de usuarios y grupos que oCIS necesita, sin permisos de escritura innecesarios.
- El nombre distintivo (DN) base de búsqueda de usuario, el ámbito de búsqueda, el atributo de inicio de sesión, la clase de objeto, los atributos de correo electrónico y nombre para mostrar, y un atributo de ID de usuario único y estable. Confirme estos datos con las entradas reales del directorio.
- El DN base del grupo y el atributo de membresía si los grupos LDAP de los usuarios deben aparecer en oCIS.
- Una copia de seguridad de la configuración actual de oCIS y un inicio de sesión de administrador probado que no dependa del cambio de LDAP.
La asignación estable de identidades requiere especial atención. Si bien el nombre de usuario o el correo electrónico pueden cambiar, un identificador único debe permanecer asociado a la misma persona. Si oCIS detecta un identificador diferente tras el cambio, una persona existente podría aparecer como una cuenta nueva en lugar de heredar la identidad y el acceso esperados.
¿Cómo se conecta el proveedor de identidad integrado a un servidor LDAP externo?
Para una implementación pequeña que utilice el IDP integrado de oCIS, configure las variables LDAP con ámbito de IDP en la configuración del entorno o servicio que utilice su implementación. Los valores que se muestran a continuación son solo ejemplos. Reemplace el host, los DN, la ruta del certificado y los nombres del esquema con los valores de su directorio.
IDP_LDAP_URI=ldaps://ldap.example.net:636
IDP_LDAP_TLS_CACERT=/etc/ocis/certs/directory-ca.pem
IDP_LDAP_BIND_DN=uid=ocis-reader,ou=service,dc=example,dc=net
IDP_LDAP_BIND_PASSWORD=<load-from-your-secret-store>
IDP_LDAP_BASE_DN=ou=people,dc=example,dc=net
IDP_LDAP_SCOPE=sub
IDP_LDAP_LOGIN_ATTRIBUTE=uid
IDP_LDAP_EMAIL_ATTRIBUTE=mail
IDP_LDAP_NAME_ATTRIBUTE=displayName
IDP_LDAP_UUID_ATTRIBUTE=entryUUID
IDP_LDAP_UUID_ATTRIBUTE_TYPE=text
IDP_LDAP_OBJECTCLASS=inetOrgPerson
La documentación de referencia del IDP describe estos ajustes, incluyendo la URI, el certificado CA, el DN de enlace y la contraseña, el DN base del usuario, el ámbito, el atributo de inicio de sesión, el atributo UUID y la clase de objeto. El ejemplo asume que el directorio proporciona un DN textual entryUUID; Active Directory y otros esquemas pueden requerir asignaciones diferentes. No copie este código entryUUIDsolo porque aparezca aquí.
Almacene la contraseña de enlace como un secreto de implementación o en el mecanismo de secretos recomendado para su plataforma. Evite incluirla en un archivo Compose público, repositorio o ticket. Mantenga el certificado CA legible por el proceso oCIS y conserve la verificación del certificado. La INSECUREconfiguración del IDP desactiva la validación del certificado LDAP TLS y no está diseñada explícitamente para entornos de producción.
También adapte el comportamiento de desactivación de cuentas a su directorio. La documentación de IDP enumera IDP_USER_ENABLED_ATTRIBUTE; su valor predeterminado es un nombre de atributo específico de ownCloud. Si su directorio utiliza un indicador de habilitado/deshabilitado diferente, asigne ese atributo real. Revise USERS_LDAP_DISABLE_USER_MECHANISMtambién el servicio de usuarios. Según el directorio, las opciones documentadas son manejo basado en atributos, manejo basado en grupos o none; elija deliberadamente para que una cuenta deshabilitada no se trate como activa debido a una discrepancia de esquema.
¿Las búsquedas de usuarios y grupos también requieren configuración LDAP?
A menudo, sí. La verificación de contraseña y la detección de usuarios son tareas relacionadas pero independientes. El proveedor de identidad (IDP) autentica el inicio de sesión; los servicios de oCIS y Graph proporcionan información de usuarios y grupos a la plataforma. Si utiliza un directorio externo como fuente de identidad de oCIS, configure los backends LDAP de usuarios y Graph para que lean el mismo directorio y asignen los mismos usuarios de forma consistente.
Para el servicio de usuarios, revise USERS_DRIVER=ldapy sus configuraciones de ámbito de servicio, como USERS_LDAP_URI, USERS_LDAP_CACERT, USERS_LDAP_BIND_DN, USERS_LDAP_BIND_PASSWORD, USERS_LDAP_USER_BASE_DN, USERS_LDAP_USER_SCHEMA_ID, y USERS_LDAP_USER_SCHEMA_USERNAME. Configure las variables de correo electrónico, nombre para mostrar, ámbito y grupo cuando su implementación las requiera. Los nombres de esquema exactos deben coincidir con el directorio en lugar de un ejemplo genérico.
El servicio Graph tiene su propia configuración LDAP. Para un directorio existente que oCIS deba leer sin gestionar, GRAPH_LDAP_SERVER_WRITE_ENABLED=falseconfigure la conexión y el esquema LDAP de Graph. ownCloud documenta esto como el patrón de solo lectura para conectarse a un servidor LDAP existente. Deje las escrituras deshabilitadas a menos que haya preparado deliberadamente un esquema LDAP compatible y desee que oCIS cree o modifique objetos de directorio.
Utilice con precaución los prefijos de variables específicos del servicio o las OCIS_LDAP_*variables globales documentadas. Las variables globales pueden afectar a varios servicios a la vez. Para una primera integración, la configuración explícita por servicio facilita la identificación del servicio que está fallando y evita escrituras no deseadas o suposiciones de esquema. La referencia del servicio de usuarios y la referencia del servicio de Graph enumeran los nombres y valores predeterminados específicos de la versión.
¿Cómo se aplican los ajustes de forma segura?
- Guarda una copia del archivo de entorno actual, la unidad de servicio o la configuración de Compose. Anota cómo revertirla.
- Agregue las variables LDAP a la definición del servicio oCIS. No reemplace el resto de un bloque de entorno Compose existente con este ejemplo; integre la configuración en la implementación que ya está ejecutando.
- Verifique que el archivo de certificado exista dentro del contenedor o del espacio de nombres del host donde el servicio oCIS lo lee. La ruta del host no es visible automáticamente dentro de un contenedor.
- Valide la cuenta de enlace y la base de búsqueda con LDAP antes de reiniciar oCIS. Utilice el mismo nombre de host del servidor, DN base y atributo de inicio de sesión configurados para el servicio.
- Reinicie oCIS siguiendo el proceso habitual de su implementación para que los servicios reciban el nuevo entorno. En una implementación multiservicio o multinodo, confirme que los servicios correspondientes en cada instancia utilicen la configuración prevista.
- Realice la prueba con una cuenta LDAP autorizada y otra que no deba iniciar sesión. Mantenga abierta una sesión de administrador existente hasta que se haya verificado la nueva ruta de inicio de sesión.
Para una comprobación directa del directorio, ldapsearchse puede probar el enlace y el filtro de usuario sin introducir la contraseña en la línea de comandos:
ldapsearch -H ldaps://ldap.example.net:636 \
-D 'uid=ocis-reader,ou=service,dc=example,dc=net' -W \
-b 'ou=people,dc=example,dc=net' '(uid=alice)' dn uid entryUUID mail
Utilice el atributo de inicio de sesión y el DN base que desea configurar. Una consulta exitosa confirma el comportamiento de red, TLS, enlace y búsqueda para esa consulta; no demuestra que todos los servicios de oCIS utilicen la misma asignación.
¿Cómo sabes que la configuración funciona?
Para evaluar el resultado, tenga en cuenta otros factores además de la aparición de la página de inicio de sesión. Inicie sesión mediante el flujo web habitual de oCIS con un usuario de directorio de prueba, abra un archivo y confirme el nombre de usuario y los detalles del perfil esperados. Si los grupos controlan el acceso a recursos compartidos o al espacio de almacenamiento, verifique también la pertenencia a un grupo conocido. A continuación, pruebe con una contraseña incorrecta y una cuenta LDAP deshabilitada o fuera de la búsqueda de usuarios permitidos. Dichas cuentas no deberían obtener acceso.
Revise los registros del servicio oCIS para detectar errores de conexión LDAP, TLS, enlace y búsqueda de usuarios. Un enlace LDAP válido seguido de un inicio de sesión oCIS fallido suele indicar una discrepancia en el filtro de búsqueda, el DN base, el identificador de usuario o la asignación de OIDC a usuario. En un entorno piloto de producción, verifique los archivos, recursos compartidos y el acceso basado en grupos de un usuario existente antes de migrar un grupo más grande. Una verificación de autenticación exitosa por sí sola no garantiza que se hayan conservado la identidad y la autorización de la cuenta existente.
¿Qué debes cambiar si el inicio de sesión sigue fallando?
- Errores de TLS o de conexión: Confirme que el host oCIS resuelve y accede al servidor LDAP, que el puerto y el esquema coinciden, y que el archivo CA contiene la cadena de certificados emisores. Mantenga la verificación habilitada.
- La vinculación se realiza correctamente, pero no se encuentra ningún usuario: compruebe el DN base del usuario, el ámbito, la clase de objeto, el atributo de inicio de sesión y el filtro exactos. Un DN de vinculación correcto no implica que la búsqueda se realice en la rama correcta.
- LDAP acepta la contraseña, pero oCIS no puede resolver la cuenta: compare el identificador de inicio de sesión del IDP con el nombre de usuario o la asignación de ID estable del servicio de usuarios. Mantenga un identificador estable y no cambie de nombre de usuario a correo electrónico de forma arbitraria.
- El inicio de sesión funciona, pero el acceso basado en grupos es incorrecto: compruebe los usuarios y el DN base del grupo de Graph, la clase de objeto de grupo, el atributo de miembro y si el backend de Graph está configurado como de solo lectura o habilitado para escritura según lo previsto.
- Necesita autenticación multifactor (MFA), sesiones centralizadas o controles de identidad más amplios: traslade la autenticación LDAP a un proveedor OIDC externo y configure oCIS para que confíe en dicho emisor. El proveedor de identidad integrado tiene limitaciones intencionadas; ownCloud recomienda un proveedor externo para instalaciones de mayor tamaño y señala que el proveedor integrado no ofrece todas las funcionalidades de un servicio de identidad externo.
No lo habilite PROXY_ENABLE_BASIC_AUTHcomo acceso directo para iniciar sesión en un navegador de producción. La documentación del proxy menciona la autenticación básica como un esquema de solicitud compatible, pero indica que solo debe usarse en entornos de desarrollo, no de producción. Para iniciar sesión en oCIS estándar, utilice el proveedor OIDC integrado solo cuando sus limitaciones lo permitan, o conecte un proveedor de identidad OIDC externo con respaldo LDAP.
¿Qué hay fuera de este entorno?
La autenticación LDAP no habilita automáticamente todas las funciones administrativas de LDAP en oCIS. El aprovisionamiento de usuarios y grupos, la sincronización de grupos, el acceso de escritura, los cambios de contraseña, las reglas de cuentas deshabilitadas y la asignación de usuarios existentes requieren configuraciones de servicio y esquemas LDAP compatibles. Para el aprovisionamiento automático externo de OIDC, ownCloud también requiere una reclamación de usuario estable y un backend de Graph con permisos de escritura habilitados cuando el flujo seleccionado crea cuentas. Consulte la documentación del proxy antes de habilitar este comportamiento.
Realice los cambios uno a uno, pruebe con un conjunto reducido de cuentas y confirme tanto la autenticación como la asignación de identidades antes de la implementación general. Si la versión de oCIS, el esquema LDAP o el proveedor de identidades difieren de los supuestos del ejemplo, siga la configuración de referencia de esa versión específica en lugar de reutilizar el ejemplo sin modificaciones.