SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Centralizando la Autenticación
y Autorización en la UNLP
Nuestra experiencia con SSO
Lic. Christian A. Rodriguez
car@cespi.unlp.edu.ar
@car_unlp
Roadmap
• Escenario
• Objetivo y alcance
• Alternativas tecnológicas
• Nuestra elección
• Selección de productos: servidor y librerías para desarrollo
• Desarrollos ad-hoc para sustentar el proyecto
• Complicaciones durante el desarrollo
Escenario
• En números:
– 18 Unidades Académicas y 4 colegios
– 109.000 alumnos
– 12.000 docentes
– 3000 administrativos
• Ya disponemos de un servicio web que integra tablas de referencia como:
provincias, ciudades, tipo de documento, estado civil, y lo más importante
PERSONAS de la UNLP
• Identificamos usuarios de las aplicaciones con roles implícitos:
– Roles: alumnos, docentes y no docentes
– Cada rol es en una dependencia
– Un usuario puede tener más de un rol en cada dependencia
Escenario: aplicaciones que requieren autenticación y autorización
• Guaraní
• Moodle
• Licencias médicas
• Títulos
• Libretas estudiantiles sanitarias
• Albergue Universitario
• Becas
• Expedientes
• Liquidación de sueldos
• Recibos de sueldo
• Auditoría de cargos y descargos
• Proyectos de Extensión Universitaria
• ...
Escenario: los problemas conocidos
• Cada aplicación con su usuario
• La contraseña anotada en el monitor o compartida por toda una oficina
• Cuando alguien se desplaza en la organización, se dificulta mantener la
autorización actualizada
• Políticas de seguridad distribuidas
• Los desarrollos siempre implementan la misma funcionalidad:
– ABM de usuarios
– Gestión de contraseña
– Olvidé mi contraseña
Objetivos
• Un único usuario para todos los sistemas
• Una aplicación centralizada para autenticar los usuarios
• Una aplicación que permita gestionar la autorización a los sistemas
• Que los usuarios puedan utilizar sus cuentas institucionales y asociarlas a
cuentas en redes sociales para la autenticación
• Que los nuevos desarrollos focalicen en la lógica de negocio y no en
funcionalidad repetitiva
• Armar un repositorio de usuarios integrado a la API de integración de la UNLP
permitiendo así:
– Determinar usuarios por dependencia
– Determinar usuarios que son alumnos, docentes o no docentes
– Armar directorios virtuales para integrar servicios de infraestructura como por ejemplo:
mensajería, email, radius, etc.
Alcance
• Análisis de tecnología y estándares vigentes
• Evaluación de productos
• Desarrollo y personalización de la infraestructura
Alternativas Tecnológicas
• Single Sign On en la organización
– SAML
– CAS
• Soluciones de autenticación alternativas
– OpenID
– Utilizar redes sociales: Facebook, Google, Twitter, Linkedin
Nuestra elección
• SAML como estándar
• Utilizar una fuente de autenticación de usuarios propia de la UNLP integrada
con redes sociales
Evaluación de productos de código abierto
• SimpleSAMLphp
• CAS
• Shibboleth
• OpenAM
Librerías SAML para el desarrollo
• SimpleSAMLphp
• OneLogin
• Plugin para symfony 1.4
• Gema ruby-saml
• Plugin Redmine omniauth SAML
• Plugin Moodle SAML onelogin
Desarrollos y personalizaciones
• Fue necesario definir un esquema que permita
– Representar los usuarios en la organización: un usuario pertenece a N dependencias, y en
cada una puede tener roles implícitos
– Representar las aplicaciones: las aplicaciones tienen entornos y permisos. Además automatiza
la configuración de los service providers en SimpleSAMLphp
• Personalización de SimpleSAMLphp
– Filtro que indica la fuente de autenticación: si es UNLP, o una red social. La aplicación
determinará si es válida la fuente o requiere otra para su autenticación.
– Filtro que agrega roles como atributos durante el login: se agregan los roles implícitos como
los explícitos para una aplicación
– Filtro de accounting y políticas de seguridad: ante la caducidad de una cuenta, se evita el
login. Además se lleva el accounting de los accesos
• Aplicaciones ad-hoc
– Gestor de usuarios, aplicaciones, permisos y notificaciones
– Autoregistro
– Gestor del perfil del usuario
Complicaciones durante el desarrollo
• Ambientes complejos en producción requiere una réplica compleja en
desarrollo
– Utilizamos Vagrant
– Estamos pasando a docker
• Test de aplicaciones con ambientes similares
– Se desarrolló la aplicación de gestión de aplicaciones con ambientes, permitiendo armar
ambientes para los entornos de prueba diferentes a los de producción
• Necesidad de servicio web SSO
– Las aplicaciones a veces requieren conocer datos de la infraestructura de SSO
– Este servicio debe implementarse proveyendo entre otra información, qué usuarios tienen
determinado rol
¿Consultas?

Más contenido relacionado

Similar a Centralizando la autenticación y autorización en la UNLP. Nuestra experiencia con Single Sign On

Contribuciones de software de código abierto realizados por CeSPI, UNLP - TIC...
Contribuciones de software de código abierto realizados por CeSPI, UNLP - TIC...Contribuciones de software de código abierto realizados por CeSPI, UNLP - TIC...
Contribuciones de software de código abierto realizados por CeSPI, UNLP - TIC...Christian Rodriguez
 
CISL: ChoiqueCMS, KimKelem, Meran, Software liberado por la UNLP
CISL: ChoiqueCMS, KimKelem, Meran, Software liberado por la UNLPCISL: ChoiqueCMS, KimKelem, Meran, Software liberado por la UNLP
CISL: ChoiqueCMS, KimKelem, Meran, Software liberado por la UNLPChristian Rodriguez
 
Ingenieria requisitos
Ingenieria requisitosIngenieria requisitos
Ingenieria requisitosYAMILA GASCON
 
Moodlesalud sie-cvsp-edgardo-de-gracia
Moodlesalud sie-cvsp-edgardo-de-graciaMoodlesalud sie-cvsp-edgardo-de-gracia
Moodlesalud sie-cvsp-edgardo-de-graciaEdgardo Gracia
 
Desarrollo de prototipos
Desarrollo de prototiposDesarrollo de prototipos
Desarrollo de prototiposTensor
 
Presentación digital Eliezer Alas
Presentación digital Eliezer AlasPresentación digital Eliezer Alas
Presentación digital Eliezer AlasEliezer Alas
 
Prototipado rapido de interfaces
Prototipado rapido de interfacesPrototipado rapido de interfaces
Prototipado rapido de interfacesGaby Fernandez
 
Taller ingernieria de requerimientos
Taller ingernieria de requerimientosTaller ingernieria de requerimientos
Taller ingernieria de requerimientosXilena16
 
inTrack | opensource sostenible
inTrack | opensource sostenibleinTrack | opensource sostenible
inTrack | opensource sostenibleintrack
 
Linea de produccion y metodo watch
Linea de produccion y metodo watchLinea de produccion y metodo watch
Linea de produccion y metodo watchJose Avila
 
15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC
15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC
15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVCLuis Fernando Aguas Bucheli
 
Idukay - Software para la gestión de tu colegioPerú
Idukay - Software para la gestión de tu colegioPerúIdukay - Software para la gestión de tu colegioPerú
Idukay - Software para la gestión de tu colegioPerúPablo Pazmino
 
Blossom Presentation
Blossom Presentation Blossom Presentation
Blossom Presentation Dave Sanders
 
Presentación Arbusta Agosto 2016
Presentación Arbusta Agosto 2016Presentación Arbusta Agosto 2016
Presentación Arbusta Agosto 2016Wolf Sellmer
 

Similar a Centralizando la autenticación y autorización en la UNLP. Nuestra experiencia con Single Sign On (20)

