Blog de Pedro Valcarcel

miércoles jul 29, 2009

Sun OpenDS, Servidor de Directorio Open Source en Java

Otra de las iniciativas de código abierto de Sun es su Directorio LDAP, ya hace varios años que Sun está trabajando conjuntamente con la comunidad para el desarrollo de lo que tiene que ser la nueva generación del Sun Directory Server, OpenDS, un directorio LDAPv3 de codigo abierto totalmente desarrollado en Java.  Se acaba de anunciar OpenDS 2.0  y su versión comercial, Sun OpenDS 2.0 Standard Edition 2.0.

Se puede encontrar completa información en la wiki, https://docs.opends.org/2.0/ o bien en al blog de Ludovi Poitou, OpenDS community manager and architect. De la versión Sun OpenDS se puede encontrar informacion en http://wikis.sun.com/display/sunopends/Home.

Integrando aplicaciones con OpenSSO.

OpenSSO, solución de código abierto,  de control de acceso web, basado en el código de Sun Access Manager. Sun OpenSSO Enterprise 8.0, versión comercial de OpenSSO soportada por Sun, ofrece diferentes funcionalidades, entre ellas me gustaría destacar la siguiente:

Identity Services ; facilidad de invocar servicios AAA usando los entornos de desarrollo (IDE) que se prefieran o cualquier lenguaje de programación (por ej; Java, .NET, PHP, Ruby, etc...) 

¿Porqué comentar esta funcionalidad?, responde a la situación de muchos clientes de evolucionar sus sistemas de control de acceso realizados a medida  hacía un sistema que permita la adaptación rápida a nuevas funcionalidades y el uso de estándares en la securización de servicios web o en la Federación. En muchos clientes me he encontrado que es muy habitual tener sistemas heredados de control de acceso donde se han hecho desarrollos en PHP, PL/SQL,... Llega el momento que aparece el dilema, si seguir con desarrollos a medida que encarecen la adaptación a nuevos requerimientos o plantearse la evolución a sistemas comerciales estándares que reduzcan el coste y esfuerzo de implantar nuevas funcionalidades o requerimientos del negocio. No es fácil cambiar el desarrollo durante años de aplicaciones heredadas a entornos J2EE por lo que se requiere de un proceso donde convivan ambos mundos, el antiguo sistema de control de acceso y el nuevo basado en OpenSSO. Existen diferentes alternativas de integrar aplicaciones existentes en Sun OpenSSO, El siguiente articulo describe las cuatro maneras en las cuales podemos integrar aplicaciones web con OpenSSO, usando el Policy Agent, el reverse proxy, client SDK o identity services.


Integrating Applications With OpenSSO

Los cuatro escenarios vienen a resolver las funciones de autenticación, primer logín del usuario en el sistema, autorización, controlar a donde puede o no acceder el usuario según su rol y que tipo de acceso se le permite dentro de la aplicación, y trazabilidad o Accounting.

Policy Agent; Agente o Plug-in que se instala en el contenedor web, servidor web o de aplicaciones. Sun OpenSSO ofrece Policy Agents para la mayoría de servidores webs o de aplicaciones existentes en el mercado. Con esta opción no es necesario ninguna programación para la gestión del token de sesión y el control del acceso. El Policy Agent permite delegar al OpenSSO las funciones de autenticación y autorización del contenedor web.


Reverse Proxy; En este escenario se despliega el Policy Agent en un proxy reverso que se encuentra delante del servidor web o de aplicaciones donde se encuentra la aplicación desplegada.  Tiene la ventaja de no tener que instalar nada en el contenedor web donde se encuentra la aplicación pero se puede convertir en un cuello de botella del sistema al pasar todas las peticiones a través de él.


Client SDK; Ofrece la oportunidad de que la aplicación pueda comunicarse con el OpenSSO con mayor granualidad y poder acceder a información mas concreta sobre el tipo de acceso, rol o características del propio usuario. El problema es que solamente esta disponible en JAVA.


Identity Services; Se ofrecen interfaces web simples que dan acceso a las funcionalidades de OpenSSO, tales como autenticación y autorización en entornos donde no es posible usar los Policy Agents o el SDK


En la URL anterior se puede encontrar ejemplo de uso de estas interfaces web, recomiendo su lectura, en la figura siguiente, la podéis ver con más detalle en el articulo al cual hago referencia, se ilustra el ciclo de autenticación a una aplicación usando los Identity Services.



Os recomiendo la lectura de los siguientes articulos:


Article series: Securing Applications With Identity Services




Calendar

Feeds

Search

Links

Navigation

Referrers