Windows Azure Active Directory

En post anteriores he intentado mostrar de forma detallada el funcionamiento de Windows Azure ACS y de Windows Azure Active Directory, viendo cómo es posible utilizar estas dos tecnologías para securizar aplicaciones MVC, WebAPI u otro tipo de aplicaciones como aplicaciones Window Store o Windows Phone.

Desde que escribí esos post ha pasado ya tiempo, unos meses, y el avance que ha tenido Windows Azure Active Directory ha sido bastante, por lo que he decidido escribir algún post adicional que muestre el funcionamiento de WAAD con aplicaciones Web, ya que sin lugar a dudas WAAD más tarde o más temprano terminará sustituyendo completamente a ACS, el cuál tiene los días contados. A día  de hoy no WAAD no ofrece lo mismo que ACS, pero seguro que lo tendrá.

Para aquellos que no lo conozcan, Windows Azure Active Directory (WAAD) es un servicio moderno basado en REST que ofrece funciones de administración de identidad y control de acceso para las aplicaciones en la nube. Utilizando este servicio podremos securizar fácilmente todo tipo de aplicaciones ( Web, WP, Windows Store, .NET, Java…), delegando toda la lógica de autenticación en WAAD, simplificando por tanto el código de nuestras aplicaciones. Veremos lo fácil que es, por ejemplo, disponer de entornos de Single Sign On entre aplicaciones, las cuáles podría estar desplegadas en cualquier entorno, ya sea Windows Azure, un entorno on-premise o en aquel punto que más rabia nos de.

Como seguro que todos ya sabéis, en entornos corporativos es muy habitual el uso de Active Directory a nivel corporativo. Las empresas utilizan Active Directory para proveer de una identidad única a sus empleados, utilizando esta identidad para todas las operaciones que requieren securidad dentro de la empresa; acceso a su ordenador, acceso al SharePoint corporativo, a las aplicaciones desplegadas en tu propio entornos etc…es decir, Active Directory nos permite disponer de un directorio corporativo común, simplificando enormemente la gestión de la identidad.

Pero claro, cada vez existen más servicios en la nube que son realmente útiles para la empresa, por ejemplo Office 365, SharePoint, aplicaciones desplegadas en Windows Azure o cualquier otro servicio ofrecido como SaaS que podemos encontrar a día de hoy….¿Cómo gestionamos la identidad? El Active Directory corporativo ya no parece una alternativa, ya que las aplicaciones que he comentado exceden los límites de la empresa y por tanto parece que puede haber un gran riesgo de fragmentar ese directorio común que habíamos conseguido con Active Directory, haciendo más complicada la gestión de la identidad.

Pues aquí surge Windows Azure Active Directory! el cuál nos va permitir seguir disponiendo de ese directorio común, independientemente de dónde estén desplegadas nuestras aplicaciones.

WAAD noes más que un servicio de identidad y directorio en la nube y por ejemplo, en el servicio en el que se basa de toda la seguridad de Office 365, el cuál soporta millones de autenticación por minutos sin despeinarse 🙂 Y términos más técnicos, podemos decir que WAAD no es más que un Secure Token Service (STS) que puede actuar de proveedor de identidad en nuestras aplicaciones.

En cuanto a la gestión de directorio, WAAD nos permitirá crear y gestionar nuestros usuarios sin disponer de un Active Directory on-premise o lo que puede ser más interesante es muchas empresas, nos permitirá sincronizar nuestro directorio local con nuestro directorio en la nube….el mismo usuario que usamos para conectarnos a nuestro equipo, podremos usarlo para conectarnos a nuestra aplicaciones desplegada en Windows Azure, todo ello con Single Sign On…para los usuarios es completamente transparente dónde están las aplicaciones.

Claro está, como buen STS, está basado completamente en protocolos estándares, lo cuál va a permitir que podamos trabajar con WAAD y aplicaciones .NET, o cualquier otra aplicación hecha en cualquier otro lenguaje.

 

Purpose

Details

REST/HTTP directory access

Create, Read, Update, Delete directory objects and relationships

Compatible with OData V3

Authenticate with OAuth 2.0

OAuth 2.0

Service to service authentication

Delegated access

JWT token format

SAML 2.0

Web application authentication

SAML 2.0 token format

Used with Office 365 Services

WS-Federation 1.3

Web application authentication

SAML 1.1 token format

Used with Office 365 Services

Por último, otra de las cosas interesantes de este servicio es que dispone de un servicio REST ( Windows Azure AD Graph  API ) a través del cuál es  posible realizar cualquier operación de lectura o modificación sobre los diferentes objetos disponibles en Windows Azure Active Directory; usuarios, grupos etc…algo similar a lo que se podría hacer con ADSI o ADO.NET en un entorno on-premise de Active Directory.

En los próximos post veremos cómo crear un servicio de WAAD e iremos viendo paso a paso cómo securizar aplicaciones Web, tanto MVC como WebAPI.

Ibon Landa

bon Landa lleva más de 15 años dedicado al desarrollo de software. Durante este tiempo ha trabajado en diferentes empresas en las cuáles ha podido trabajar en diferentes entornos y tecnologías. Actualmente está focalizado principalmente en tareas de desarrollo, arquitectura, en las herramientas del ciclo de vida y en todo lo relacionado con la plataforma de Cloud Computing Microsoft Azure, área en el que ha sido reconocido como MVP. Participa de forma activa en la comunidad, escribiendo su blog, manteniendo un portal sobre Microsoft Azure y colaborando con Microsoft y grupos de usuarios en eventos de formación, talleres y giras de producto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *