Compartir a través de


Autenticación federada de aplicaciones web en Azure con WIF

La gestión de la identidad sigue siendo unos los problemas habituales con los que se encuentran los desarrolladores a la hora de desarrollar una aplicación; evitar el acceso no autorizado de terceros, controlar la autorización de acceso a los datos de los usuarios autenticados...

Los desarrolladores se enfrentan de forma habitual a los mismos problemas; cómo proveer de un sistema de autenticación y autorización a las aplicaciones que desarrollan, qué tecnología elegir, que sistema de almacenamiento emplear etc...

El modelo de seguridad basado en claims es una estrategia de seguridad que permite disponer de las funcionalidades habituales de autenticación y autorización en una aplicación, centralizando todo el proceso en servicios externos a la propia aplicación, servicios desarrollados y mantenidos por expertos en seguridad.

Access Control es un servicio ofrecido por la plataforma Windows Azure que provee de la funcionalidad que se acaba de mencionar. En lugar de tener que escribir en cada aplicación que se desarrolle la lógica de autenticación y autorización, se puede usar Access Control para delegar estas dos funcionalidades en este servicio.

A continuación se describen algunas de las principales tecnologías de identidad que puede emplearse junto con Windows Azure para proteger las aplicaciones.

  • Windows Identity Foundation
  • Active Directory Federation Services 2.0
  • Windows Azure AppFabric Access Control Service

Windows Identity Foundation

Windows Identity Foundation (WIF) permite a los desarrolladores .NET descargar a las aplicaciones de la responsabilidad de contener la lógica de gestión de la identidad de sus usuarios, proporcionando un modelo de programación basado en la separación de responsabilidades.

Los desarrolladores menos expertos pueden asegurar sus aplicaciones sin estar expuestos a la complejidad subyacente de la criptografía y protocolos, aprovechando las características de integración de Visual Studio, las cuáles permiten implementar aplicaciones seguras empleando estándares como WS-Federation y WS-Trust.

Además de ofrecer un modelo de programación sencillo, que unifica las aplicaciones ASP.NET y WCF bajo un mismo modelo de objetos, Windows Identity Foundation dispone de una amplia gama de funcionalidades ofrecidas por WS-Security, el formato de token SAML y muchos otros estándares del sector industrial.

Empleando Windows Identity Foundation el sistema de autenticación lo proporcionan servicios externos a la aplicación y empleando protocolos estándares para la comunicación. La aplicación que hace uso de este framework recibe la información de los usuarios autenticados como Claims, que puede ser usado por la aplicación para tomar decisiones.

Aunque los servicios de autenticación pueden utilizar diferentes proveedores de identidad, la mejor forma de aprovechar su funcionalidad es utilizar la autenticación proporcionada por Active Directory Federation Services 2.0.

Active Directory Federation Services 2.0

Aunque Active Directory Federation Services 2.0 (AD FS 2.0) es una tecnología que puede ser empleada en soluciones que no residan en la nube, juega un papel muy importante en la autenticación de aplicaciones que funcionan en Windows Azure.

AD FS 2.0 extiende la funcionalidad de Active Directory dotando a éste de un sistema de identidad basado en claims. AD FS 2.0 provee a Active Directory de un Security Token Service (STS) que permite ofrece una interfaz para que las aplicaciones puedan disponer de un sistema de autenticación, independientemente de que la aplicación se encuentre desplegada en la nube o en una solución a medida.

Los usuarios ya no están limitados por las fronteras de su red local: si una aplicación alojada en Windows Azure se ha desarrollado utilizando Windows Identity Foundation, AD FS 2.0 permite al instante el acceso a cualquiera cuenta válida en el directorio local para esta aplicación. Todo ello sin requerir ningún tipo de sincronización, duplicación y sin tener que crear una nueva cuenta de aprovisionamiento.

AD FS 2.0 facilita la creación y el mantenimiento de relaciones de confianza con partners federados, lo que simplifica el acceso a los recursos y la posibilidad de disponer de un "single sing-on".

AD FS 2.0 implementa estándares como WS-Trust, WS-Federation y el protocolo SAML

AD FS 2.0 implementa los estándares como WS-Trust, WS-Federation y el protocolo SAML, y ha superado con éxito las últimas pruebas públicas Liberty Alliance SAML 2.0 que proveen de interoperabilidad con productos de IBM, Novell, Ping Identity , SAP, Siemens y muchos otros.

Windows Azure AppFabric Access Control

AppFabric Access Control  permite generar una autorización federada entre aplicaciones y servicios, sin la programación complicada que, por lo general, se requiere para proteger aplicaciones que atraviesan los límites de la organización.

Las aplicaciones puede delegar en Access Control el sistema de autorización permitiendo escenarios simples basados en validación con un usuario o contraseña o escenarios empresariales más complejos dónde se emplea Active Directory Federation Services 2.0.

Desde el portal de Windows Azure, dentro de la administración de Access Control es posible incluir a AD FS 2.0 como proveedor de identidad de Access Control.


Figura 1.- Añadir proveedores de identidad