SlideShare una empresa de Scribd logo
Google confidential | Do not distribute
Single Sign On
Guía completa
Carlos Toxtli
Google confidential | Do not distribute
Comprendiendo Single Sign-On
Webinar 01
Carlos Toxtli
Google confidential | Do not distribute
¿Qué es Single Sign-On ?
Single Sign-On es un mecanismo de autenticación que permite a los usuarios acceder a
múltiples servicios con un solo inicio de sesión.
Google confidential | Do not distribute
Google confidential | Do not distribute
Conceptos básicos
Entidades
● Proveedor de identidad (Identity provider IdP) o Servidor de autorización (Authorization
Server AS):
Entidad que otorga el acceso.
● Proveedor de servicio (Service provider SP) o Servidor de recursos (Resource Server RS)
Entidad que solicita y obtiene la confirmación de acceso del proveedor de identidad.
● Usuario o Propietario de recursos (Resource Owner RO)
Persona que solicita acceso.
Google confidential | Do not distribute
Conceptos básicos
● SAML
Usado para la autenticación web.
● OAuth2
Usado para la autenticación multiplataforma.
● OpenID & OpenID Connect
OpenID ha sido paulatinamente descontinuado y OpenID Connect ha ocupado su lugar usando
como base OAuth2
Estándares SSO
Google confidential | Do not distribute
Conceptos básicos
Plataformas que funcionan como servidor SAML o OAuth2 y sirven como interfaz para
conectarse a los principales proveedores de identidad.
Soluciones de control de acceso
Google confidential | Do not distribute
Estandares de SSO usados por Google
● SAML como proveedor de servicios
Cuando una institución requiere validar el acceso a Google Apps por medio de su actual método
de autenticación.
● OAuth2 como proveedor de identidades
Cuando una institución desea otorgar acceso a otras aplicaciones usando las cuentas guardadas
en Google Apps.
Google confidential | Do not distribute
Diagrama de SAML
Google confidential | Do not distribute
Diagrama de OAuth2
Google confidential | Do not distribute
Google confidential | Do not distribute
Demostración
http://mail.google.com/a/appsedudemo.com
https://www.youtube.com/watch?edit=vd&v=65yypNrPqq8
Google como SP
Google confidential | Do not distribute
Demostración
http://idp-moodle-admin.sso.appsedudemo.com
https://www.youtube.com/watch?edit=vd&v=0LvFxQhblAE
Google como IdP
Google confidential | Do not distribute
Herramientas usadas en Single Sign-On
Webinar 02
Carlos Toxtli
Google confidential | Do not distribute
Soluciones de control de acceso
Son las plataformas utilizadas para conectar a los proveedores de servicio
con los proveedores de identidad y mantener el estatus de conectado entre
ellos. Algunas soluciones de software libre que tienen integradas las
tecnologías soportadas por Google (SAML/OAuth2/OpenID Connect) son:
● SimpleSAML (PHP)
● Gluu (Modulo de Apache)
● WSO2 (Archivos ejecutables)
● CAS (Java, se configura usando XML)
● OpenAM (Java, se configura desde una interfaz web)
Google confidential | Do not distribute
● Para conectar múltiples proveedores de servicio a un solo proveedor de
identidad.
● Preservar la sesión del usuario autenticado.
● Provee una interfaz web de acceso a los proveedores de identidad.
● Puede usarse para administrar usuarios y ser replicados.
● Permite restablecer contraseñas.
● Encadenar múltiples inicios de sesión al mismo tiempo (chaining).
● Usado también como conector para plataformas que no estan aún
adaptadas para conectarse a sistemas federados por medio de Fedlets y
OpenIG.
Distintos usos de OpenAM
Google confidential | Do not distribute
Entendiendo los conceptos básicos
Circles of trust: Concepto usado en SAML para agrupar a los SPs que confían
en el mecanismo de autenticación de un IdP.
Realm: Ambientes federados que permiten tener configuraciones separadas
y jerárquicas entre distintos mecanismos SSO que existan en una institución.
Subjects: La forma en la que OpenAM guarda los perfiles de usuario y estan
ligados al IdP.
Data Store: Mecanismo que guarda y sincroniza Subjects.
Agents: Valida las conexiones entrantes y cifra las conexiones salientes para
proteger los medios de acceso a OpenAM.
Services: Sobre cada Realm se pueden asociar servicios como envio de
correo, restablecimiento de contraseña, opciones de idiomas, etc.
Google confidential | Do not distribute
Instalación de OpenAM
Requerimientos
● Java
● Tomcat 7
● Un subdominio llamado openam (i.e. openam.federation.com)
Google confidential | Do not distribute
Prueba
Vamos a crear un usuario y acceder con sus credenciales.
https://www.youtube.com/watch?edit=vd&v=loSIDqLrEfo
Google confidential | Do not distribute
Google Apps como Proveedor de Servicio
Webinar 03
Carlos Toxtli
Google confidential | Do not distribute
¿Cómo funciona Google Apps como Proveedor de Servicio?
Google Apps funciona como proveedor de soluciones cuando la institución
en la cuál se va a implementar ya cuenta con un proveedor de identidad en
el cuál son almacenadas las cuentas.
Las cuentas de Google Apps deben estar sincronizadas con el proveedor de
identidad. Cada solicitud de inicio de sesión será enviada al servidor SAML el
cuál validará directamente con el proveedor de identidad.
Google confidential | Do not distribute
Para proveedores de identidad como Active Directory y LDAP usamos la
herramienta Google Apps Directory Sync para la sincronización.
Esta herramienta se ejecuta periódicamente para agregar/actualizar
usuarios de LDAP a Google Apps.
Sincronización de cuentas
Google confidential | Do not distribute
Google Apps al servidor SAML de OpenAM solo como un medio para
autenticar con el proveedor de identidad.
Ambas plataformas comparten certificados para garantizar la comunicación
segura.
OpenAM como servidor SAML
Google confidential | Do not distribute
OpenAM cuenta con un asistente que facilita el proceso de configuración.
En Google Apps la configuración de SSO se realiza desde:
Admin Console > Security > Advanced settings > Setup Single Sign-On
https://www.youtube.com/watch?edit=vd&v=z1exg9kP2eg
Configurando OpenAM y Google Apps
Google confidential | Do not distribute
En este ejemplo habilitaremos un servidor OpenLDAP que es compatible con
el protocolo LDAP como también lo es Active Directory.
https://www.youtube.com/watch?v=eV5ySrdn2mo&edit=vd
Configuración del Proveedor de Identidad
Google confidential | Do not distribute
Configuración de la herramienta.
https://www.youtube.com/watch?v=LU9RM1oOF5Y&edit=vd
Google Apps Directory Sync
Google confidential | Do not distribute
Probemos la plataforma con la cuenta de demostración creada.
https://www.youtube.com/watch?v=UzjMrTVgIOk&edit=vd
Prueba
Google confidential | Do not distribute
Google Apps como Proveedor de
Identidad
Webinar 04
Carlos Toxtli
Google confidential | Do not distribute
¿Cómo funciona Google Apps como Proveedor de Identidad?
Es usado cuando una institución quiere garantizar el acceso a sus distintos
sistemas (Proveedores de Servicio), usando las credenciales almacenadas en
Google Apps.
Google confidential | Do not distribute
Google Apps funciona como servidor de estos protocolos:
● OpenID Connect
● OAuth2
Protocolos soportados por Google Apps
Google confidential | Do not distribute
En la mayoría de los casos, procedemos a conectar los Proveedores de
Servicio directamente a Google Apps, sin necesidad de usar un servidor
intermedio.
En ambientes federados complejos, en los cuales tenemos plataformas que
soportan distintos protocolos de autenticación, es recomendable usar
soluciones de administración de acceso como por ejemplo OpenAM.
Servidor de OAuth2
Google confidential | Do not distribute
La ventaja de OAuth2 es que es multiplataforma, no solo soporta a
navegadores como clientes.
Si el Proveedor de Servicio no soporta aún OAuth2 como mecanismo de
autenticación, puede ser fácilmente desarrollado siguiendo las guías que se
encuentran en Google Developers
https://developers.google.com/oauthplayground
Clientes de OAuth2
Google confidential | Do not distribute
Conectando un cliente directamente a Google Apps
En este ejemplo conectaremos Moodle (un LMS muy popular) para que
consuma las credenciales de Google Apps.
https://www.youtube.com/watch?edit=vd&v=eSt2ohRPA7U
Google confidential | Do not distribute
Conectando Moodle con Google Apps a través de OpenAM
En ambientes complejos en los que conviven múltiples protocolos de
autenticación, es recomendable administrarlos desde una solución de
control de acceso, en este ejemplo configuraremos de nuevo Moodle con
Google Apps pero esta vez pasando a través de OpenAM.
https://www.youtube.com/watch?edit=vd&v=rAjexJJnS0k
Google confidential | Do not distribute
Adaptando sistemas existentes a SSO
Webinar 05
Carlos Toxtli
Google confidential | Do not distribute
Dependiendo la tecnología SSO que la institución utilice, son los sistemas
que pueden ser integrados para garantizar el uso de las mismas credenciales
y la persistencia de la sesión. El proceso de adaptar un sistema puede
hacerse ya sea desarrollando un cliente o configurando uno existente.
Adaptando sistemas existentes
Google confidential | Do not distribute
Evaluando la solución
La solución adecuada depende de como esté SSO implementado. En este
webinar exploraremos arquitecturas de SSO basadas en SAML y OAuth2.. Las
tecnologías SSO empleadas en estos ejemplos son:
● SAML
○ OpenAM
○ SimpleSAML
● OAuth2
○ OpenAM
○ Google Apps
Google confidential | Do not distribute
● Tanto servidor como cliente SAML deben compartir un certificado.
● Soporte de HTTPS.
● Cliente SAML
○ Cliente desarrollado usando librerías de SSO
■ Lasso ( C/C++, Python, Java, Perl, PHP )
■ Onelogin ( ASP/.NET, Java, PHP, Python, Ruby )
○ Cliente generico
■ OpenIG (Plataformas web)
Requerimientos para integrar en un entorno SAML
Google confidential | Do not distribute
● Cliente OAuth2
○ Cliente desarrollado usando librerías genéricas de OAuth2.
■ OAuth2 site libraries (PHP,Objective
C,Java,Apache,Python,Ruby,Javascript,.NET,C++)
○ Cliente desarrollado usando librerías propias del servicio.
■ Google APIs Client Library
○ Cliente generico
■ OpenIG
Requerimientos para integrar en un entorno OAuth2
Google confidential | Do not distribute
● Descargar OneLogin SAML Toolkit de
http://www.onelogin.com/resources/saml-toolkits/
● Extraer el ejemplo contenido a el servidor web y cambiar los parámetros
por los del servidor SAML.
● Registrar el servicio en OpenAM
Desarrollando un cliente SAML usando la librería de OneLogin
Ejemplo 1: Integrando un sistema existente a SAML
Google confidential | Do not distribute
● Descargar OpenIG de http://openig.forgerock.org/
● Renombrar el archivo war (Tomcat=ROOT.war, jetty=root.war) y copiarlo a
la raíz del servidor Java.
● Crear un Fedlet dentro de OpenAM, descomprimir el archivo zip y el war y
copiar la carpeta “saml” a:
○ /usr/share/tomcat7/.openig/saml
● Crear un archivo de configuración y llenarlo con los datos del servidor.
/usr/share/tomcat7/.openig/config/config.json
Integrando OpenIG como cliente generico.
Ejemplo 2: Integrando un sistema existente a SAML
Google confidential | Do not distribute
● Descarga una de las librerías del sitio de OAuth2
○ http://oauth.net/2/
● Descarga el código de ejemplo
● Descomprime el código de ejemplo en tu servidor y configura los
parámetros de tu servidor.
Desarrollando un cliente OAuth2.
Ejemplo 3: Integrando un sistema existente a OAuth2
Google confidential | Do not distribute
Son los mismos pasos de la configuración de OpenIG con SAML, solamente
hay que cambiar el archivo config.json con los parámetros de OAuth2.
Integrating OpenIG as a generic client.
Ejemplo 4: Integrando un sistema existente a OAuth2
Google confidential | Do not distribute
Gracias

