Informazioni sull'architettura di Azure Active DirectoryUnderstand Azure Active Directory architecture

Azure Active Directory (Azure AD) consente di gestire in modo sicuro l'accesso ai servizi e alle risorse di Azure per gli utenti.Azure Active Directory (Azure AD) enables you to securely manage access to Azure services and resources for your users. In Azure AD è inclusa una suite completa di funzionalità di gestione delle identità.Included with Azure AD is a full suite of identity management capabilities. Per informazioni sulle funzionalità di Azure AD, vedere Informazioni su Azure Active Directory.For information about Azure AD features, see What is Azure Active Directory?

Con Azure AD, è possibile creare e gestire utenti e gruppi e abilitare le autorizzazioni per consentire o negare l'accesso alle risorse aziendali.With Azure AD, you can create and manage users and groups, and enable permissions to allow and deny access to enterprise resources. Per informazioni sulla gestione delle identità, vedere Nozioni fondamentali sulla gestione delle identità di Azure.For information about identity management, see The fundamentals of Azure identity management.

Architettura di Azure ADAzure AD architecture

L'architettura distribuita geograficamente di Azure AD combina funzionalità complete di monitoraggio, reindirizzamento automatizzato, failover e ripristino che consentono di offrire ai clienti disponibilità e prestazioni a livello di organizzazione.Azure AD's geographically distributed architecture combines extensive monitoring, automated rerouting, failover, and recovery capabilities enable us to deliver enterprise-level availability and performance to our customers.

In questo articolo vengono illustrati gli elementi dell'architettura seguenti:The following architecture elements are covered in this article:

  • Progettazione dell'architettura del servizioService architecture design
  • ScalabilitàScalability
  • Disponibilità continuaContinuous availability
  • Data centerData centers

Progettazione dell'architettura del servizioService architecture design

L'approccio più diffuso per la compilazione di un sistema scalabile, con disponibilità elevata e ad alto contenuto di dati consiste nell'usare blocchi predefiniti o unità di scala indipendenti per il livello dati di Azure AD. Le unità di scala sono denominate partizioni.The most common way to build a scalable, highly-available, data-rich system is through independent building blocks or scale units for the Azure AD data tier, scale units are called partitions.

Il livello dati ha diversi servizi front-end che forniscono funzionalità di lettura/scrittura.The data tier has several front-end services that provide read-write capability. Il diagramma seguente illustra come i componenti di una partizione di directory singola vengono suddivisi in data center distribuiti geograficamente.The diagram below shows how the components of a single-directory partition are distributed throughout geographically-distrubuted data centers.

Partizioni di directory singola

I componenti dell'architettura di Azure AD includono una replica primaria e una replica secondaria.The components of Azure AD architecture include a primary replica and secondary replicas.

Replica primariaPrimary replica

La replica primaria riceve tutte le operazioni di scrittura per la partizione a cui appartiene.The primary replica receives all writes for the partition it belongs to. Ogni operazione di scrittura viene immediatamente replicata in una replica secondaria in un data center diverso prima di restituire un'operazione riuscita al chiamante, assicurando così la durabilità con ridondanza geografica delle operazioni di scrittura.Any write operation is immediately replicated to a secondary replica in a different datacenter before returning success to the caller, thus ensuring geo-redundant durability of writes.

Repliche secondarieSecondary replicas

Tutte le operazioni di lettura delle directory vengono gestite dalle repliche secondarie, che si trovano in data center situati fisicamente in aree geografiche diverse.All directory reads are serviced from secondary replicas, which are at data centers that are physically located across different geographies. Esistono molte repliche secondarie perché i dati vengono replicati in modo asincrono.There are many secondary replicas, as data is replicated asynchronously. Le operazioni di lettura delle directory, ad esempio le richieste di autenticazione, vengono gestite da data center vicini ai clienti.Directory reads, such as authentication requests, are serviced from data centers that are close to our customers. Le repliche secondarie sono responsabili della scalabilità delle operazioni di lettura.The secondary replicas are responsible for read scalability.

ScalabilitàScalability