Contribuciones de software de código abierto realizados por CeSPI, UNLP - TIC...
Contribuciones de software de código abierto realizados por CeSPI, UNLP - TIC...Contribuciones de software de código abierto realizados por CeSPI, UNLP - TIC...
Contribuciones de software de código abierto realizados por CeSPI, UNLP - TIC...
 
CISL: ChoiqueCMS, KimKelem, Meran, Software liberado por la UNLP
CISL: ChoiqueCMS, KimKelem, Meran, Software liberado por la UNLPCISL: ChoiqueCMS, KimKelem, Meran, Software liberado por la UNLP
CISL: ChoiqueCMS, KimKelem, Meran, Software liberado por la UNLP
 
Ingenieria requisitos
Ingenieria requisitosIngenieria requisitos
Ingenieria requisitos
 
Moodlesalud sie-cvsp-edgardo-de-gracia
Moodlesalud sie-cvsp-edgardo-de-graciaMoodlesalud sie-cvsp-edgardo-de-gracia
Moodlesalud sie-cvsp-edgardo-de-gracia
 
Desarrollo de prototipos
Desarrollo de prototiposDesarrollo de prototipos
Desarrollo de prototipos
 
Presentación digital Eliezer Alas
Presentación digital Eliezer AlasPresentación digital Eliezer Alas
Presentación digital Eliezer Alas
 
Prototipado rapido de interfaces
Prototipado rapido de interfacesPrototipado rapido de interfaces
Prototipado rapido de interfaces
 
CAMPI
CAMPICAMPI
CAMPI
 
Taller ingernieria de requerimientos
Taller ingernieria de requerimientosTaller ingernieria de requerimientos
Taller ingernieria de requerimientos
 
Numen S.A.
Numen S.A.Numen S.A.
Numen S.A.
 
Software de tipo web
Software de tipo webSoftware de tipo web
Software de tipo web
 
inTrack | opensource sostenible
inTrack | opensource sostenibleinTrack | opensource sostenible
inTrack | opensource sostenible
 
Expo SillApp
Expo SillAppExpo SillApp
Expo SillApp
 
Linea de produccion y metodo watch
Linea de produccion y metodo watchLinea de produccion y metodo watch
Linea de produccion y metodo watch
 
Soluciones a escenarios Reales
Soluciones a escenarios RealesSoluciones a escenarios Reales
Soluciones a escenarios Reales
 
15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC
15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC
15-Unidad 4: Introducción a las Arquitecturas Web 4.1 DAO 4.2 MVC
 
Idukay - Software para la gestión de tu colegioPerú
Idukay - Software para la gestión de tu colegioPerúIdukay - Software para la gestión de tu colegioPerú
Idukay - Software para la gestión de tu colegioPerú
 
Presentación ITILmobile
Presentación ITILmobilePresentación ITILmobile
Presentación ITILmobile
 
Blossom Presentation
Blossom Presentation Blossom Presentation
Blossom Presentation
 
Presentación Arbusta Agosto 2016
Presentación Arbusta Agosto 2016Presentación Arbusta Agosto 2016
Presentación Arbusta Agosto 2016
 