Más contenido relacionado

Similar a Single sign on spanish - guía completa

Presentacion de proyecto
Presentacion de proyectoPresentacion de proyecto
Presentacion de proyecto
guepardo190889
 
SimpleSAMLphp
SimpleSAMLphpSimpleSAMLphp
SimpleSAMLphp
Jaime Pérez Crespo
 
Single Sign On Salesforce Developer Group
Single Sign On Salesforce Developer GroupSingle Sign On Salesforce Developer Group
Single Sign On Salesforce Developer Group
Juan Pedro Catalan
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)
marcwan
 
Presentación sobre Google con Reinaldo Aguilera
Presentación sobre Google con Reinaldo AguileraPresentación sobre Google con Reinaldo Aguilera
Presentación sobre Google con Reinaldo Aguilera
Campus Sanofi
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIs
GFI Informática
 
Google Cloud Platform y Python
Google Cloud Platform y PythonGoogle Cloud Platform y Python
Google Cloud Platform y Python
Carlos Toxtli
 
Presentación sso con cas
Presentación sso con casPresentación sso con cas
Presentación sso con cas
Enrique Toledo
 
Oauth (Open Authorization)
Oauth (Open Authorization)Oauth (Open Authorization)
Oauth (Open Authorization)Kevyn Aguilar
 
