domingo, 16 de diciembre de 2007

SOA. Rendimiento vs Seguridad

En los sistemas de información en general, y en las Arquitecturas Orientadas a Servicios en particular, la seguridad de acceso es uno de los factores más importantes. Más, cuando las empresas no sólo ofrecen sus servicios entre sus diferentes equipos de desarrollo o áreas de la misma, sino cuando estos servicios son ofrecidos a entidad externas. Estas entidades, pueden llegar a ser individuos particulares que, con algo de pericia, pueden llegar a construir sus propios Mashups utilizando alguna de las herramientas gratuitas existentes: Yahoo Pipes http://pipes.yahoo.com/pipes/ , Microsoft Popfly http://www.popfly.com , etc.

Incluso, para ciertos servicios como son los ligados a las tramitaciones y gestiones de expedientes en las Administraciones Públicas, estas seguridades adquieren un carácter legal que implica dejar ciertos registros de Auditoría, garantizar el no-repudio, etcétera.

Por todo lo anterior es preciso dotar a los sistemas de determinadas herramientas que proporcionen seguridad en la invocación a los servicios. Seguridad no sólo de autenticación y autorización, sino también seguridad en el transporte (SSL con certificados, IPSEC, etcétera).

Todas estas capas de seguridad no hacen sino ralentizar el rendimiento de cada uno de los servicios, bien dentro de la plataforma de exposición de servicios en el caso de que se delegue esta funcionalidad dicha infraestructura, o bien en el servicio individual expuesto. Pero, ¿es necesario dotar de seguridad a todos los servicios? Pues lo cierto es que no. El “café para todos” no es algo que puede aplicarse dentro de este contexto. Por ejemplo, ¿tiene sentido dotar del mismo nivel de seguridad a los servicios expuestos internamente dentro de una compañía que a los expuestos para la interoperabilidad con terceros?¿y aquellos que tienen algún carácter económico o legal con el simple servicio de consultar la previsión del tiempo?

Es, por tanto, necesario realizar una catalogación de los servicios en base a los aspectos de seguridad requerida para los mismos e, incluso, esta seguridad puede terminar influyendo en el mecanismo de despliegue.

Consejo: A la hora de definir una Arquitectura Orientada a Servicios, no olvidar nunca los aspectos relativos a la seguridad. El sistema debe contar con el nivel de seguridad justo para proporcionar la funcionalidad requerida, pero el que un sistema o servicio sea seguro, no implica que esté necesariamente bien diseñado. En la seguridad, como en casi todo en esta vida, todo está bien en su justa medida.

0 comentarios: