Post on 07-Nov-2014
description
CASO DE ÉXITO
Sistema de Gestión de Identidades en Aplicaciones Web y en entornos
SOA/BPM
Nuestro Cliente, una importante Consultora en LATAM. Especialistas en Proyectos ENTERPRISE
PERFORMANCE MANAGEMENT (EPM), con más de trece años de experiencia de Exito en países de
Latinoamérica
Para uno de sus Grandes Clientes, Una de las mas grandes petroleras del mundo , situada en LATAM,
nos pidió una Solución de Integracion para un importante proyecto de Consolidacion Financiera en
entornos Heterogeneos : Java, Portal (LIFERAY), SAP , BI (Pentaho), Bonita BPM.
Después de una primera consultoría donde se propusieron diferentes alternativas objetivadas en base a
los requerimientos de la futura solución y unas pruebas de concepto, se acaba de implementar una
primera fase con Gran éxito basaba en Identity Server de WSO2 y Penrose Server
Gestion de Identidades:
La Gestión de Identidades es la mixtura de procesos de negocio y tecnologías usadas para gestionar
información de usuarios en los Sistemas Informáticos y Aplicaciones. Esta es una definición clásica,
aunque ahora en estos tiempos, donde las Aplicaciones son muy heterogéneas y muchas veces están en
modo SaaS, la definición sigue siendo válida, pero ya no la tecnología subyacente.
Como es obvio, la heterogeneidad hace que se la tecnología se oriente a estándares más abiertos e
interoperables, es por ello que la selección de los mejores productos alineados a estos estándares hace
posible abordar todos los procesos de negocio relacionados a las identidades (ciclo de vida de las
identidades).
Procesos relacionados a la Gestión de Identidades
Cualquier Sistema de Gestión de Identidades debe ser capaz de cubrir todos o gran parte de los
procesos o funciones relacionadas a las identidades o credenciales dentro de una Organización.
Existen una gran variedad de aplicaciones comerciales y free-open source que cubren todas estas
necesidades, algunas mejor adaptadas que otras ya que en un entorno Corporativo podemos
encontrarnos aplicaciones muy heterogéneas.
Los procesos relacionados son los siguientes:
1. Gestión de Identidades
Aprovisionamiento de credenciales
Desaprovisionamiento de credenciales
Sincronización
2. Control de acceso
Autenticación
CASO DE ÉXITO
Autorización
3. Administración de Identidades
Gestión de Usuarios
Gestión de Contraseñas
Delegación
Directorio o Repositorio de credenciales
El Escenario de partida
En un escenario real nos encontramos con aplicaciones de negocio existentes muy heterogéneas que
necesitan unificar sus servicios de Autenticación, Autorización y la Administración de Identidades.
La mayoría de aplicaciones son de tipo web, otras exponen sus funcionalidades a través de una capa de
servicios (SOAP y/o REST), mientras que las restantes son ERPs o aplicaciones construídas sobre
tecnologías propietarias como SAP, Oracle, Microsoft.
CASO DE ÉXITO
El diagrama muestra la necesidad de integrar las funcionalidades de autenticación y autorización de
cada elemento que forma parte del ecosistema, evidentemente cada elemento requiere seguir una
estrategia de integración diferente ya que esto depende de diferentes elementos tales como:
Tipo de credenciales usados para autenticación.
Ya que es posible que una aplicación BPM puede requerir usuario y contraseña, mientras
que SAP requiere certificados X.509, además que muchas veces estas credenciales están en
repositorios de manera dispersa.
Modelo de permisos y roles.
Usando usuario y contraseña para acceder a Repositorio Documental tenemos permisos de
administrador, mientras que con las mismas credenciales accedemos como usuario de
lectura en Liferay Portal.
Protocolo de autenticación, autorización y SSO usado.
Para acceder a JBoss Drools requerimos autenticarnos usando vía LDAP, mientras que para
acceder a WSO2 ESB requerimos usar OpenID.
Nuestra Solución
En escenarios reales habría que identificar estos elementos que hacen que nuestro proyecto sea muy
particular y ante necesidades o requerimientos especiales hace que necesitemos cubrirlo con alguna
personalización, desarrollo nuevo o producto nuevo.
En este caso, con el uso de WSO2 Identity Server (WSO2 IS) y Penrose Server (Virtual LDAP) cubrimos
el 100% de necesidades.
Mientras que con WSO2 IS podemos resolver las necesidades de autenticación, autorización y SSO, con
Penrose Server podemos consolidar todas las fuentes de datos relacionadas a las credenciales e
identidades.
WSO2 Identity Server (www.wso2.com)
WSO2 IS es una plataforma que permite gestionar las identidades y la seguridad necesaria en las
Aplicaciones de negocio, servicios y el API desplegados a lo largo de la Organización. También permite
gestionar las identidades de uso interno, identidades compartidas y distribuidas en entornos SaaS.
Penrose Server como Virtual LDAP
Penrose Server es un Virtual Directory (LDAP) server construido en Java. Permite agregación
(consolidación) de base de datos de identidades provenientes de multiples heterogéneas fuentes como
LDAP Servers, Database Servers, Ficheros planos y Web Services (en tiempo real) y hace disponible una
interfaz LDAP que las Aplicaciones de Negocio puedan consumir dicha información sobre credenciales.
CASO DE ÉXITO
Arquitectura
En ecosistema tan heterogéneo como el mostrado en los diagramas, hacer Gestión de Identidades pasa
por hacer integración de sistemas donde los procesos a integrar serán los relacionados a seguridad
(autenticación y autorización), además los datos a integrar (agregar y consolidar) serán los relacionados
a las identidades o credenciales.
WSO2 IS es un producto que forma parte de la familia de productos de WSO2 orientados, que
básicamente son productos orientados a SOA, por tal motivos, WSO2 IS aprovecha mucho de esas
características haciendo la integración más fácil, escalable y adaptable a los diferentes elementos que
forman parte del ecosistema.
La propuesta arquitectónica se basa en el despliegue de WSO2 IS y usar todas sus funcionalidades para
integrar diferentes procesos de seguridad (autenticación, autorización y SSO) bajo diferentes protocolos.
Por otro lado, el uso de Penrose Server nos permite exponer una interfaz LDAP consolidada adaptable a
cada una de las aplicaciones de negocio que forman parte de nuestro ecosistema.
CASO DE ÉXITO
Procesos de integración realizados
Conclusiones
Un proyecto de Gestión de Identidades en entornos muy heterogéneos es y debe ser tratado como un
proyecto de integración de procesos de seguridad y de consolidación y agregación de datos de
identidades.
La Gestión de Identidades se divide en dos grandes fases, la primera está orientada a la Administración de
Identidades (consolidación y agregación de fuentes de datos de identidades), la segunda fase está
orientada al despliegue e implantación de cada uno de las estrategias de integración de seguridad
(autenticación, autorización y SSO).
El uso de WSO2 Identity Server nos permitió suficiente flexibilidad a la hora de desplegar las estrategias
de integración tanto para autenticación, autorización y SSO para cada una de las heterogéneas de las
aplicaciones existentes en nuestro ecosistema, esto quiere que WSO2 IS implementa una variedad de
protocolos alineados a facilitar la integración e interoperabilidad.
Para mas información: gabriel.monreal@chakray.com y en www.chakray.com