La scalabilità è la possibilità per un servizio di espandersi per poter soddisfare le crescenti richieste in termini di prestazioni.Scalability is the ability of a service to expand to meet increasing performance demands. La scalabilità delle operazioni di scrittura richiede il partizionamento dei dati.Write scalability is achieved by partitioning the data. La scalabilità delle operazioni di lettura richiede la replica dei dati da una partizione a più repliche secondarie distribuite in tutto il mondo.Read scalability is achieved by replicating data from one partition to multiple secondary replicas distributed throughout the world.

Le richieste provenienti dalle applicazioni directory vengono in genere instradate al data center fisicamente più vicino.Requests from directory applications are generally routed to the datacenter that they are physically closest to. Le operazioni di scrittura vengono reindirizzate in modo trasparente alla replica primaria per garantire la coerenza delle operazioni di lettura/scrittura.Writes are transparently redirected to the primary replica to provide read-write consistency. Le repliche secondarie estendono considerevolmente la scalabilità delle partizioni perché in genere le directory gestiscono per lo più operazioni di lettura.Secondary replicas significantly extend the scale of partitions because the directories are typically serving reads most of the time.

Le applicazioni directory si connettono ai data center più vicini,Directory applications connect to the nearest datacenters. migliorando le prestazioni e rendendo quindi possibile l'aumento del numero di istanze.This improves performance, and therefore scaling out is possible. Poiché una partizione di directory può avere più repliche secondarie, le repliche secondarie possono essere poste più vicino ai client delle directory.Since a directory partition can have many secondary replicas, secondary replicas can be placed closer to the directory clients. Solo i componenti del servizio directory interni con un numero elevato di operazioni di scrittura specificano come destinazione direttamente la replica primaria attiva.Only internal directory service components that are write-intensive target the active primary replica directly.

Disponibilità continuaContinuous availability

La disponibilità (o tempo di attività) definisce la possibilità per un sistema di funzionare senza interruzioni.Availability (or uptime) defines the ability of a system to perform uninterrupted. La disponibilità elevata di Azure AD si basa sul fatto che i servizi possono spostare rapidamente il traffico tra più data center distribuiti geograficamente.The key to Azure AD’s high-availability is that our services can quickly shift traffic across multiple geographically-distributed data centers. Ogni data center è indipendente e ciò abilita le modalità di errore con annullamento della correlazione.Each data center is independent, which enables de-correlated failure modes.

La progettazione delle partizioni di Azure AD è più semplice rispetto alla progettazione di AD aziendale, il che è importante per aumentare le prestazioni del sistema.Azure AD’s partition design is simplified compared to the enterprise AD design, which is critical for scaling up the system. È stato adottato uno schema master singolo che include un processo di failover della replica primaria deterministico e orchestrato con attenzione.We adopted a single-master design that includes a carefully orchestrated and deterministic primary replica failover process.

Tolleranza di erroreFault tolerance

Un sistema è più disponibile se è a tolleranza di errore di hardware, di rete e di software.A system is more available if it is tolerant to hardware, network, and software failures. Per ogni partizione nella directory, esiste una replica master a disponibilità elevata: la replica primaria.For each partition on the directory, a highly available master replica exists: The primary replica. In questa replica vengono eseguite solo operazioni di scrittura nella partizione.Only writes to the partition are performed at this replica. Questa replica viene monitorata in modo continuo e attento e le operazioni di scrittura possono essere immediatamente spostate in un'altra replica, che diventa la nuova replica primaria, se viene rilevato un errore.This replica is being continuously and closely monitored, and writes can be immediately shifted to another replica (which becomes the new primary) if a failure is detected. Durante il failover, è possibile che si verifichi una perdita di disponibilità in scrittura, in genere per 1-2 minuti.During failover, there could be a loss of write availability typically of 1-2 minutes. La disponibilità in lettura non è invece interessata durante questo intervallo di tempo.Read availability is not affected during this time.

Le operazioni di lettura (che sono più numerose di quelle di scrittura di diversi ordini di grandezza) passano solo alle repliche secondarie.Read operations (which outnumber writes by many orders of magnitude) only go to secondary replicas. Poiché le repliche secondarie sono idempotenti, la perdita di una replica in una determinata partizione viene facilmente compensata indirizzando le operazioni di lettura a un'altra replica, in genere nello stesso data center.Since secondary replicas are idempotent, loss of any one replica in a given partition is easily compensated by directing the reads to another replica, usually in the same datacenter.

