Implementare la sincronizzazione password con il servizio di sincronizzazione Azure AD ConnectImplement password synchronization with Azure AD Connect sync

Questo articolo contiene le informazioni necessarie per sincronizzare le password utente da un'istanza di Active Directory locale a un'istanza di Azure Active Directory (Azure AD) basata sul cloud.This article provides information that you need to synchronize your user passwords from an on-premises Active Directory instance to a cloud-based Azure Active Directory (Azure AD) instance.

Informazioni sulla sincronizzazione passwordWhat is password synchronization

La probabilità di restare bloccati e di non poter portare a termine il proprio lavoro per aver dimenticato una password è proporzionale al numero di password diverse che è necessario ricordare.The probability that you're blocked from getting your work done due to a forgotten password is related to the number of different passwords you need to remember. Più password si devono ricordare, maggiore sarà la probabilità di dimenticarne una.The more passwords you need to remember, the higher the probability to forget one. Le domande e le chiamate relative alla reimpostazione della password e ad altri problemi correlati impegnano la maggior parte delle risorse di supporto tecnico.Questions and calls about password resets and other password-related issues demand the most helpdesk resources.

La sincronizzazione password è una funzionalità usata per sincronizzare le password utente da un'istanza di Active Directory locale a un'istanza di Azure AD basata sul cloud.Password synchronization is a feature used to synchronize user passwords from an on-premises Active Directory instance to a cloud-based Azure AD instance. Usare questa funzionalità per accedere a servizi di Azure AD come Office 365, Microsoft Intune, CRM Online e Azure Active Directory Domain Services.Use this feature to sign in to Azure AD services like Office 365, Microsoft Intune, CRM Online, and Azure Active Directory Domain Services (Azure AD DS). Per accedere al servizio, è necessario usare la stessa password usata per accedere all'istanza di Active Directory locale.You sign in to the service by using the same password you use to sign in to your on-premises Active Directory instance.

Cos'è Azure AD Connect

La riduzione del numero di password permette agli utenti di mantenerne una sola.By reducing the number of passwords, your users need to maintain to just one. La sincronizzazione password permette di:Password synchronization helps you to:

  • Migliorare la produttività degli utenti.Improve the productivity of your users.
  • Ridurre i costi del supporto tecnico.Reduce your helpdesk costs.

Inoltre, se si decide di usare la federazione con Active Directory Federation Services (AD FS), è possibile configurare la sincronizzazione password come backup in caso di errore dell'infrastruttura di AD FS.Also, if you decide to use Federation with Active Directory Federation Services (AD FS), you can optionally set up password synchronization as a backup in case your AD FS infrastructure fails.

La sincronizzazione password è un'estensione della funzionalità di sincronizzazione della directory implementata dal relativo servizio Azure AD Connect. Per usare la sincronizzazione password nel proprio ambiente, è necessario:Password synchronization is an extension to the directory synchronization feature implemented by Azure AD Connect sync. To use password synchronization in your environment, you need to:

  • Installare Azure AD Connect.Install Azure AD Connect.
  • Configurare la sincronizzazione della directory tra l'istanza di Active Directory locale e l'istanza di Azure Active Directory.Configure directory synchronization between your on-premises Active Directory instance and your Azure Active Directory instance.
  • Abilitare la sincronizzazione password.Enable password synchronization.

Per altri dettagli, vedere Integrazione delle identità locali con Azure Active Directory.For more details, see Integrating your on-premises identities with Azure Active Directory.

Nota

Per altre informazioni su Azure Active Directory Domain Services configurato per FIPS e la sincronizzazione password, vedere "Sincronizzazione password e FIPS" più avanti in questo articolo.For more details about Azure Active Directory Domain Services configured for FIPS and password synchronization, see "Password synchronization and FIPS" later in this article.

Funzionamento della sincronizzazione passwordHow password synchronization works

