Este seminario revisará diferentes modos de federación de identidades standars soportados WSO2 Identity Server. Con una aproximación pragmática, se configurará la autenticación de una aplicacion Web de muestra, y se llevarán a cabo las configuraciones apropiadas para permitir que los usuarios accedan a las aplicaciones con un único inicio de sesión utilizando las credenciales de los almacenes de usuarios WSO2 o de otra fuentes como cuentas de gmail o Facebook.
KELA Presentacion Costa Rica 2024 - evento Protégeles
Implementación de autenticación federada con WSO2 Identity Server 5.1
1.
2. Quiénes Somos
Presentación Corporativa
CHAKRAY : “Palabra Quechua que describe el buen uso que en el mundo Andino se le
ha dado a la Tecnología para el trabajo con la tierra.”
Aportamos excelencia en la Arquitectura, Soporte al Desarrollo y
Formación de Sistemas de Información Críticos basados en los
productos WSO2 tanto a Integradoras como a Clientes Finales.
“ Haciendo Bien las cosas con WSO2”
Preferent Partner
www.Chakray.com
3. Nuestros Principios
• Hacemos bien las cosas. Sabemos que la Tecnología es Soporte
al Negocio y conocemos su Criticidad
• Somos Especialistas en las soluciones que proponemos
• No reinventamos la rueda .Trabajamos con Arquitecturas
Escalables bajo una Orientación a Servicios SOA (Service
Oriented Architecture) sobre una Arquitectura de Referencia
Probada.
• Aplicamos la Seguridad a todos los niveles de la Solución
• Nuestra Solución es Virtualizable y orientada a la Nube
4. Nuestros Servicios
Consultoría Tecnológica
Planificación estratégica Arquitectura.
Optimización de procesos Oficina Técnica
Soporte al Desarrollo , Implantación y
Despliegue
Formación
Formadores Acreditados por WSO2 para
impartir sus cursos Oficiales .
5. Nuestros Servicios
RFP
Soporte al Arranque Modelo de
Ciclo de Vida
Oficina Técnica del Proyecto
Soporte Extendido y
Mantenimiento
Formación
Arquitectura (Fis. & Log.)
PoC
Ofrecemos Arquitectura de Solución, Acompañamiento durante el Proyecto
(Especialistas en modo total o Parcial, Presencial o Remoto) , Formación del
equipo mixto, Puesta en Producción y Soporte .
Somos Especialistas y nos agregamos al equipo de Proyecto
aportando el conocimiento de primer nivel, contando con el soporte
de los fabricantes.
6. Consultoria Tecnologica
El servicio de consultoría especializada se
realiza por personal altamente cualificado
y certificado por el fabricante.
La finalidad de la consultoría es servir de
canalización hacia una solución viable
dentro de un marco tecnológico
preestablecido de forma que, a partir del
informe de consultoría, se puedan seguir las
directrices marcadas por el consultor.
El resultado del servicio de consultoría será
la elaboración de uno o varios informes y
documentos que describan, tanto la
identificación del problema, como la
solución, viabilidad o acciones correctivas
necesarias.
Alta Disponibilidad
Diseño de Arquitectura de HA
Selección de tecnología para
implementar HA
Formación a Sistemas
Documentación
Integraciones
Definición de requisitos, alcance
Estrategia de Integración
Prueba de concepto Intehgración
Documentación
Migraciones
Diseño de estrategia
Inventario de recursos
Migración en bruto
Resolución de incidencias de
migración
Pruebas de migración
Integraciones avanzadas
Integración con Legacy Systems
7. Pruebas de Concepto (PoCs)
Toda prueba de concepto esta referenciada a un proyecto global que el cliente quiere
acometer en breve y del que extraemos una fracción representativa donde aplicar y
validar los requisitos previamente definidos.
INICIO FASE 1 FASE n FIN
La elaboración de una Prueba de Concepto (PoC) tiene como objetivo:
Validar una serie de aspectos técnicos y funcionales de
una solución específica por parte de las diferentes áreas
implicadas
La prueba de concepto es una herramienta que va a permitir al cliente minimizar los
riesgos en el momento de afrontar un proyecto de envergadura en inversión dado
que podrá contrastar aspectos críticos del proyecto.
“PoC”
Prueba de
Concepto
8. Formacion
Estamos Acreditados por WSO2 para impartir los cursos de Certificación
oficiales. Unica Empresa que imparte en Castellano (e Ingles) tanto
presencialmente, como Online
La formación será impartida por consultores y formadores certificados en la
materia a abordar. El número de jornadas y la duración de las mismas
dependerá del tipo de formación que se requiera.
http://wso2.com/training/training-courses
9. El ecosistema de productos WSO2 está soportado sobre una
suite que permite el manejo de diversos escenarios para la
gestión de identidades y procesos de autorización y autenticación.
Dentro del ecosistema WSO2 existe un producto denominado
Identity Server que cumple con todos los requerimientos de
seguridad existente en la gran mayoría de los Sistemas de
Información.
UNA VISION SOBRE WSO2 Identity Server
10. WSO2 IS - Características
• WSO2 Identity Server proporciona gestión de
identidades para aplicaciones web, servicios y Apis.
• Identity Server actúa como un Bus Empresarial de
Identidad (BEI), una red troncal centralizada para
conectar y gestionar múltiples identidades.
• Soporta múltiples User Store.
• Soporta los estándares XACML 2.0/3.0 y SAML.
• Soporta control de acceso basado en roles (RBAC).
• Permite el control de políticas de acceso y derechos
mediante interfaces de usuario.
• Proporciona un Api de servicios para la gestión de
identidades que puede ser utilizado por aplicaciones.
• Soporta Single Sign-On (SSO) via OpenID, SAML2, y
Kerberos KDC.
• Provee servicios de delegación vía OAuth 1.0a, OAuth
2.0, y WS-Trust
11. WSO2 IS - Características
• Soporta Federación vía OpenID, SAML2, y WS-Trust
STS.
• Soporta políticas de control de acceso fino via XACML.
• Implementa seguridad sobre servicios REST con OAuth
2.0 y XACML.
• Permite despliegues en HA y Dockerizados.
• Integrado con WSO2 Enterprise Service Bus para
autorización y todos los productos WSO2 Carbon.
• Políticas de validación/expiración de passwords.
• Recuperación de cuentas vía email.
• Preguntas secretas.
12. WSO2 IS – Conjunto de componentes Open Source
• WSO2 Carbon
• Apache Axis2 (SOAP)
• Apache Axiom (High performance XML Object Model)
• Apache Rampart/Apache WSS4J (WS-Security, WS-SecureConversation)
• Apache Rahas (WS-Trust)
• WS-Addressing implementation in Axis2
• Apache Neethi (WS-Policy)
• WS-SecurityPolicy implementation in Axis2
• Apache XML Schema
• OpenID4Java
• SunXACML
• OpenSAML2
• Apache Directory Server
• Apache Oltu
14. Aplicando Seguridad a una Organizacion
• Primera fase:
• Gestión de Accesos e Identidades (IAM).
• User credential lifecycle Management
• Modelo de usuarios
• Servicio de Autenticación
• Servicio de Autorización
• Servicio de SSO
• Segunda fase:
• Seguridad de la Información
• PKI, Firma Digital
• Gestión Centralizada de Documentos
• Tercera fase:
• Security Compliance:
• Gestión de Riesgos de activos de la empresa
• Continuidad de Negocio
• Cuarta fase:
• Auditabilidad y “no repudio”
15. Federated User
Management
(Penrose Virtual
Directory)
Portal B2B (WSO2 UES, BAM, AM, ES)
Service-oriented Infraestructure (SOI) e IAM
BAM, BI
& BigData
(WSO2 SS,
BAM, CEP)
Enterprise Service Bus (WSO2 ESB)
Portal B2C (Liferay Portal)
Identity Management
(WSO2 IS)
Web Portlets Mobile B2B API
Authentication,
Authorization
Single Sign-On
Consolidation
of Identities
New Business
Application
Systems
Dashboard OpenDataCollaboration
Presentation
Layer
Orchestration
Layer
Business Service
Layer
CONTROLLER
MODEL
VIEW
SECURITY
PHP, Ruby, Python,
Java
User Management
Social Login
BPM Applications
(Bonita BPM)
Existing Business
Applications
Openia CRM
Alfresco ECM
Openbravo ERP Bonita Studio
Bonita Workflow
Engine
Bonita UX Portal
SERVICES
GOVERNED SERVICES
Desplegando IAM en la Organización (1/2)
• La implantación o el desarrollo de un proyecto de IAM en la Organización se aborda como un Proyecto de Integración siguiendo
los Principios SOA/SOI.
16. *
*
*
*
*
*
*
*
*
*
Federated User
Management
Portal B2B (WSO2 UES, BAM, AM, ES)
Identificando Productos y Tecnología para IAM
BAM, BI
& BigData
(WSO2 SS,
BAM, CEP)
BPM Applications
(Bonita BPM)
(WSO2 ESB)
Portal B2C (Liferay Portal)Identity Management
Web, Collab, Mobile, Portlets B2B API
(Penrose Virtual
Directory)
Existing Business
Applications
New Business
Application
Systems
Bonita Studio
Bonita Workflow
Engine
Dashboard OpenData
Presentation
Layer
Orchestration
Layer
Business Service
Layer
CONTROLLER
MODEL
VIEW
SECURITY
Bonita UX Portal
SERVICES
PHP, Ruby, Python,
Java
2
3
4
5
6
7
9
10
8
(WSO2 IS)
1
GOVERNED SERVICES
9
9
Desplegando IAM en la Organización (2/2)
17. 1. User Credentials Management
IAM - uses cases
• WSO2 Identity Server:
• Multiples User Storages.
• User Storage using LDAP embeded,
LDAP external and external DB.
• Authentication, Authorization and SSO.
• Exposes complete API to user
management.
• Provisioning via SCIM.
• Policies
• Penrose Virtual Directory
• Can integrated existing LDAP and DB
storing user credentials.
• Exposes a LDAP interface that can be
used as external LDAP for WSO2 IS.
• Bidirectional sync (LDAP in read/write
mode)
18. 2. AuthN and AuthZ for Ad-hoc Applications
• WSO2 Identity Server exposes API to user
management.
• Recovery.
• Change password.
• Update profile.
• WSO2 IS exposes AutheN/AuthZ Services
using serveral strategies/protocols:
• OpenID, SAML, OAuth, XACML, RBAC,
etc.
IAM - uses cases
19. 3. AuthN and AuthZ for existing ERP and ECM
• Centralized User Management.
• Openia CRM is a module for Openbravo
ERP. Openbravo ERP already have
functionalities to user management, then
Openbravo should be configurated
pointing to the embeded LDAP of WSO2
IS or Penrose Virtual Directory.
• In similar way, Alfresco ECM should be
configures with this LDAP.
• Authentication and Authorization.
• It is not necessary if you extend ERP or
ECM because user credentials and roles
are in LDAP storage.
• Calling Services of Openbravo ERP or
Alfresco ECM requires HTTP Basic
Authentication. Try it using HTTP over
SSL.
IAM - uses cases
20. 5. AuthN and AuthZ for Bonita BPM
• Any BPM Suite has 3 components:
• Designer (Bonita Studio)
• In time of processes modeling, obtain
representation of hierarchy of users,
groups, roles is a great help for
business process expert.
• Bonita Studio is based in Eclipse IDE
and It is possible to model following this
representation of hierarchy of users,
groups and roles using “Bonita’s Actor
Filter”.
• Workflow engine (Bonita Workflow
Engine)
• In this case we should cofigure
Workflow engine to get hierarchy from
external LDAP server.
• TaskList Portal (Bonita UX Portal)
• AuthN and AuthZ process is delegated
to external LDAP. Bonita UX Portal has
to configure pointing to LDAP server.
IAM - uses cases
21. 4. AuthN and AuthZ for existing Services
• User Storage in WSO2 IS can be used as
User Storage for WSO2 ESB.
• Authentication and Authorization:
• In WSO2 ESB you can enable/disable
security over the exposed services.
• WSO2 IS offers several protocols and
strategies as a Trusted-third-party, of this
way, you can reach SSO and Federation of
Identities.
IAM - uses cases
22. 7. AuthN and AuthZ for the Presentation Layer
• Any Web Portal server commonly has a
LDAP connector to sync users, groups
and/or roles. Also, any Web Portal has
connectors to do authentication and
authorization, for example, Liferay has tools
for these purposes.
• WSO2 IS provides OpenID functionality that
can be used with Liferay Portal easily.
• Review the strategies to authentication,
authorization and SSO of WSO2IS suitable
to our environment.
IAM - uses cases
23. 1. Start login process
2. Pass login process to Bonita
3. Bonita passes login process
4. OB passes login process
5. WSO2IS sends response
6. OB redirects response
7. Bonita redirects response
8. Liferay receive response
Authentication in Openbravo
1. Start login process
2. Pass login process to Bonita
3. Validate credentials
4. WSO2IS sends response
5. Bonita redirects response
6. Liferay receives response
Authentication in Bonita
1. Start login process
2. Validate credentials
3. WSO2IS sends response
4. Liferay receives response
Authentication in Liferay
Deploy WSO2
Identity Server,
create several users
and roles.
Consolidate user
credentials (Penrose
Virtual Directory) and
Deploy LDAP WSO2 IS
Configure LDAP
Authentication in
Liferay pointing to
the embedded LDAP
of WSO2 IS.
Enable Users and
Roles (Group) sync.
In this step is possible to
do LDAP Authentication
and User syncronization.
Configure LDAP
Authentication and
users sync in Bonita
pointing to the
embedded LDAP of
WSO2 IS.
Right now this
functionality is available
in Bonita BPM
Teamwork version
(http://www.bonitasoft.co
m/products/product-
comparison).
Configure LDAP
Authentication and
users sync in
OpenBravo pointing
to the embedded
LDAP of WSO2 IS.
Configure LDAP
Authentication and User
syncronization of
OpenBravo with
embedded LDAP of
WSO2 IS.
Check the
authentication flow
and user sync flow
in all the system.
Testining authentication
an sync of users.
LIFERAY WSO2IS BONITA OPENBRAVO
LIFERAY WSO2IS BONITA OPENBRAVO
1.
2.
3.
4.
5.
IAM – flow diagram
24. WSO2 IS – Beneficios
• Permite la conformación de un proveedor único de identidad para la
autenticación y autorización.
• Se fomenta la utilización de un sistema basado en el reconocimiento,
eliminando por completo el modelo de nombre de usuario / contraseña.
• Elimina el riesgo creado a partir de múltiples nombres de usuario y
contraseñas.
• Soporta los estándares para el inicio de sesión único como (SSO): OpenID,
OAuth, SAML2 y Kerberos.
• Se fomenta el uso de autenticación basada en tokens y certificados.
• Soporte de federación, en la cual las instituciones del Ecuador pueden abrir
sus servicios de autenticación y autorización de forma segura utilizando
protocolos como SAML2, OpenID, OAuth, Seguridad Token Service (STS)
e InfoCards.
• Soporta la delegación de Identidad mediante OAuth.
• Soporta políticas de autorización mediante los tipos de control de acceso
basado en roles y atributos.
• Soporte del estándar de facto para la autorización XACML mediante dos
asistentes de políticas.
25. WSO2 IS – Recomendaciones (1/2)
• Utilizar una estrategia de implementación soportada por Role-Based
Access Control (RBAC) en conjunto con el estándar XACML. Ambos
sistemas son gestionados por el WSO2 Identity Server.
• Utilizar el estándar XACML para proporcionar políticas de autorización de
grano fino, la cual incluye servicios de administración de políticas de
autorización, de intercepción, evaluación e información de solicitudes.
• Utilizar el estándar XACML sobre los protocolos OpenID, SAML2 o
Kerberos.
• Conformar un API transversal de servicios que estandarice la
administración de servicios de autenticación y autorización en el estado del
Ecuador mediante un middleware de soluciones WSO2 Open Source
sólido, ágil y pragmático.
• Utilizar un modelo de políticas de acceso a recursos dinámico, flexible y
basado en la web para autenticación y autorización basado en WSO2 IS.
• Interoperar con el Bus de Servicios de la Organización.
• Utilizar las interfases ya disponibles en WSO2 IS para soportar los
requerimientos de control de políticas y roles.
26. WSO2 IS – Recomendaciones (2/2)
• De cara a abordar el Proyecto desde una visión global, considerar siempre que los
Proyectos de Gestión de Identidades son Proyectos de “INTEGRACIÓN” donde las
funcionalidades relacionadas a la IdM deben ser expuestas como “APIs” para distintos
“CANALES”, donde el uso y la salud de la plataforma debe ser “MONITORIZADO” para
tomar las mejores decisiones basado en “MÉTRICAS”. Esto se traduce en:
• INTEGRACIÓN
• Uso como un Hub de Integración de diferentes fuentes de datos de identidades
(Credenciales provenientes de las redes sociales, Certificados digitales (X.509),
DNI Eletrónico, BDs de Usuarios, Servidores LDAP existentes, etc.
• SCIM como Interfase estándar para gestionar el ciclo de vida de las identidades
“consolidadas”.
• CANALES
• Servicios de Gestión de Identidades para WebApps
• Servicios de Gestión de Identidades para dispositivos móviles
• Servicios de Gestión de Identidades para comunicación entre Organismos Públicos
(B2B)
• MONITORIZADO
• Conocimiento en tiempo real de lo que está pasando en la plataforma.
• MÉTRICAS
• Cuadro de Mandos (Dashboard) con los indicadores (KPI) más relevamente para el
soporte a toma de decisiones.
27. Para Importante Cliente Banca: Plataforma de Integración e
Interoperabilidad
WSO2 ESB
WSO2 DSS
WSO2 IS
WSO2 BAM/CEP
Referencias
28. Detalle:
Se definió e implantó una Plataforma WSO2 que soporta una aplicación de
banca electrónica la cual interactúa con la data del negocio a través de la
plataforma de integración basada en productos WSO2. Las aplicaciones
están alojadas en servidores JBOSS, el repositorio de usuarios corporativo
se desplegó en una instancia de Open LDAP. Todas las peticiones a los
componentes principales de la plataforma de integración pasan por el
balanceador de carga NGINX y dichos componentes también reportan sus
transacciones a servidores BAM / CEP para su monitoreo en caliente y por
lotes.
La seguridad en este caso es máxima, se aplica a nivel de transporte http
sobre SSL, los servicios REST se aseguraron utilizando OAUTH2 y los
servicios Proxy y de Back End se consumen usando mensajes firmados y
encriptados; la autenticación se realiza obteniendo un token SAML y las
autorzaciones a través de la validación de credenciales y roles contra una
serie de políticas XACML
Referencias
29. Para el Servicio de Educación Pública de Mexico: Plataforma de
Integración e Interoperabilidad
WSO2 ESB
WSO2 DSS
WSO2 IS
WSO2 AS
Referencias
30. Detalle
Despliegue de la plataforma WSO2 combinada con otros productos para
implementar un sistema de generación de una nómina para el pago de
personal de una Organización del gobierno mexicano.
El sistema facilita la asignación de las partidas presupuestarias, la generación
de los reportes y sobres de pago así como la consulta de ellos en línea por
parte de cada uno de los trabajadores; el número de trabajadores de esta
nómina supera los 600000 que acceden a la plataforma a través de internet
sobre SSL
Se definen en la Plataforma, sobre WSO2 IS, las políticas de Autorización y
Autentificación requeridas por SEP
Referencias
31. Para RSI (Rural Servicios Informáticos) : HUB de Seguridad
WSO2 ESB
WSO2 IS
ORACLE
OSB
Referencias
32. Detalle:
El Hub de Seguridad fue desplegado sobre una arquitectura basada en Suse
11 SP4 como sistema operativo, WSO2 ESB como Gateway integrando un
Active Directory a su repositorio de usuarios/grupos y WSO2 IS como IDP.
El Hub de seguridad fue integrado a dos plataformas ESB, específicamente
WSO2 ESB y ORACLE ESB.
Fueron desplegados diversos patrones de integración en el WSO2 ESB para
que este pudiera delegar las actividades de autenticación y autorización sobre
el WSO2 IS, mediante la inyección de políticas a apis y servicios soap
presentes. La implementación fue soportada por una arquitectura de servicios
en HA y clustering permitiendo que este pueda escalar mediante la inyección
de nuevos nodos.
Referencias
33. External
IdP
Consumer
s
External
CloudGW Store GW Store GW Store
Third Party
Developers
Internal Cloud
/ On Premise
Admi
n
Publis
her
BR
S
Identity
Serve
r
ES
B
M.Broker
Internal Backend Systems
Data SS.
V
P
N
Cloud Services
Monitoring &
Persistance
Desktop
Apps.
Mobile
Apps.
Internal IdP
Identity
Federation
Para fabricante Mundial Automoviles : Federación de Identidades
junto al despliegue de una Plataforma Orientada a la API Economy
WSO2 ESB
WSO2 IS
WSO2 API M
WSO2 Store
WSO2 DSS
WSO2 MQ
WSO2 DAS
Referencias
34. Detalle:
Sobre Cloud público , se define una Arquitectura Midlleware completa, basada
en toda la Suite de WSO2. Define la Integración con el Back End del Cliente y
la exposición, Mediante API M y Store de los Servicios a Consumir por
Clientes, Proveedores y Aplicaciones móviles
Mediante WSO2 IS de define un sistema de Federación de Identidades, que
extiende SSO a diferentes dominios dentro de la Organización. También
Define las políticas globales de Autorización y Autentificación corporativas
Referencias
35. Para Cable Visión , Sector Comunicaciones: Integración WSO2 IS ,
WSO2 API M y OSB (ORACLE) . Exposición de APIs Seguras desde
Servicios definidos en OSB
WSO2 ESB
WSO2 IS
ORACLE
OSB
Referencias
36. Soporte y Acompañamiento en el HUB de Interoperabilidad de RSI (Rural
Servicios Informáticos) Banca. Acompañamiento puesta en Producción de
WSO2 ESB + IS
SATEC – Angola Telecom. Acompañamiento en la Implantación de WSO2 API-M
+ ESB
HUB de Interoperabilidad con Capgemini para Importante Proyecto en UK API
M – ESB – IS – DSS – BAM – MQ
Plataforma WSO2 (ESB, CEP, BAM, IS) y Orquestación con Bonita BPM.
Implementación de Front End usando Liferay para el sistema de Consolidación
Financiera SAP de PDVSA (Venezuela)
Acompañamiento a SolInt (Chile), Consultora Chilena para varias
implantaciones en sus clientes.
Acompañamiento a KioNetwork para la puesta en Producción de un ecosistema
WSO2 de misión crítica para SEP (Servicio Educación Pública) de México
Acompañamiento en Diferentes Proyectos en Banco Grupo Interacciones
México
Referencias
37. Vaesa post-venta (Intranet de servicios post-venta para tiendas. Desarrollo
Frontend Liferay: tema, personalización gráfica) . Back End WSO2 ESB –
Konakart - CRM
Volkswagen Store (eCommerce integración Liferay/Konakart. Desarrollo Liferay
Frontend: tema, personalización de portlets, hooks, plantillas. Desarrollo
Backend: integración de las herramientas). http://store.volkswagen.es
AudiClass (Intranet de servicio post-venta. Desarrollo Liferay Frontend: tema,
personalización de portlets y hooks, estructuras y plantillas Liferay WCM,
Alloy/jQuery,. Desarrollo Backend: personalización y desarrollo de portlets a
medida). http://www.audiclass.com
Messe Dusseldorf en España (Catálogo de ferias. Desarrollo Liferay Frontend:
tema, personalización de portlets, desarrollo Liferay ADT y WCM,
Alloy/jQuery). http://messedusseldorf.es
Sphera Global (Portal de servicios a cliente final. Desarrollo Liferay: Backend y
Frontend)
Andorra Telecom (Portal de servicios a cliente final. Desarrollo Liferay: Backend
y Frontend) www.andorratelecom.ad
Referencias
38. Gracias por la atención
Haciendo Bien las cosas con WSO2