Webinar - Seguridad en WordPress
Webinar - Seguridad en WordPressWebinar - Seguridad en WordPress
Webinar - Seguridad en WordPress
Arsys
 
Integrando AngularJS y drupal
Integrando AngularJS y drupalIntegrando AngularJS y drupal
Integrando AngularJS y drupal
Iván Campaña Naranjo
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
www.encamina.com
 
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...Software Guru
 
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Javier García Antón
 
Soap y Pruebas Automatizadas
Soap y Pruebas AutomatizadasSoap y Pruebas Automatizadas
Soap y Pruebas Automatizadas
RubnFras3
 
EXIN DevOps Master: where Agile meets Lean
EXIN DevOps Master: where Agile meets LeanEXIN DevOps Master: where Agile meets Lean
EXIN DevOps Master: where Agile meets Lean
G2, Gobierno y Gestión de TI, SL
 
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
EXIN
 
Hack like a pro with custom VPS - Najava Negra 2019
Hack like a pro with custom VPS - Najava Negra 2019Hack like a pro with custom VPS - Najava Negra 2019
Hack like a pro with custom VPS - Najava Negra 2019
Alejandro Quesada
 
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Cinthia Soca
 
Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019
Santi Macias Rodriguez
 

Similar a Single sign on spanish - guía completa (20)