Durabilità dei datiData durability

Il commit durevole delle operazioni di scrittura viene eseguito in almeno due data center prima che ne venga accertata la ricezione.A write is durably committed to at least two data centers prior to it being acknowledged. A questo scopo, viene prima eseguito il commit dell'operazione di scrittura nella replica primaria e immediatamente dopo l'operazione di scrittura viene replicata in almeno un altro data center.This happens by first committing the write on the primary, and then immediately replicating the write to at least one other data center. In questo modo, una possibile perdita irreversibile del data center che ospita la replica primaria non comporta una perdita di dati.This ensures that a potential catastrophic loss of the data center hosting the primary does not result in data loss.

Azure AD mantiene un obiettivo del tempo di ripristino (RTO, Recovery Time Objective) pari a zero per il rilascio di token e le operazioni di lettura delle directory e un valore RTO di alcuni minuti (circa 5) per le operazioni di scrittura delle directory.Azure AD maintains a zero Recovery Time Objective (RTO) for token issuance and directory reads and in the order of minutes (~5 minutes) RTO for directory writes. Viene anche mantenuto un obiettivo del punto di ripristino (RPO, Recovery Point Objective) pari a zero e non si verificheranno perdite di dati in caso di failover.We also maintain zero Recovery Point Objective (RPO) and will not lose data on failovers.

Data centerData centers

Le repliche di Azure AD vengono archiviate in data center situati in tutto il mondo.Azure AD’s replicas are stored in datacenters located throughout the world. Per altre informazioni, vedere Data center Azure.For more information, see Azure datacenters.

Azure AD opera nei data center con le caratteristiche seguenti:Azure AD operates across data centers with the following characteristics:

  • Autenticazione, Graph e gli altri servizi di AD si trovano dietro il servizio gateway.Authentication, Graph and other AD services reside behind the Gateway service. Il gateway gestisce il bilanciamento del carico di questi servizi.The Gateway manages load balancing of these services. Verrà eseguito il failover automatico se viene rilevato che server non integri usano probe di integrità transazionali.It will failover automatically if any unhealthy servers are detected using transactional health probes. In base a questi probe di integrità, il gateway instrada in modo dinamico il traffico ai data center integri.Based on these health probes, the Gateway dynamically routes traffic to healthy data centers.
  • Per le operazioni di lettura, la directory ha repliche secondarie e servizi front-end corrispondenti in una configurazione attiva/attiva che operano in più data center.For reads, the directory has secondary replicas and corresponding front-end services in an active-active configuration operating in multiple data centers. In caso di errore di un intero data center, il traffico verrà automaticamente instradato a un altro data center.In case of a failure of an entire data center, traffic will be automatically routed to a different datacenter.
  • Per le operazioni di scrittura, la directory eseguirà il failover della replica primaria (master) nei data center tramite procedure di failover pianificate (la nuova replica primaria viene sincronizzata con quella precedente) o di emergenza.For writes, the directory will failover primary (master) replica across data centers via planned (new primary is synchronized to old primary) or emergency failover procedures. La durabilità dei dati si ottiene replicando i commit in almeno due data center.Data durability is achieved by replicating any commit to at least two data centers.

Coerenza dei datiData consistency

Il modello della directory si basa sulla coerenza finale.The directory model is one of eventual consistency. Un problema tipico dei sistemi distribuiti che eseguono la replica asincrona è che i dati restituiti da una "particolare" replica potrebbero non essere aggiornati.One typical problem with distributed asynchronously replicating systems is that the data returned from a “particular” replica may not be up to date.

Azure AD offre la coerenza in lettura/scrittura per le applicazioni che specificano come destinazione una replica secondaria instradandone le operazioni di scrittura alla replica primaria ed effettuando di nuovo il pull sincrono delle operazioni di scrittura alla replica secondaria.Azure AD provides read-write consistency for applications targeting a secondary replica by routing its writes to the primary replica, and synchronously pulling the writes back to the secondary replica.

Per le operazioni di scrittura delle applicazioni che usano l'API Graph di Azure AD non è necessario mantenere l'affinità con la replica di una directory per la coerenza in lettura/scrittura.Application writes using the Graph API of Azure AD are abstracted from maintaining affinity to a directory replica for read-write consistency. Il servizio Graph di Azure AD gestisce una sessione logica, che è affine a una replica secondaria usata per le operazioni di lettura. L'affinità viene acquisita in un "token di replica" che il servizio Graph memorizza usando una cache distribuita.The Azure AD Graph service maintains a logical session, which has affinity to a secondary replica used for reads; affinity is captured in a “replica token” that the graph service caches using a distributed cache. Questo token viene quindi usato per le operazioni successive nella stessa sessione logica.This token is then used for subsequent operations in the same logical session.

Nota

Le operazioni di scrittura vengono immediatamente replicate nella replica secondaria in cui sono state rilasciate le operazioni di lettura della sessione logica.Writes are immediately replicated to the secondary replica to which the logical session's reads were issued.

Protezione dei backupBackup protection

La directory implementa le eliminazioni temporanee, invece delle eliminazioni definitive, per poter ripristinare facilmente utenti e tenant in caso di eliminazione accidentale da parte di un cliente.The directory implements soft deletes, instead of hard deletes, for users and tenants for easy recovery in case of accidental deletes by a customer. Se l'amministratore tenant elimina accidentalmente un utente, può facilmente annullare l'operazione e ripristinare l'utente eliminato.If your tenant administrator accidently deletes users, they can easily undo and restore the deleted users.

Azure AD implementa backup giornalieri di tutti i dati e quindi può ripristinare autorevolmente i dati in caso di eliminazioni logiche o danneggiamenti.Azure AD implements daily backups of all data, and therefore can authoritatively restore data in case of any logical deletions or corruptions. Il livello dati usa i codici di correzione degli errori e può quindi verificare la presenza di errori e correggere automaticamente determinati tipi di errori del disco.Our data tier employs error correcting codes, so that it can check for errors and automatically correct particular types of disk errors.

Metriche e monitoraggioMetrics and monitors

L'esecuzione di un servizio a disponibilità elevata richiede funzionalità di monitoraggio e metriche di alto livello.Running a high availability service requires world-class metrics and monitoring capabilities. Azure AD analizza e segnala ininterrottamente le principali metriche sull'integrità del servizio e i criteri di successo per ogni servizio.Azure AD continually analyzes and reports key service health metrics and success criteria for each of its services. Vengono continuamente sviluppate e ottimizzate metriche e funzionalità di monitoraggio e avviso per ogni scenario, in ogni singolo servizio di Azure AD e nell'insieme di tutti i servizi.We continuously develop and tune metrics, monitoring and alerting for each scenario, within each Azure AD service and across all services.

Se un servizio di Azure AD non funziona come previsto, si interviene immediatamente per ripristinare la funzionalità il prima possibile.If any Azure AD service is not working as expected, we immediately take action to restore functionality as quickly as possible. La metrica più importante di cui Azure AD tiene traccia è la velocità con cui è possibile rilevare e attenuare un problema del cliente o del sito Web.The most important metric Azure AD tracks is how quickly we can detect and mitigate a customer or live site issue. Vengono effettuati considerevoli investimenti nelle funzionalità di monitoraggio e avviso per ridurre al minimo i tempi di rilevamento (obiettivo per il tempo di rilevamento: < 5 minuti) e nella conformità operativa per ridurre al minimo i tempi di attenuazione (obiettivo per il tempo di attenuazione: < 30 minuti).We invest heavily in monitoring and alerts to minimize time to detect (TTD Target: <5 minutes) and operational readiness to minimize time to mitigate (TTM Target: <30 minutes).

Operazioni sicureSecure operations

Vengono usati controlli operativi, ad esempio Multi-Factor Authentication (MFA), per tutte le operazioni, oltre al controllo di tutte le operazioni.We employ operational controls such as multi-factor authentication (MFA) for any operation, as well as auditing of all operations. Viene anche usato un sistema di elevazione JIT per concedere l'accesso temporaneo necessario per eventuali attività operative su richiesta su base regolare.In addition, we use a just-in-time elevation system to grant necessary temporary access for any operational task-on-demand on an ongoing basis. Per altre informazioni, vedere Il cloud attendibile.For more information, see The Trusted Cloud.

Passaggi successiviNext steps

Guida per gli sviluppatori di Azure Active DirectoryAzure Active Directory developer's guide