Centralizando la autenticación y autorización en la UNLP. Nuestra experiencia con Single Sign On

  • 1. Centralizando la Autenticación y Autorización en la UNLP Nuestra experiencia con SSO Lic. Christian A. Rodriguez car@cespi.unlp.edu.ar @car_unlp
  • 2. Roadmap • Escenario • Objetivo y alcance • Alternativas tecnológicas • Nuestra elección • Selección de productos: servidor y librerías para desarrollo • Desarrollos ad-hoc para sustentar el proyecto • Complicaciones durante el desarrollo
  • 3. Escenario • En números: – 18 Unidades Académicas y 4 colegios – 109.000 alumnos – 12.000 docentes – 3000 administrativos • Ya disponemos de un servicio web que integra tablas de referencia como: provincias, ciudades, tipo de documento, estado civil, y lo más importante PERSONAS de la UNLP • Identificamos usuarios de las aplicaciones con roles implícitos: – Roles: alumnos, docentes y no docentes – Cada rol es en una dependencia – Un usuario puede tener más de un rol en cada dependencia
  • 4. Escenario: aplicaciones que requieren autenticación y autorización • Guaraní • Moodle • Licencias médicas • Títulos • Libretas estudiantiles sanitarias • Albergue Universitario • Becas • Expedientes • Liquidación de sueldos • Recibos de sueldo • Auditoría de cargos y descargos • Proyectos de Extensión Universitaria • ...
  • 5. Escenario: los problemas conocidos • Cada aplicación con su usuario • La contraseña anotada en el monitor o compartida por toda una oficina • Cuando alguien se desplaza en la organización, se dificulta mantener la autorización actualizada • Políticas de seguridad distribuidas • Los desarrollos siempre implementan la misma funcionalidad: – ABM de usuarios – Gestión de contraseña – Olvidé mi contraseña
  • 6. Objetivos • Un único usuario para todos los sistemas • Una aplicación centralizada para autenticar los usuarios • Una aplicación que permita gestionar la autorización a los sistemas • Que los usuarios puedan utilizar sus cuentas institucionales y asociarlas a cuentas en redes sociales para la autenticación • Que los nuevos desarrollos focalicen en la lógica de negocio y no en funcionalidad repetitiva • Armar un repositorio de usuarios integrado a la API de integración de la UNLP permitiendo así: – Determinar usuarios por dependencia – Determinar usuarios que son alumnos, docentes o no docentes – Armar directorios virtuales para integrar servicios de infraestructura como por ejemplo: mensajería, email, radius, etc.
  • 7. Alcance • Análisis de tecnología y estándares vigentes • Evaluación de productos • Desarrollo y personalización de la infraestructura
  • 8. Alternativas Tecnológicas • Single Sign On en la organización – SAML – CAS • Soluciones de autenticación alternativas – OpenID – Utilizar redes sociales: Facebook, Google, Twitter, Linkedin Nuestra elección • SAML como estándar • Utilizar una fuente de autenticación de usuarios propia de la UNLP integrada con redes sociales
  • 9. Evaluación de productos de código abierto • SimpleSAMLphp • CAS • Shibboleth • OpenAM Librerías SAML para el desarrollo • SimpleSAMLphp • OneLogin • Plugin para symfony 1.4 • Gema ruby-saml • Plugin Redmine omniauth SAML • Plugin Moodle SAML onelogin
  • 10. Desarrollos y personalizaciones • Fue necesario definir un esquema que permita – Representar los usuarios en la organización: un usuario pertenece a N dependencias, y en cada una puede tener roles implícitos – Representar las aplicaciones: las aplicaciones tienen entornos y permisos. Además automatiza la configuración de los service providers en SimpleSAMLphp • Personalización de SimpleSAMLphp – Filtro que indica la fuente de autenticación: si es UNLP, o una red social. La aplicación determinará si es válida la fuente o requiere otra para su autenticación. – Filtro que agrega roles como atributos durante el login: se agregan los roles implícitos como los explícitos para una aplicación – Filtro de accounting y políticas de seguridad: ante la caducidad de una cuenta, se evita el login. Además se lleva el accounting de los accesos • Aplicaciones ad-hoc – Gestor de usuarios, aplicaciones, permisos y notificaciones – Autoregistro – Gestor del perfil del usuario
  • 11. Complicaciones durante el desarrollo • Ambientes complejos en producción requiere una réplica compleja en desarrollo – Utilizamos Vagrant – Estamos pasando a docker • Test de aplicaciones con ambientes similares – Se desarrolló la aplicación de gestión de aplicaciones con ambientes, permitiendo armar ambientes para los entornos de prueba diferentes a los de producción • Necesidad de servicio web SSO – Las aplicaciones a veces requieren conocer datos de la infraestructura de SSO – Este servicio debe implementarse proveyendo entre otra información, qué usuarios tienen determinado rol