Active Directory Domain Services archivia le password sotto forma di valore hash dell'effettiva password utente.The Active Directory domain service stores passwords in the form of a hash value representation of the actual user password. Un valore hash è il risultato di una funzione matematica unidirezionale, chiamata algoritmo di hash.A hash value is a result of a one-way mathematical function (the hashing algorithm). Non esiste un metodo per ripristinare la versione in testo normale di una password dal risultato di una funzione unidirezionale.There is no method to revert the result of a one-way function to the plain text version of a password. Non è possibile usare l'hash della password per accedere alla rete locale.You cannot use a password hash to sign in to your on-premises network.

Per sincronizzare la password, il servizio di sincronizzazione Azure AD Connect estrae l'hash della password dall'istanza di Active Directory locale.To synchronize your password, Azure AD Connect sync extracts your password hash from the on-premises Active Directory instance. All'hash della password viene applicata un'elaborazione di sicurezza aggiuntiva prima della sincronizzazione con il servizio di autenticazione di Azure Active Directory.Extra security processing is applied to the password hash before it is synchronized to the Azure Active Directory authentication service. Le password vengono sincronizzate per ogni singolo utente e in ordine cronologico.Passwords are synchronized on a per-user basis and in chronological order.

L'effettivo flusso di dati del processo di sincronizzazione password è simile alla sincronizzazione degli dati utente come il nome visualizzato o gli indirizzi di posta elettronica.The actual data flow of the password synchronization process is similar to the synchronization of user data such as DisplayName or Email Addresses. Le password vengono tuttavia sincronizzate con una frequenza maggiore rispetto alla finestra di sincronizzazione standard della directory per altri attributi.However, passwords are synchronized more frequently than the standard directory synchronization window for other attributes. Il processo di sincronizzazione password viene eseguito ogni 2 minuti.The password synchronization process runs every 2 minutes. Non è possibile modificare la frequenza del processo.You cannot modify the frequency of this process. Se si sincronizza una password, la password sincronizzata sovrascrive quella esistente nel cloud.When you synchronize a password, it overwrites the existing cloud password.

Quando si abilita la funzionalità di sincronizzazione password per la prima volta, viene eseguita una sincronizzazione iniziale delle password di tutti gli utenti inclusi nell'ambito.The first time you enable the password synchronization feature, it performs an initial synchronization of the passwords of all in-scope users. Non è possibile definire in modo esplicito un subset di password utente da sincronizzare.You cannot explicitly define a subset of user passwords that you want to synchronize.

Quando si modifica una password locale, la password aggiornata viene sincronizzata, spesso in pochi minuti.When you change an on-premises password, the updated password is synchronized, most often in a matter of minutes. In caso di sincronizzazioni non riuscite, la funzionalità di sincronizzazione password esegue anche automaticamente nuovi tentativi di sincronizzazione.The password synchronization feature automatically retries failed synchronization attempts. Se si verifica un errore durante un tentativo di sincronizzazione di una password, viene registrato un errore nel visualizzatore eventi.If an error occurs during an attempt to synchronize a password, an error is logged in your event viewer.

La sincronizzazione di una password non ha alcun impatto sull'utente attualmente connesso.The synchronization of a password has no impact on the user who is currently signed in. Se si modifica una password sincronizzata dopo aver eseguito l'accesso a un servizio cloud, la sessione corrente del servizio cloud non è immediatamente interessata.Your current cloud service session is not immediately affected by a synchronized password change that occurs while you are signed in to a cloud service. Tuttavia, quando il servizio cloud richiede di nuovo l'autenticazione, è necessario specificare la nuova password.However, when the cloud service requires you to authenticate again, you need to provide your new password.