Presentacion de proyecto
Presentacion de proyectoPresentacion de proyecto
Presentacion de proyecto
 
SimpleSAMLphp
SimpleSAMLphpSimpleSAMLphp
SimpleSAMLphp
 
Single Sign On Salesforce Developer Group
Single Sign On Salesforce Developer GroupSingle Sign On Salesforce Developer Group
Single Sign On Salesforce Developer Group
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)
 
Presentación sobre Google con Reinaldo Aguilera
Presentación sobre Google con Reinaldo AguileraPresentación sobre Google con Reinaldo Aguilera
Presentación sobre Google con Reinaldo Aguilera
 
GFI - Seguridad en tus APIs
GFI - Seguridad en tus APIsGFI - Seguridad en tus APIs
GFI - Seguridad en tus APIs
 
Google Cloud Platform y Python
Google Cloud Platform y PythonGoogle Cloud Platform y Python
Google Cloud Platform y Python
 
Presentación sso con cas
Presentación sso con casPresentación sso con cas
Presentación sso con cas
 
Oauth (Open Authorization)
Oauth (Open Authorization)Oauth (Open Authorization)
Oauth (Open Authorization)
 
Webinar - Seguridad en WordPress
Webinar - Seguridad en WordPressWebinar - Seguridad en WordPress
Webinar - Seguridad en WordPress
 
Integrando AngularJS y drupal
Integrando AngularJS y drupalIntegrando AngularJS y drupal
Integrando AngularJS y drupal
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
 
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
Hack Like a Pro With Custom VPS - Taller Navaja Negra 2019
 
Soap y Pruebas Automatizadas
Soap y Pruebas AutomatizadasSoap y Pruebas Automatizadas
Soap y Pruebas Automatizadas
 
EXIN DevOps Master: where Agile meets Lean
EXIN DevOps Master: where Agile meets LeanEXIN DevOps Master: where Agile meets Lean
EXIN DevOps Master: where Agile meets Lean
 
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
 
Hack like a pro with custom VPS - Najava Negra 2019
Hack like a pro with custom VPS - Najava Negra 2019Hack like a pro with custom VPS - Najava Negra 2019
Hack like a pro with custom VPS - Najava Negra 2019
 
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
Seguridad en aplicaciones web por Diego Rostagnol de Hexa GUG agosto 2013
 
Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019
 

Más de Carlos Toxtli

Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligence
Carlos Toxtli
 
Autom editor video blooper recognition and localization for automatic monolo...
Autom editor  video blooper recognition and localization for automatic monolo...Autom editor  video blooper recognition and localization for automatic monolo...
Autom editor video blooper recognition and localization for automatic monolo...
Carlos Toxtli
 
Artificial intelligence and open source
Artificial intelligence and open sourceArtificial intelligence and open source
Artificial intelligence and open source
Carlos Toxtli
 
Bots in robotic process automation
Bots in robotic process automationBots in robotic process automation
Bots in robotic process automation
Carlos Toxtli
 
How to implement artificial intelligence solutions
How to implement artificial intelligence solutionsHow to implement artificial intelligence solutions
How to implement artificial intelligence solutions
Carlos Toxtli
 
Multimodal emotion recognition at utterance level with spatio-temporal featur...
Multimodal emotion recognition at utterance level with spatio-temporal featur...Multimodal emotion recognition at utterance level with spatio-temporal featur...
Multimodal emotion recognition at utterance level with spatio-temporal featur...
Carlos Toxtli
 
Changing paradigms in ai prototyping
Changing paradigms in ai prototypingChanging paradigms in ai prototyping
Changing paradigms in ai prototyping
Carlos Toxtli
 
Inteligencia Artificial From Zero to Hero
Inteligencia Artificial From Zero to HeroInteligencia Artificial From Zero to Hero
Inteligencia Artificial From Zero to Hero
Carlos Toxtli
 
Bots for Crowds
Bots for CrowdsBots for Crowds
Bots for Crowds
Carlos Toxtli
 
ExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
ExperTwin: An Alter Ego in Cyberspace for Knowledge WorkersExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
ExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
Carlos Toxtli
 
