Objetivo¶
- Objetivo
- Plan de trabajo
- Arquitectura de la organización
- CAS: Integración con terceros
- Listado del directorio y datos de personas del LDAP.
- Listado de servicios
- Bibliografía: Referencias, Howto's, Módulos y enlaces
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).
- 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.
- Ver: Un borrador del DIT (en gdocs)
- Wiki sobre instalación LDAP (interno)
- Tarea asociada a instalación LDAP #813
- 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¶
- Adoptando un esquema en Psico
- Bibliografía (ya se sistematizó en: https://www.zotero.org/groups/ldap__sso)
- Documento sobre diseño de un directorio: conceptos y recomendaciones [EN]
- Esquemas eduPerson y eduOrg: http://middleware.internet2.edu/eduperson/
- Números OID: http://middleware.internet2.edu/dir/edu-schema-oid-registry.html
- http://middleware.internet2.edu/dir/docs/ldap-recipe.htm
- Los ldifs para instalar:
- Ver curso curso de Gestión de Identidad Identidad: http://projek.psico.edu.uy/projects/uninfo/wiki/Curso-gestion-identidad-c1#LDAP
- 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)¶
- Drupal:
- Wordpress (revisar):
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 )¶
- Roundcube: http://code.google.com/p/rc-cas-plugin/
- Zimbra: https://wiki.jasig.org/display/CAS/CASifying+Zimbra
- Sympa: http://www.sympa.org/manual/authentication
Comentario: Valorar coexistencia de roundcube y zimbra.
Gestor documental (DMS)¶
- Alfresco: http://wiki.alfresco.com/wiki/Alfresco_With_mod_auth_cas
- OwnCloud: http://owncloud.org
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¶
- Django: https://docs.djangoproject.com/en/1.3/howto/auth-remote-user/
- RoR: https://wiki.jasig.org/display/CASC/Ruby+on+Rails+CAS+Client
- Más info: https://wiki.jasig.org/display/CAS/CASifying+Applications
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
- General LDAP
- Definición de LDAP: http://es.wikipedia.org/wiki/LDAP
- Más info: http://wiki.case.edu/LDAP
- General CAS
- Definición de CAS: http://en.wikipedia.org/wiki/Central_Authentication_Service
- Documentación de CSIC (Uy) (revisar)
- Wiki/Repositorio del SIG sobre arquitecturas abiertas en instituciones:
- Intregración con Moodle: http://docs.moodle.org/20/en/Integration_FAQ
- Módulos sobre Drupal y LDAP (por orden de interés para el proyecto)
1 "CAS is "Single Sign-on for the Web" and is developed by JA-SIG in an open-source, collaborative manner. CAS is very beneficial in environments where a number of different web applications share a set of common users. If all the web applications were "CASified" a user would log in once and would then be able to move between the various web applications without ever having to present authentication credentials again"