Un utente deve immettere le proprie credenziali aziendali una seconda volta per l'autenticazione in Azure AD, indipendentemente dal fatto che abbia effettuato l'accesso alla rete aziendale.A user must enter their corporate credentials a second time to authenticate to Azure AD, regardless of whether they're signed in to their corporate network. Questo modello può essere ridotto al minimo se al momento dell'accesso l'utente seleziona la casella di controllo Mantieni l'accesso.These pattern can be minimized, however, if the user selects the Keep me signed in (KMSI) check box at sign in. La selezione di questa opzione imposta un cookie di sessione che permette di ignorare l'autenticazione per un breve periodo.This selection sets a session cookie that bypasses authentication for a short period. Il comportamento dell'opzione Mantieni l'accesso può essere abilitato o disabilitato dall'amministratore di Azure AD.KMSI behavior can be enabled or disabled by the Azure AD administrator.

Nota

La sincronizzazione delle password è supportata solo per l'utente del tipo di oggetto in Active Directory.Password sync is only supported for the object type user in Active Directory. Non è supportata per il tipo di oggetto iNetOrgPerson.It is not supported for the iNetOrgPerson object type.

Descrizione dettagliata del funzionamento della sincronizzazione passwordDetailed description of how password synchronization works

Di seguito viene descritto in dettaglio il funzionamento della sincronizzazione password tra Active Directory e Azure AD.The following describes in-depth how password synchronization works between Active Directory and Azure AD.