Enabling Expert Critique with Chatbots and Micro-Guidance - Ci 2018
Enabling Expert Critique with Chatbots and Micro-Guidance - Ci 2018Enabling Expert Critique with Chatbots and Micro-Guidance - Ci 2018
Enabling Expert Critique with Chatbots and Micro-Guidance - Ci 2018
Carlos Toxtli
 
Cómo vivir de la inteligencia artificial
Cómo vivir de la inteligencia artificialCómo vivir de la inteligencia artificial
Cómo vivir de la inteligencia artificial
Carlos Toxtli
 
Education 3.0 - Megatendencias
Education 3.0 - MegatendenciasEducation 3.0 - Megatendencias
Education 3.0 - Megatendencias
Carlos Toxtli
 
Understanding Political Manipulation and Botnets - RightsCon
Understanding Political Manipulation and Botnets - RightsConUnderstanding Political Manipulation and Botnets - RightsCon
Understanding Political Manipulation and Botnets - RightsCon
Carlos Toxtli
 
Understanding Chatbot-Mediated Task Management
Understanding Chatbot-Mediated Task ManagementUnderstanding Chatbot-Mediated Task Management
Understanding Chatbot-Mediated Task Management
Carlos Toxtli
 
Chatbots + rpa (robotic process automation)
Chatbots + rpa (robotic process automation)Chatbots + rpa (robotic process automation)
Chatbots + rpa (robotic process automation)
Carlos Toxtli
 
Estrategias tecnológicas de crecimiento acelerado para startups
Estrategias tecnológicas de crecimiento acelerado para startupsEstrategias tecnológicas de crecimiento acelerado para startups
Estrategias tecnológicas de crecimiento acelerado para startups
Carlos Toxtli
 
Computación cuántica y tecnologías del futuro - SISel
Computación cuántica y tecnologías del futuro - SISelComputación cuántica y tecnologías del futuro - SISel
Computación cuántica y tecnologías del futuro - SISel
Carlos Toxtli
 
Programación del futuro, predicciones a 10 años siscti
Programación del futuro, predicciones a 10 años   sisctiProgramación del futuro, predicciones a 10 años   siscti
Programación del futuro, predicciones a 10 años siscti
Carlos Toxtli
 
Tecnología del futuro, predicciones a 10 años
Tecnología del futuro, predicciones a 10 añosTecnología del futuro, predicciones a 10 años
Tecnología del futuro, predicciones a 10 años
Carlos Toxtli
 

Más de Carlos Toxtli (20)

Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligence
 
Autom editor video blooper recognition and localization for automatic monolo...
Autom editor  video blooper recognition and localization for automatic monolo...Autom editor  video blooper recognition and localization for automatic monolo...
Autom editor video blooper recognition and localization for automatic monolo...
 
Artificial intelligence and open source
Artificial intelligence and open sourceArtificial intelligence and open source
Artificial intelligence and open source
 
Bots in robotic process automation
Bots in robotic process automationBots in robotic process automation
Bots in robotic process automation
 
How to implement artificial intelligence solutions
How to implement artificial intelligence solutionsHow to implement artificial intelligence solutions
How to implement artificial intelligence solutions
 
Multimodal emotion recognition at utterance level with spatio-temporal featur...
Multimodal emotion recognition at utterance level with spatio-temporal featur...Multimodal emotion recognition at utterance level with spatio-temporal featur...
Multimodal emotion recognition at utterance level with spatio-temporal featur...
 
Changing paradigms in ai prototyping
Changing paradigms in ai prototypingChanging paradigms in ai prototyping
Changing paradigms in ai prototyping
 
Inteligencia Artificial From Zero to Hero
Inteligencia Artificial From Zero to HeroInteligencia Artificial From Zero to Hero
Inteligencia Artificial From Zero to Hero
 
Bots for Crowds
Bots for CrowdsBots for Crowds
Bots for Crowds
 
ExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
ExperTwin: An Alter Ego in Cyberspace for Knowledge WorkersExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
ExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
 
Enabling Expert Critique with Chatbots and Micro-Guidance - Ci 2018
Enabling Expert Critique with Chatbots and Micro-Guidance - Ci 2018Enabling Expert Critique with Chatbots and Micro-Guidance - Ci 2018
Enabling Expert Critique with Chatbots and Micro-Guidance - Ci 2018
 
Cómo vivir de la inteligencia artificial
Cómo vivir de la inteligencia artificialCómo vivir de la inteligencia artificial
Cómo vivir de la inteligencia artificial
 
Education 3.0 - Megatendencias
Education 3.0 - MegatendenciasEducation 3.0 - Megatendencias
Education 3.0 - Megatendencias
 
