Azure Active Directory (Azure AD) le permite administrar de forma segura el acceso a los servicios y recursos de Azure para sus usuarios. Con Azure AD tenemos incluido un conjunto completo de capacidades de administración de identidades.

Con Azure AD, puede crear y administrar usuarios y grupos y habilitar permisos para permitir y denegar el acceso a los recursos empresariales.

Arquitectura Azure AD

La arquitectura distribuida geográficamente de Azure AD combina un amplio monitoreo, un redireccionamiento automatizado, un failover y capacidades de recuperación que nos permiten ofrecer disponibilidad y rendimiento a nivel de empresa a nuestros clientes.

Los siguientes elementos de arquitectura se tratan en este artículo:

  • Diseño de arquitectura de servicios
  • Escalabilidad
  • Disponibilidad continua
  • Data centers

Diseño de arquitectura de servicios

La forma más común de construir un sistema escalable, altamente disponible y rico en datos es a través de bloques de construcción independientes o unidades de escala para el nivel de datos Azure AD, las unidades de escala se llaman particiones .

El nivel de datos tiene varios servicios front-end que proporcionan capacidad de lectura-escritura. El diagrama siguiente muestra cómo los componentes de una partición de un solo directorio se distribuyen a través de centros de datos distrubuidos geográficamente.

active-directory-architecture

Los componentes de la arquitectura Azure AD incluyen una réplica primaria y réplicas secundarias.

Réplica primaria

La réplica primaria recibe todas las escrituras para la partición a la que pertenece. Cualquier operación de escritura se replica inmediatamente a una réplica secundaria en un centro de datos diferente antes de devolver el éxito a la persona que llama, garantizando así la durabilidad geo-redundante de las escrituras.

Replicas secundarias

Todas las lecturas de directorio se reparan desde réplicas secundarias , que se encuentran en centros de datos que están físicamente ubicados en diferentes geografías. Hay muchas réplicas secundarias, ya que los datos se replican asincrónicamente. Las lecturas de directorios, como las solicitudes de autenticación, son atendidas desde centros de datos cercanos a nuestros clientes. Las réplicas secundarias son responsables de la escalabilidad de lectura.

Escalabilidad

Escalabilidad es la capacidad de un servicio para expandirse para satisfacer las crecientes demandas de rendimiento. Escalabilidad de escritura se logra mediante la partición de los datos. La escalabilidad de lectura se logra replicando datos de una partición a múltiples réplicas secundarias distribuidas en todo el mundo.

Las solicitudes de aplicaciones de directorio generalmente se encaminan al centro de datos al que están físicamente más cercanas. Las escrituras son redireccionadas de forma transparente a la réplica primaria para proporcionar coherencia de lectura y escritura. Las réplicas secundarias amplían significativamente la escala de las particiones, ya que los directorios suelen estar publicando lecturas la mayor parte del tiempo.

Las aplicaciones de directorio se conectan a los datacenters más cercanos. Esto mejora el rendimiento y, por lo tanto, la ampliación es posible. Dado que una partición de directorio puede tener muchas réplicas secundarias, las réplicas secundarias se pueden situar más cerca de los clientes del directorio. Sólo los componentes de servicio de directorio interno que son de escritura intensiva orientan la réplica primaria activa directamente.

Disponibilidad continua

Disponibilidad (o tiempo de actividad) define la capacidad de un sistema para realizar ininterrumpido. La clave para la alta disponibilidad de Azure AD es que nuestros servicios pueden cambiar rápidamente el tráfico a través de múltiples centros de datos distribuidos geográficamente. Cada centro de datos es independiente, lo que permite los modos de fallo de correlación.

El diseño de la partición Azure AD se simplifica en comparación con el diseño AD de la empresa, que es crítico para ampliar el sistema. Hemos adoptado un diseño de un solo maestro que incluye un proceso de conmutación por error de réplica primario cuidadosamente orquestado y determinista.

Tolerancia a fallos

Un sistema está más disponible si es tolerante a fallas de hardware, red y software. Para cada partición en el directorio, existe una réplica maestra altamente disponible: La réplica primaria.  Sólo se realizan escrituras en la partición en esta réplica. Esta réplica se está supervisando continuamente y de cerca y las escrituras pueden ser cambiadas inmediatamente a otra réplica (que se convierte en la nueva primaria) si se detecta un fallo. Durante la conmutación por error, podría haber una pérdida de la disponibilidad de escritura normalmente de 1-2 minutos. La disponibilidad de lectura no se ve afectada durante este tiempo.

Las operaciones de lectura (que superan en número a las escrituras por muchos órdenes de magnitud) sólo van a réplicas secundarias. Dado que las réplicas secundarias son idempotentes, la pérdida de una réplica en una partición dada se puede compensar fácilmente dirigiendo las lecturas a otra réplica, normalmente en el mismo centro de datos.

Durabilidad de los datos

Una escritura está comprometida de forma duradera con al menos dos centros de datos antes de que se reconozca. Esto ocurre al confirmar primero la escritura en el primario y luego replicar inmediatamente la escritura en al menos otro centro de datos. Esto garantiza que una posible pérdida catastrófica del centro de datos que aloje el primario no resulte en pérdida de datos.