Flusso dettagliato della sincronizzazione password

  1. Ogni due minuti, l'agente di sincronizzazione password nel server di AD Connect richiede gli hash delle password archiviate (attributo unicodePwd) da un controller di dominio tramite il protocollo di replica MS-DRSR standard usato per sincronizzare i dati tra i controller di dominio.Every two minutes, the password synchronization agent on the AD Connect server requests stored password hashes (the unicodePwd attribute) from a DC via the standard MS-DRSR replication protocol used to synchronize data between DCs. L'account di servizio deve disporre delle autorizzazioni di Azure AD Replica modifiche directory e Replica modifiche directory - Tutto (concesse per impostazione predefinita in fase di installazione) per ottenere gli hash delle password.The service account must have Replicate Directory Changes and Replicate Directory Changes All AD permissions (granted by default on installation) to obtain the password hashes.
  2. Prima dell'invio, il controller di dominio crittografa l'hash della password MD4 tramite una chiave corrispondente a un hash MD5 della chiave di sessione RPC e a un valore salt.Before sending, the DC encrypts the MD4 password hash by using a key that is a MD5 hash of the RPC session key and a salt. Invia quindi il risultato dell'agente di sincronizzazione password tramite RPC.It then sends the result to the password synchronization agent over RPC. Il controller di dominio passa inoltre il valore salt all'agente di sincronizzazione usando il protocollo di replica del controller di dominio, in modo che l'agente sia in grado di decrittografare la busta.The DC also passes the salt to the synchronization agent by using the DC replication protocol, so the agent will be able to decrypt the envelope.
  3. Dopo che l'agente di sincronizzazione password ha ottenuto la busta crittografata, usa MD5CryptoServiceProvider e il valore salt per generare una chiave per decrittografare i dati ricevuti riportandoli nel formato MD4 originale.After the password synchronization agent has the encrypted envelope, it uses MD5CryptoServiceProvider and the salt to generate a key to decrypt the received data back to its original MD4 format. In nessun momento l'agente di sincronizzazione password ha accesso alla password non crittografata.At no point does the password synchronization agent have access to the clear text password. L'uso di MD5 da parte dell'agente di sincronizzazione password è esclusivamente per la compatibilità del protocollo di replica con il controller di dominio e viene usato solo in locale tra il controller di dominio e l'agente di sincronizzazione password.The password synchronization agent’s use of MD5 is strictly for replication protocol compatibility with the DC, and it is only used on premises between the DC and the password synchronization agent.
  4. L'agente di sincronizzazione password espande l'hash della password binario a 16 byte in 64 byte convertendo per prima cosa l'hash in una stringa esadecimale a 32 byte e quindi riconvertendo questa stessa stringa in formato binario con la codifica UTF-16.The password synchronization agent expands the 16-byte binary password hash to 64 bytes by first converting the hash to a 32-byte hexadecimal string, then converting this string back into binary with UTF-16 encoding.
  5. L'agente di sincronizzazione password aggiunge un valore salt lungo 10 byte al file binario a 64 byte per proteggere ulteriormente l'hash originale.The password synchronization agent adds a salt, consisting of a 10-byte length salt, to the 64-byte binary to further protect the original hash.
  6. L'agente di sincronizzazione password combina quindi l'hash MD4 con il valore salt e li inserisce nella funzione PBKDF2.The password synchronization agent then combines the MD4 hash plus salt, and inputs it into the PBKDF2 function. Vengono usate 1000 iterazioni dell'algoritmo di hash con chiave HMAC-SHA256.1000 iterations of the HMAC-SHA256 keyed hashing algorithm is used.
  7. L'agente di sincronizzazione password concatena all'hash a 32 byte risultante sia il valore salt sia il numero di iterazioni SHA256 (per l'uso con Azure AD) e quindi trasmette la stringa da Azure AD Connect ad Azure AD tramite SSL.The password synchronization agent takes the resulting 32-byte hash, concatenates both the salt and the number of SHA256 iterations to it (for use by Azure AD), then transmits the string from Azure AD Connect to Azure AD over SSL.
  8. Quando un utente prova ad accedere ad Azure AD e immette la password, la password viene eseguita tramite lo stesso processo MD4 + valore salt + PBKDF2 + HMAC-SHA256.When a user attempts to sign in to Azure AD and enters their password, the password is run through the same MD4+salt+PBKDF2+HMAC-SHA256 process. Se l'hash risultante corrisponde all'hash archiviato in Azure AD, l'utente ha immesso la password corretta e viene autenticato.If the resulting hash matches the hash stored in Azure AD, the user has entered the correct password and is authenticated.

Nota

L'hash MD4 originale non viene trasmesso ad Azure AD.The original MD4 hash is not transmitted to Azure AD. Viene invece trasmesso l'hash SHA256 dell'hash MD4 originale.Instead, the SHA256 hash of the original MD4 hash is transmitted. Di conseguenza, se si riesce a ottenere l'hash archiviato in Azure AD, questo non può essere usato in un attacco di tipo Pass-the-Hash locale.As a result, if the hash stored in Azure AD is obtained, it cannot be used in an on-premises pass-the-hash attack.

Funzionamento della sincronizzazione password con Azure Active Directory Domain ServicesHow password synchronization works with Azure Active Directory Domain Services

È possibile usare la funzionalità di sincronizzazione password per sincronizzare le password locali con Azure Active Directory Domain Services.You can also use the password synchronization feature to synchronize your on-premises passwords to Azure Active Directory Domain Services. In questo scenario l'istanza di Azure Active Directory Domain Services autentica gli utenti nel cloud con tutti i metodi disponibili nell'istanza di Active Directory locale.In this scenario, the Azure Active Directory Domain Services instance authenticates your users in the cloud with all the methods available in your on-premises Active Directory instance. L'esperienza di questo scenario è simile all'uso dell'Utilità di migrazione ad Active Directory (ADMT) in un ambiente locale.The experience of this scenario is similar to using the Active Directory Migration Tool (ADMT) in an on-premises environment.

Considerazioni relative alla sicurezzaSecurity considerations

Quando si sincronizzano le password, la versione in testo normale della password non viene esposta alla funzionalità di sincronizzazione password, né ad Azure AD o a qualsiasi servizio associato.When synchronizing passwords, the plain-text version of your password is not exposed to the password synchronization feature, to Azure AD, or any of the associated services.

L'autenticazione utente viene eseguita in Azure AD e non nell'istanza di Active Directory dell'organizzazione.User authentication takes place against Azure AD rather than against the organization's own Active Directory instance. Se l'organizzazione teme che la trasmissione dei dati relativi alle password all'esterno dell'organizzazione possa creare problemi, tenere presente che i dati delle password SHA256 archiviati in Azure AD, ovvero un hash dell'hash MD4 originale, sono notevolmente più sicuri rispetto a quello che viene archiviato in Active Directory.If your organization has concerns about password data in any form leaving the premises, consider the fact that the SHA256 password data stored in Azure AD--a hash of the original MD4 hash--is significantly more secure than what is stored in Active Directory. Inoltre, dal momento che questo hash SHA256 non può essere decrittografato, non potrà essere ripresentato nell'ambiente Active Directory dell'organizzazione come una password utente valida in un attacco di tipo Pass-the-Hash.Further, because this SHA256 hash cannot be decrypted, it cannot be brought back to the organization's Active Directory environment and presented as a valid user password in a pass-the-hash attack.

Considerazioni relative ai criteri passwordPassword policy considerations

L'abilitazione della sincronizzazione password influisce su due tipi di criteri password:There are two types of password policies that are affected by enabling password synchronization:

  • Criteri di complessità delle passwordPassword complexity policy
  • Criteri di scadenza delle passwordPassword expiration policy

Criteri di complessità delle passwordPassword complexity policy

Quando la sincronizzazione password è abilitata, i criteri di complessità delle password presenti nell'istanza di Active Directory locale sostituiscono i criteri di complessità definiti nel cloud per gli utenti sincronizzati.When password synchronization is enabled, the password complexity policies in your on-premises Active Directory instance override complexity policies in the cloud for synchronized users. È possibile usare tutte le password valide dell'istanza di Active Directory locale per accedere ai servizi Azure AD.You can use all of the valid passwords from your on-premises Active Directory instance to access Azure AD services.

Nota

Le password degli utenti create direttamente nel cloud restano soggette ai criteri password definiti nel cloud.Passwords for users that are created directly in the cloud are still subject to password policies as defined in the cloud.

Criteri di scadenza delle passwordPassword expiration policy

Se un utente è incluso nell'ambito della sincronizzazione password, la password dell'account cloud viene impostata su Non scade mai.If a user is in the scope of password synchronization, the cloud account password is set to Never Expire.

È possibile continuare ad accedere ai servizi cloud usando una password sincronizzata che è in realtà scaduta nell'ambiente locale.You can continue to sign in to your cloud services by using a synchronized password that is expired in your on-premises environment. La password cloud viene aggiornata alla modifica successiva della password nell'ambiente locale.Your cloud password is updated the next time you change the password in the on-premises environment.

Scadenza dell'accountAccount expiration

Se l'organizzazione usa l'attributo accountExpires come parte della gestione degli account utente, tenere presente che questo attributo non viene sincronizzato con Azure AD.If your organization uses the accountExpires attribute as part of user account management, be aware that this attribute is not synchronized to Azure AD. Di conseguenza, un account Active Directory scaduto in un ambiente configurato per la sincronizzazione password continuerà a essere attivo in Azure AD.As a result, an expired Active Directory account in an environment configured for password synchronization will still be active in Azure AD. Se l'account è scaduto, è consigliabile fare in modo che un'azione del flusso di lavoro attivi uno script di PowerShell per disabilitare l'account Azure AD dell'utente.We recommend that if the account is expired, a workflow action should trigger a PowerShell script that disables the user's Azure AD account. Al contrario, quando l'account è attivato, è necessario attivare anche l'istanza di Azure AD.Conversely, when the account is turned on, the Azure AD instance should be turned on.

Sovrascrivere password sincronizzateOverwrite synchronized passwords

Un amministratore può reimpostare manualmente la password usando Windows PowerShell.An administrator can manually reset your password by using Windows PowerShell.

In questo caso, la password sincronizzata viene sostituita dalla nuova password, a cui si applicano tutti i criteri password definiti nel cloud.In this case, the new password overrides your synchronized password, and all password policies defined in the cloud are applied to the new password.

Se si modifica di nuovo la password locale, la nuova password viene sincronizzata nel cloud e sostituisce la password aggiornata manualmente.If you change your on-premises password again, the new password is synchronized to the cloud, and it overrides the manually updated password.

La sincronizzazione di una password non ha alcun impatto sull'utente di Azure connesso.The synchronization of a password has no impact on the Azure user who is signed in. Se si modifica una password sincronizzata dopo aver eseguito l'accesso a un servizio cloud, questa operazione non ha un impatto immediato sulla sessione corrente del servizio cloud.Your current cloud service session is not immediately affected by a synchronized password change that occurs while you're signed in to a cloud service. L'opzione Mantieni l'accesso estende la durata in base a questa differenza.KMSI extends the duration of this difference. Quando il servizio cloud richiede di nuovo l'autenticazione, è necessario specificare la nuova password.When the cloud service requires you to authenticate again, you need to provide your new password.

Vantaggi aggiuntiviAdditional advantages

  • In genere, la sincronizzazione password è più semplice da implementare rispetto a un servizio federativo.Generally, password synchronization is simpler to implement than a federation service. Non richiede altri server e permette di eliminare la dipendenza da un servizio federativo a disponibilità elevata per l'autenticazione degli utenti.It doesn't require any additional servers, and eliminates dependence on a highly available federation service to authenticate users.
  • La sincronizzazione password può anche essere abilitata in aggiunta alla federazione.Password synchronization can also be enabled in addition to federation. Può inoltre essere usata come fallback in caso di interruzione del servizio federativo.It may be used as a fallback if your federation service experiences an outage.

Abilitare la sincronizzazione passwordEnable password synchronization

Quando si installa Azure AD Connect usando l'opzione Impostazioni rapide, la sincronizzazione password viene automaticamente abilitata.When you install Azure AD Connect by using the Express Settings option, password synchronization is automatically enabled. Per altre informazioni dettagliate, vedere Introduzione alle impostazioni rapide per Azure AD Connect.For more details, see Getting started with Azure AD Connect using express settings.

Se si usano impostazioni personalizzate quando si installa Azure AD Connect, la sincronizzazione password è disponibile nella pagina di accesso dell'utente.If you use custom settings when you install Azure AD Connect, password synchronization is available on the user sign-in page. Per altre informazioni dettagliate, vedere Installazione personalizzata di Azure AD Connect.For more details, see Custom installation of Azure AD Connect.

Abilitazione della sincronizzazione password

Sincronizzazione password e FIPSPassword synchronization and FIPS

Se il server è stato bloccato in conformità allo standard FIPS (Federal Information Processing Standard), MD5 è disabilitato.If your server has been locked down according to Federal Information Processing Standard (FIPS), then MD5 is disabled.

Per abilitare MD5 per la sincronizzazione password, seguire questa procedura:To enable MD5 for password synchronization, perform the following steps:

  1. Passare a %programmi%\Azure AD Sync\Bin.Go to %programfiles%\Azure AD Sync\Bin.
  2. Aprire miiserver.exe.config.Open miiserver.exe.config.
  3. Passare al nodo configuration/runtime alla fine del file.Go to the configuration/runtime node at the end of the file.
  4. Aggiungere il nodo seguente: <enforceFIPSPolicy enabled="false"/>Add the following node: <enforceFIPSPolicy enabled="false"/>
  5. Salvare le modifiche.Save your changes.

Come riferimento, il frammento di codice dovrà essere simile al seguente:For reference, this snippet is what it should look like:

    <configuration>
        <runtime>
            <enforceFIPSPolicy enabled="false"/>
        </runtime>
    </configuration>

Per informazioni sulla sicurezza e su FIPS, vedere AAD Password Sync, encryption and FIPS compliance (Sincronizzazione password, crittografia e conformità con FIPS di Azure AD).For information about security and FIPS, see AAD Password Sync, encryption and FIPS compliance.

Risolvere i problemi di sincronizzazione passwordTroubleshoot password synchronization

In caso di problemi di sincronizzazione password, vedere Risolvere i problemi di sincronizzazione delle password.If you have problems with password synchronization, see Troubleshoot password synchronization.

Passaggi successiviNext steps