Understanding Political Manipulation and Botnets - RightsCon
Understanding Political Manipulation and Botnets - RightsConUnderstanding Political Manipulation and Botnets - RightsCon
Understanding Political Manipulation and Botnets - RightsCon
 
Understanding Chatbot-Mediated Task Management
Understanding Chatbot-Mediated Task ManagementUnderstanding Chatbot-Mediated Task Management
Understanding Chatbot-Mediated Task Management
 
Chatbots + rpa (robotic process automation)
Chatbots + rpa (robotic process automation)Chatbots + rpa (robotic process automation)
Chatbots + rpa (robotic process automation)
 
Estrategias tecnológicas de crecimiento acelerado para startups
Estrategias tecnológicas de crecimiento acelerado para startupsEstrategias tecnológicas de crecimiento acelerado para startups
Estrategias tecnológicas de crecimiento acelerado para startups
 
Computación cuántica y tecnologías del futuro - SISel
Computación cuántica y tecnologías del futuro - SISelComputación cuántica y tecnologías del futuro - SISel
Computación cuántica y tecnologías del futuro - SISel
 
Programación del futuro, predicciones a 10 años siscti
Programación del futuro, predicciones a 10 años   sisctiProgramación del futuro, predicciones a 10 años   siscti
Programación del futuro, predicciones a 10 años siscti
 
Tecnología del futuro, predicciones a 10 años
Tecnología del futuro, predicciones a 10 añosTecnología del futuro, predicciones a 10 años
Tecnología del futuro, predicciones a 10 años
 

Último

Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
Distea V región
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIAFICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
JavierMontero58
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
YasneidyGonzalez
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
jheisonraulmedinafer
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 

Último (20)

Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIAFICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
FICHA DE EJERCICIOS GRECIA 1º DE LA ESO HISTORIA
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 

Single sign on spanish - guía completa

  • 1. Google confidential | Do not distribute Single Sign On Guía completa Carlos Toxtli
  • 2. Google confidential | Do not distribute Comprendiendo Single Sign-On Webinar 01 Carlos Toxtli
  • 3. Google confidential | Do not distribute ¿Qué es Single Sign-On ? Single Sign-On es un mecanismo de autenticación que permite a los usuarios acceder a múltiples servicios con un solo inicio de sesión.
  • 4. Google confidential | Do not distribute
  • 5. Google confidential | Do not distribute Conceptos básicos Entidades ● Proveedor de identidad (Identity provider IdP) o Servidor de autorización (Authorization Server AS): Entidad que otorga el acceso. ● Proveedor de servicio (Service provider SP) o Servidor de recursos (Resource Server RS) Entidad que solicita y obtiene la confirmación de acceso del proveedor de identidad. ● Usuario o Propietario de recursos (Resource Owner RO) Persona que solicita acceso.
  • 6. Google confidential | Do not distribute Conceptos básicos ● SAML Usado para la autenticación web. ● OAuth2 Usado para la autenticación multiplataforma. ● OpenID & OpenID Connect OpenID ha sido paulatinamente descontinuado y OpenID Connect ha ocupado su lugar usando como base OAuth2 Estándares SSO
  • 7. Google confidential | Do not distribute Conceptos básicos Plataformas que funcionan como servidor SAML o OAuth2 y sirven como interfaz para conectarse a los principales proveedores de identidad. Soluciones de control de acceso
  • 8. Google confidential | Do not distribute Estandares de SSO usados por Google ● SAML como proveedor de servicios Cuando una institución requiere validar el acceso a Google Apps por medio de su actual método de autenticación. ● OAuth2 como proveedor de identidades Cuando una institución desea otorgar acceso a otras aplicaciones usando las cuentas guardadas en Google Apps.
  • 9. Google confidential | Do not distribute Diagrama de SAML
  • 10. Google confidential | Do not distribute Diagrama de OAuth2
  • 11. Google confidential | Do not distribute
  • 12. Google confidential | Do not distribute Demostración http://mail.google.com/a/appsedudemo.com https://www.youtube.com/watch?edit=vd&v=65yypNrPqq8 Google como SP
  • 13. Google confidential | Do not distribute Demostración http://idp-moodle-admin.sso.appsedudemo.com https://www.youtube.com/watch?edit=vd&v=0LvFxQhblAE Google como IdP
  • 14. Google confidential | Do not distribute Herramientas usadas en Single Sign-On Webinar 02 Carlos Toxtli
  • 15. Google confidential | Do not distribute Soluciones de control de acceso Son las plataformas utilizadas para conectar a los proveedores de servicio con los proveedores de identidad y mantener el estatus de conectado entre ellos. Algunas soluciones de software libre que tienen integradas las tecnologías soportadas por Google (SAML/OAuth2/OpenID Connect) son: ● SimpleSAML (PHP) ● Gluu (Modulo de Apache) ● WSO2 (Archivos ejecutables) ● CAS (Java, se configura usando XML) ● OpenAM (Java, se configura desde una interfaz web)
  • 16. Google confidential | Do not distribute ● Para conectar múltiples proveedores de servicio a un solo proveedor de identidad. ● Preservar la sesión del usuario autenticado. ● Provee una interfaz web de acceso a los proveedores de identidad. ● Puede usarse para administrar usuarios y ser replicados. ● Permite restablecer contraseñas. ● Encadenar múltiples inicios de sesión al mismo tiempo (chaining). ● Usado también como conector para plataformas que no estan aún adaptadas para conectarse a sistemas federados por medio de Fedlets y OpenIG. Distintos usos de OpenAM
  • 17. Google confidential | Do not distribute Entendiendo los conceptos básicos Circles of trust: Concepto usado en SAML para agrupar a los SPs que confían en el mecanismo de autenticación de un IdP. Realm: Ambientes federados que permiten tener configuraciones separadas y jerárquicas entre distintos mecanismos SSO que existan en una institución. Subjects: La forma en la que OpenAM guarda los perfiles de usuario y estan ligados al IdP. Data Store: Mecanismo que guarda y sincroniza Subjects. Agents: Valida las conexiones entrantes y cifra las conexiones salientes para proteger los medios de acceso a OpenAM. Services: Sobre cada Realm se pueden asociar servicios como envio de correo, restablecimiento de contraseña, opciones de idiomas, etc.
  • 18. Google confidential | Do not distribute Instalación de OpenAM Requerimientos ● Java ● Tomcat 7 ● Un subdominio llamado openam (i.e. openam.federation.com)
  • 19. Google confidential | Do not distribute Prueba Vamos a crear un usuario y acceder con sus credenciales. https://www.youtube.com/watch?edit=vd&v=loSIDqLrEfo
  • 20. Google confidential | Do not distribute Google Apps como Proveedor de Servicio Webinar 03 Carlos Toxtli
  • 21. Google confidential | Do not distribute ¿Cómo funciona Google Apps como Proveedor de Servicio? Google Apps funciona como proveedor de soluciones cuando la institución en la cuál se va a implementar ya cuenta con un proveedor de identidad en el cuál son almacenadas las cuentas. Las cuentas de Google Apps deben estar sincronizadas con el proveedor de identidad. Cada solicitud de inicio de sesión será enviada al servidor SAML el cuál validará directamente con el proveedor de identidad.
  • 22. Google confidential | Do not distribute Para proveedores de identidad como Active Directory y LDAP usamos la herramienta Google Apps Directory Sync para la sincronización. Esta herramienta se ejecuta periódicamente para agregar/actualizar usuarios de LDAP a Google Apps. Sincronización de cuentas
  • 23. Google confidential | Do not distribute Google Apps al servidor SAML de OpenAM solo como un medio para autenticar con el proveedor de identidad. Ambas plataformas comparten certificados para garantizar la comunicación segura. OpenAM como servidor SAML
  • 24. Google confidential | Do not distribute OpenAM cuenta con un asistente que facilita el proceso de configuración. En Google Apps la configuración de SSO se realiza desde: Admin Console > Security > Advanced settings > Setup Single Sign-On https://www.youtube.com/watch?edit=vd&v=z1exg9kP2eg Configurando OpenAM y Google Apps
  • 25. Google confidential | Do not distribute En este ejemplo habilitaremos un servidor OpenLDAP que es compatible con el protocolo LDAP como también lo es Active Directory. https://www.youtube.com/watch?v=eV5ySrdn2mo&edit=vd Configuración del Proveedor de Identidad
  • 26. Google confidential | Do not distribute Configuración de la herramienta. https://www.youtube.com/watch?v=LU9RM1oOF5Y&edit=vd Google Apps Directory Sync
  • 27. Google confidential | Do not distribute Probemos la plataforma con la cuenta de demostración creada. https://www.youtube.com/watch?v=UzjMrTVgIOk&edit=vd Prueba
  • 28. Google confidential | Do not distribute Google Apps como Proveedor de Identidad Webinar 04 Carlos Toxtli
  • 29. Google confidential | Do not distribute ¿Cómo funciona Google Apps como Proveedor de Identidad? Es usado cuando una institución quiere garantizar el acceso a sus distintos sistemas (Proveedores de Servicio), usando las credenciales almacenadas en Google Apps.
  • 30. Google confidential | Do not distribute Google Apps funciona como servidor de estos protocolos: ● OpenID Connect ● OAuth2 Protocolos soportados por Google Apps
  • 31. Google confidential | Do not distribute En la mayoría de los casos, procedemos a conectar los Proveedores de Servicio directamente a Google Apps, sin necesidad de usar un servidor intermedio. En ambientes federados complejos, en los cuales tenemos plataformas que soportan distintos protocolos de autenticación, es recomendable usar soluciones de administración de acceso como por ejemplo OpenAM. Servidor de OAuth2
  • 32. Google confidential | Do not distribute La ventaja de OAuth2 es que es multiplataforma, no solo soporta a navegadores como clientes. Si el Proveedor de Servicio no soporta aún OAuth2 como mecanismo de autenticación, puede ser fácilmente desarrollado siguiendo las guías que se encuentran en Google Developers https://developers.google.com/oauthplayground Clientes de OAuth2
  • 33. Google confidential | Do not distribute Conectando un cliente directamente a Google Apps En este ejemplo conectaremos Moodle (un LMS muy popular) para que consuma las credenciales de Google Apps. https://www.youtube.com/watch?edit=vd&v=eSt2ohRPA7U
  • 34. Google confidential | Do not distribute Conectando Moodle con Google Apps a través de OpenAM En ambientes complejos en los que conviven múltiples protocolos de autenticación, es recomendable administrarlos desde una solución de control de acceso, en este ejemplo configuraremos de nuevo Moodle con Google Apps pero esta vez pasando a través de OpenAM. https://www.youtube.com/watch?edit=vd&v=rAjexJJnS0k
  • 35. Google confidential | Do not distribute Adaptando sistemas existentes a SSO Webinar 05 Carlos Toxtli
  • 36. Google confidential | Do not distribute Dependiendo la tecnología SSO que la institución utilice, son los sistemas que pueden ser integrados para garantizar el uso de las mismas credenciales y la persistencia de la sesión. El proceso de adaptar un sistema puede hacerse ya sea desarrollando un cliente o configurando uno existente. Adaptando sistemas existentes
  • 37. Google confidential | Do not distribute Evaluando la solución La solución adecuada depende de como esté SSO implementado. En este webinar exploraremos arquitecturas de SSO basadas en SAML y OAuth2.. Las tecnologías SSO empleadas en estos ejemplos son: ● SAML ○ OpenAM ○ SimpleSAML ● OAuth2 ○ OpenAM ○ Google Apps
  • 38. Google confidential | Do not distribute ● Tanto servidor como cliente SAML deben compartir un certificado. ● Soporte de HTTPS. ● Cliente SAML ○ Cliente desarrollado usando librerías de SSO ■ Lasso ( C/C++, Python, Java, Perl, PHP ) ■ Onelogin ( ASP/.NET, Java, PHP, Python, Ruby ) ○ Cliente generico ■ OpenIG (Plataformas web) Requerimientos para integrar en un entorno SAML
  • 39. Google confidential | Do not distribute ● Cliente OAuth2 ○ Cliente desarrollado usando librerías genéricas de OAuth2. ■ OAuth2 site libraries (PHP,Objective C,Java,Apache,Python,Ruby,Javascript,.NET,C++) ○ Cliente desarrollado usando librerías propias del servicio. ■ Google APIs Client Library ○ Cliente generico ■ OpenIG Requerimientos para integrar en un entorno OAuth2
  • 40. Google confidential | Do not distribute ● Descargar OneLogin SAML Toolkit de http://www.onelogin.com/resources/saml-toolkits/ ● Extraer el ejemplo contenido a el servidor web y cambiar los parámetros por los del servidor SAML. ● Registrar el servicio en OpenAM Desarrollando un cliente SAML usando la librería de OneLogin Ejemplo 1: Integrando un sistema existente a SAML
  • 41. Google confidential | Do not distribute ● Descargar OpenIG de http://openig.forgerock.org/ ● Renombrar el archivo war (Tomcat=ROOT.war, jetty=root.war) y copiarlo a la raíz del servidor Java. ● Crear un Fedlet dentro de OpenAM, descomprimir el archivo zip y el war y copiar la carpeta “saml” a: ○ /usr/share/tomcat7/.openig/saml ● Crear un archivo de configuración y llenarlo con los datos del servidor. /usr/share/tomcat7/.openig/config/config.json Integrando OpenIG como cliente generico. Ejemplo 2: Integrando un sistema existente a SAML
  • 42. Google confidential | Do not distribute ● Descarga una de las librerías del sitio de OAuth2 ○ http://oauth.net/2/ ● Descarga el código de ejemplo ● Descomprime el código de ejemplo en tu servidor y configura los parámetros de tu servidor. Desarrollando un cliente OAuth2. Ejemplo 3: Integrando un sistema existente a OAuth2
  • 43. Google confidential | Do not distribute Son los mismos pasos de la configuración de OpenIG con SAML, solamente hay que cambiar el archivo config.json con los parámetros de OAuth2. Integrating OpenIG as a generic client. Ejemplo 4: Integrando un sistema existente a OAuth2
  • 44. Google confidential | Do not distribute Gracias