Azure AD mantiene un objetivo de cero Recovery Time Objective (RTO) para la emisión de token y lecturas de directorios y en el orden de minutos (~ 5 minutos) RTO para escrituras de directorios. También mantiene el objetivo de cero  Recovery Point Objective (RPO) y no perderemos datos sobre failovers.

Centros de datos

Las réplicas de Azure AD se almacenan en centros de datos ubicados en todo el mundo. Azure AD opera a través de centros de datos con las siguientes características:

  • Autenticación, Gráfico y otros servicios de AD residen detrás del servicio de puerta de enlace. La puerta de enlace gestiona el equilibrio de carga de estos servicios. Hará failover automáticamente si se detectan servidores no saludables usando sondas de salud transaccionales. Sobre la base de estos sondeos de salud, la pasarela dinámicamente el tráfico de rutas a centros de datos saludables.
  • Para lecturas , el directorio tiene réplicas secundarias y servicios front-end correspondientes en una configuración activo-activo que funciona en múltiples centros de datos. En caso de un fallo de un centro de datos entero, el tráfico se encaminará automáticamente a un centro de datos diferente.
  • Para las escrituras, el directorio pasará por la réplica primaria (maestra) de conmutación por error a través de los centros de datos a través de los procedimientos planificados (los nuevos primarios se sincronizarán con primarios antiguos) o de emergencia. La durabilidad de los datos se logra replicando cualquier commit a al menos dos centros de datos.

Consistencia de los datos

El modelo de directorio es de consistencia eventual. Un problema típico con sistemas de replicación asincrónicos distribuidos es que los datos devueltos de una réplica "particular" pueden no estar actualizados.

Azure AD proporciona coherencia de lectura y escritura para las aplicaciones que apuntan a una réplica secundaria, enrutando sus escrituras a la réplica primaria y transfiriendo de forma síncrona las escrituras a la réplica secundaria. Las escrituras de aplicaciones que utilizan la Graph API de Azure AD se abstraen de mantener la afinidad con una réplica de directorio para la coherencia de lectura y escritura. El servicio Azure AD Graph mantiene una sesión lógica, que tiene afinidad con una réplica secundaria utilizada para lecturas; La afinidad se captura en un "token de réplica" que el servicio de gráfico almacena en caché utilizando una caché distribuida. Este token se utiliza entonces para operaciones posteriores en la misma sesión lógica.

Protección de copia de seguridad

El directorio implementa borrados suaves, en lugar de eliminaciones duras, para usuarios y inquilinos para una fácil recuperación en caso de borrados accidentales por parte de un cliente. Si el administrador de su inquilino borra accidentalmente a los usuarios, puede deshacer y restaurar fácilmente los usuarios eliminados.

Azure AD implementa copias de seguridad diarias de todos los datos y, por lo tanto, puede restaurar los datos de forma autoritaria en caso de cualquier supresión o corrupción lógica. Nuestro nivel de datos emplea códigos de corrección de errores, de modo que puede comprobar errores y corregir automáticamente determinados tipos de errores de disco.

Métricas y monitores

La ejecución de un servicio de alta disponibilidad requiere métricas de nivel mundial y capacidades de monitoreo. Azure AD analiza e informa continuamente las métricas clave de salud de servicio y los criterios de éxito para cada uno de sus servicios. Desarrollamos y sintonizamos continuamente métricas, monitoreo y alertas para cada escenario, dentro de cada servicio Azure AD y en todos los servicios.

Si cualquier servicio Azure AD no funciona como se espera, inmediatamente tomamos medidas para restaurar la funcionalidad lo más rápido posible. La pista métrica más importante de Azure AD es la rapidez con que podemos detectar y mitigar un problema de cliente o sitio en vivo. Invertimos mucho en el monitoreo y las alertas para minimizar el tiempo de detección (objetivo TTD: <5 minutos) y la preparación operativa para minimizar el tiempo para mitigar (objetivo TTM: <30 minutos).

Operaciones seguras

Empleamos controles operativos tales como autenticación de múltiples factores (MFA) para cualquier operación, así como auditoría de todas las operaciones. Además, utilizamos un sistema de elevación just-in-time para conceder el acceso temporal necesario para cualquier tarea operativa bajo demanda en forma continua.

Para mas información les dejo un video sobre el tema que es super interesante. Saludos. Roberto Di Lello

Fuentes: What is Windows Azure Active Directory? & Microsoft Azure Site

Avatar photo

By Roberto Di Lello

Hola, soy Roberto Di Lello trabajo como Consultor Senior en Infraestructura, especializado en Tecnologias Microsoft con mas de 25 años en la industria. He sido galardonado como MS-MVP en Active Directory-Enterprise Mobility por 10 años, y actualmente soy MVP Windows Insider, ademas de poseer otras certificaciones de Microsoft. He trabajado en distintos projectos que involucran Migraciones, Implementaciones, y soporte de Active Directory y Microsoft Exchange, y en los ultimos años me he desempeñado armando equipos de trabajo para diferentes paises y areas de sistemas, he planificado a distintas migraciones a datacenters (ambiente cloud y mixtos). He tenido la oportunidad de participar como miembro del staff de Microsoft en eventos internacionales como ser TechEd NorteAmerica y MS Ignite (NA) al ser Trainer Certificado por Microsoft (MCT).

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.