Objetivo¶
El objetivo del siguiente proyecto es el de lograr un sistema centralizado de autenticación, autorización y directorio de las personas de la organización. Para ello, se estudia emplear los siguientes protocolos:
- Autorización y Directorio: LDAP
LDAP (Lightweight Directory Access Protocol) es un protocolo que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red.
- Autenticación: CAS
CAS (Central Authentication Service)[1] permite centralizar las credenciales del usuario para todos los procesos de login (GNU/Linux, Windows, Moodle, Drupal, SquirelMail, Samba...) permitiendo SSO (Single-sign-on) y persistencia en la autenticación (no pide el pwd de nuevo al cambiar de una aplicación a otra).
Este documento:
- Describe la arquitectura actual y propone una futura arquitectura.
- Plantea un plan de trabajo enumerando las tareas que habría que realizar.
- Presenta los desarrollos que permitirían llevar a cabo esta tarea.
- Recopila documentación con definiciones, estado del arte y howtos.
Comentario: Si una aplicación todavía no se ha CASificado, se sugiere emplear temporalmente autenticación contra el LDAP.
Plan de trabajo¶
Se plantea atacar el proyecto de forma progresiva realizando las siguientes tareas:
- Conocer experiencias similares
- Otras Facultades o Servicios nacionales
- Otras instituciones estatales
- Otras Universidades de otros países (región, mundo entero)
- Diseñar sistema de autenticación centralizada.
- Instalar servidor OpenLDAP (configurar mecanismos de autorización) (Ver tarea #1175)
- Conectar con CAS (autenticación)
- Pruebas de Autorización: acceso a servicios según LDAP (Listado de aplicaciones)
- Pruebas de Integración: Single-Sign-On (Listado de servicios)
- Presentación del directorio (GOsa, Drupal, desarrollo?)
- Automodificación de los datos personales en el directorio (GOsa, Drupal, desarrollo própio?)
- Sincronización de perfiles y roles de usuario (Moodle, Drupal...)
Arquitectura de la organización¶
FIXME: aquí va un gráfico de todo lo que hay y otro de todo lo que habrá... y de como se relaciona entre si
FIXME: tenemos algo avanzado acá sobre los servicios de red (interno)
Diseño¶
- Proyecto SAUCE (por ahora no hay versión pública)
Por resolver¶
- Hacer un template para la creación de usuario eduPerson con PHPLDAPMyAdmin
- Ver si vale la pena y cómo almacenar la cédula y/o número de funcionario en el directorio
- Integración con SIAP
CAS: Integración con terceros¶
Gestores de contenidos (Drupal)¶
Comentario: Valorar en cada caso si no merece la pena unificar el uso de CMS.
EVA (Moodle)¶
- Moodle 1.x soporta autenticación CAS de forma nativa.
- Moodle 2.0 incorpora autenticación CAS de forma nativa.
Comentario: Valorar SSO con LDAP hasta migración a 2.0
Correo (Roundcube y/o Zimbra, Sympa )¶
Comentario: Valorar coexistencia de roundcube y zimbra.
Gestor documental (DMS)¶
Comentario: La implantación de Alfresco2 o OwnCloud se planteará como un proyecto a parte. Enlaces en
Monotorización (Zabix)¶
Comentario: Valorar si merece la pena integración con CAS de la herramienta de monitoreo.
Otros¶
Listado del directorio y datos de personas del LDAP.¶
Movido a: Drupal como herramienta de directorio
Listado de servicios¶
A continuación un listado de los servicios a integrar con el LDAP/CAS:
Login en Windows
- Login en gnu/Linux
- Unidades de red (Samba o fuse)
- Impresoras en red (Samba u otro)
- Moodle
- Drupal
- Redmine
- Roundcube
- Software propio de la UdelaR
- Alfresco
Bibliografía: Referencias, Howto's, Módulos y enlaces¶
Bibliografía leída y sistematizada en Zotero: https://www.zotero.org/groups/ldap__sso
- Documentación de CSIC (Uy) (revisar)
- Wiki/Repositorio del SIG sobre arquitecturas abiertas en instituciones:
- Módulos sobre Drupal y LDAP (por orden de interés para el proyecto)