Implémenter la synchronisation de hachage de mot de passe avec la synchronisation Azure AD ConnectImplement password hash synchronization with Azure AD Connect sync

Cet article vous fournit les informations nécessaires pour synchroniser vos mots de passe utilisateur à partir d’une instance Active Directory (AD) locale vers une instance Azure Active Directory (Azure AD) dans le 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.

Fonctionnement de la synchronisation de hachage de mot de passeHow password hash synchronization works

Le service de domaine Active Directory stocke les mots de passe sous forme de valeur de hachage du mot de passe réel de l’utilisateur.The Active Directory domain service stores passwords in the form of a hash value representation, of the actual user password. Une valeur de hachage est le résultat d’une fonction mathématique unidirectionnelle (« algorithme de hachage »).A hash value is a result of a one-way mathematical function (the hashing algorithm). Il n’existe aucune méthode pour retrouver la version en texte brut du mot de passe à partir du résultat d’une fonction unidirectionnelle.There is no method to revert the result of a one-way function to the plain text version of a password.

Pour synchroniser votre mot de passe, Azure AD Connect Sync extrait le hachage de votre mot de passe à partir de l’instance Active Directory local.To synchronize your password, Azure AD Connect sync extracts your password hash from the on-premises Active Directory instance. Un traitement de sécurité supplémentaire est appliqué au hachage du mot de passe avant sa synchronisation avec le service d’authentification Azure Active Directory.Extra security processing is applied to the password hash before it is synchronized to the Azure Active Directory authentication service. Les mots de passe sont synchronisés pour chaque utilisateur et par ordre chronologique.Passwords are synchronized on a per-user basis and in chronological order.

Le flux de données réel du processus de synchronisation du hachage de mot de passe est similaire à celui de la synchronisation des données de l’utilisateur.The actual data flow of the password hash synchronization process is similar to the synchronization of user data. Cependant, les mots de passe sont synchronisés plus fréquemment que la fenêtre de synchronisation d’annuaire standard pour d’autres attributs.However, passwords are synchronized more frequently than the standard directory synchronization window for other attributes. Le processus de hachage de synchronisation de mot de passe s’exécute toutes les deux minutes.The password hash synchronization process runs every 2 minutes. Vous ne pouvez pas modifier la fréquence de ce processus.You cannot modify the frequency of this process. Quand vous synchronisez un mot de passe, il remplace le mot de passe cloud existant.When you synchronize a password, it overwrites the existing cloud password.

La première fois que vous activez la fonctionnalité de synchronisation de hachage de mot de passe, elle effectue une synchronisation initiale des mots de passe de tous les utilisateurs concernés.The first time you enable the password hash synchronization feature, it performs an initial synchronization of the passwords of all in-scope users. Vous ne pouvez pas définir explicitement un sous-ensemble de mots de passe utilisateur à synchroniser.You cannot explicitly define a subset of user passwords that you want to synchronize. Toutefois, s’il y a plusieurs connecteurs, il est possible de désactiver la synchronisation du hachage de mot de passe pour certains connecteurs, mais pas pour d’autres, à l’aide de l’applet de commande Set-ADSyncAADPasswordSyncConfiguration.However, if there are multiple connectors, it is possible to disable password hash sync for some connectors but not others using the Set-ADSyncAADPasswordSyncConfiguration cmdlet.

Lorsque vous modifiez un mot de passe local, le mot de passe mis à jour est synchronisé, plus souvent en quelques minutes.When you change an on-premises password, the updated password is synchronized, most often in a matter of minutes. La fonctionnalité de synchronisation de hachage de mot de passe tente automatiquement d’effectuer à nouveau les tentatives de synchronisation ayant échoué.The password hash synchronization feature automatically retries failed synchronization attempts. Si une erreur se produit lors d’une tentative de synchronisation de mot de passe, une erreur est enregistrée dans l’Observateur d’événements.If an error occurs during an attempt to synchronize a password, an error is logged in your event viewer.

La synchronisation d’un mot de passe n’a aucun impact sur l’utilisateur actuellement connecté.The synchronization of a password has no impact on the user who is currently signed in. La session en cours n’est pas immédiatement affectée par une modification du mot de passe synchronisé effectuée tout en étant connecté à un service cloud.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. Toutefois, lorsque le service cloud vous oblige à vous authentifier à nouveau, vous devez fournir votre nouveau mot de passe.However, when the cloud service requires you to authenticate again, you need to provide your new password.

Un utilisateur doit entrer ses informations d’identification d’entreprise une deuxième fois pour s’authentifier auprès d’Azure AD, qu’il soit connecté à son réseau d’entreprise ou non.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. Ce modèle peut être réduit, cependant, si l’utilisateur coche la case « Maintenir la connexion » lors de la connexion.This pattern can be minimized, however, if the user selects the Keep me signed in (KMSI) check box at sign-in. Cette sélection définit un cookie de session qui ignore l’authentification pendant 180 jours.This selection sets a session cookie that bypasses authentication for 180 days. Le comportement KMSI peut être activé ou désactivé par l’administrateur Azure AD.KMSI behavior can be enabled or disabled by the Azure AD administrator. De plus, vous pouvez réduire les invites de mot de passe en activant l’authentification unique invisible qui connecte automatiquement les utilisateurs utilisant des appareils d’entreprise connectés au réseau de l’entreprise.In addition, you can reduce password prompts by turning on Seamless SSO, which automatically signs users in when they are on their corporate devices connected to your corporate network.

Nota

La synchronisation de mot de passe est uniquement prise en charge pour l'utilisateur de type d'objet dans Active Directory.Password sync is only supported for the object type user in Active Directory. Elle n'est pas prise en charge pour le type d'objet iNetOrgPerson.It is not supported for the iNetOrgPerson object type.

Description détaillée du fonctionnement de la synchronisation de hachage de mot de passeDetailed description of how password hash synchronization works

La section suivante explique en détail comment fonctionne la synchronisation du hachage de mot de passe entre Active Directory et Azure AD.The following section describes, in-depth, how password hash synchronization works between Active Directory and Azure AD.

Flux de travail détaillé des mots de passe

  1. Toutes les deux minutes, l’agent de synchronisation du hachage de mot de passe qui se trouve sur le serveur AD Connect demande des hachages de mots de passe stockés (l’attribut unicodePwd) à un contrôleur de domaine.Every two minutes, the password hash synchronization agent on the AD Connect server requests stored password hashes (the unicodePwd attribute) from a DC. Cette demande utilise le protocole de réplication MS-DRSR permettant de synchroniser les données entre les contrôleurs de domaine.This request is via the standard MS-DRSR replication protocol used to synchronize data between DCs. Le compte de service doit disposer des autorisations Répliquer les changements d’annuaires et Répliquer les changements d’annuaire Tout d’Active Directory (accordées par défaut lors de l’installation) pour obtenir les hachages de mot de passe.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. Avant l’envoi, le contrôleur de domaine chiffre le hachage de mot de passe MD4 à l’aide d’une clé qui est un hachage MD5 de la clé de session RPC et un 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. Il envoie ensuite le résultat à l’agent de synchronisation de hachage de mot de passe via RPC.It then sends the result to the password hash synchronization agent over RPC. Le contrôleur de domaine passe également le salt à l’agent de synchronisation à l’aide du protocole de réplication du contrôleur de domaine, pour que l’agent puisse déchiffrer l’enveloppe.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. Une fois que l’agent de synchronisation de hachage de mot de passe dispose de l’enveloppe chiffrée, il utilise MD5CryptoServiceProvider et le salt pour générer une clé afin de déchiffrer les données reçues dans leur format MD4 d’origine.After the password hash 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. L’agent de synchronisation du hachage de mot de passe n’a jamais accès au mot de passe en texte clair.The password hash synchronization agent never has access to the clear text password. L’utilisation de MD5 par l’agent de synchronisation de hachage de mot de passe est strictement destinée à assurer la compatibilité du protocole de réplication avec le contrôleur de domaine, et uniquement en local entre le contrôleur de domaine et l’agent de synchronisation de hachage de mot de passe.The password hash 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 hash synchronization agent.
  4. L’agent de synchronisation de hachage de mot de passe étend le hachage de mot de passe binaire de 16 octets à 64 octets en convertissant d’abord le hachage en chaîne hexadécimale de 32 octets, puis en reconvertissant cette chaîne au format binaire avec l’encodage UTF-16.The password hash 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’agent de synchronisation de hachage de mot de passe ajoute pour chaque utilisateur un salt de 10 octets de long au fichier binaire de 64 octets pour renforcer la protection du hachage d’origine.The password hash synchronization agent adds a per user salt, consisting of a 10-byte length salt, to the 64-byte binary to further protect the original hash.
  6. L’agent de synchronisation de hachage de mot de passe combine alors le hachage MD4 et le salt par utilisateur, puis place le tout dans la fonction PBKDF2.The password hash synchronization agent then combines the MD4 hash plus the per user salt, and inputs it into the PBKDF2 function. 1 000 itérations de l’algorithme de hachage à clé HMAC-SHA256 sont utilisées.1000 iterations of the HMAC-SHA256 keyed hashing algorithm are used.
  7. L’agent de synchronisation de hachage de mot de passe prend le hachage de 32 octets résultant, concatène le salt par utilisateur et le nombre d’itérations SHA256 (pour une utilisation par Azure AD), puis transmet la chaîne d’Azure AD Connect à Azure AD par TLS.The password hash synchronization agent takes the resulting 32-byte hash, concatenates both the per user 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 TLS.
  8. Lorsqu’un utilisateur tente de se connecter à Azure AD et entre son mot de passe, le mot de passe est traité par le même processus MD4+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. Si le hachage résultant correspond au hachage stocké dans Azure AD, l’utilisateur a entré le bon mot de passe et est authentifié.If the resulting hash matches the hash stored in Azure AD, the user has entered the correct password and is authenticated.

Nota

Le hachage MD4 d’origine n’est pas transmis à Azure AD.The original MD4 hash is not transmitted to Azure AD. Au lieu de cela, le hachage SHA256 du hachage MD4 d’origine est transmis.Instead, the SHA256 hash of the original MD4 hash is transmitted. Par conséquent, si le hachage stocké dans Azure AD est obtenu, il ne peut pas être utilisé dans une attaque de type 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.

Considérations relatives à la sécuritéSecurity considerations

Lors de la synchronisation des mots de passe, la version en texte brut de votre mot de passe n’est exposée ni à la fonctionnalité de synchronisation de hachage de mot de passe, ni à Azure AD, ni à l’un des services associés.When synchronizing passwords, the plain-text version of your password is not exposed to the password hash synchronization feature, to Azure AD, or any of the associated services.

L’authentification de l’utilisateur s’effectue par rapport à Azure AD plutôt que sur l’instance Active Directory de l’organisation.User authentication takes place against Azure AD rather than against the organization's own Active Directory instance. Les données de mot de passe SHA256 stockées dans Azure AD (hachage du hachage MD4 d’origine) sont plus sécurisées que celles qui sont stockées dans Active Directory.The SHA256 password data stored in Azure AD--a hash of the original MD4 hash--is more secure than what is stored in Active Directory. En outre, étant donné que ce hachage SHA256 ne peut pas être déchiffré, il ne peut pas être réimporté dans l’environnement Active Directory de l’organisation et présenté sous la forme d’un mot de passe utilisateur valide dans une attaque de type 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.

Remarques sur les stratégies de mot de passePassword policy considerations

Deux types de stratégies de mot de passe sont affectés par l’activation de la synchronisation de hachage de mot de passe :There are two types of password policies that are affected by enabling password hash synchronization:

  • Stratégie de complexité de mot de passePassword complexity policy
  • Stratégie d’expiration de mot de passePassword expiration policy

Stratégie de complexité de mot de passePassword complexity policy

Quand vous activez la synchronisation de hachage de mot de passe, les stratégies de complexité de mot de passe dans votre instance Active Directory locale remplacent les stratégies de complexité dans le cloud pour les utilisateurs synchronisés.When password hash synchronization is enabled, the password complexity policies in your on-premises Active Directory instance override complexity policies in the cloud for synchronized users. Vous pouvez utiliser tous les mots de passe valides de votre instance Active Directory locale pour accéder aux services Azure AD.You can use all of the valid passwords from your on-premises Active Directory instance to access Azure AD services.

Nota

Les mots de passe des utilisateurs créés directement dans le cloud sont toujours soumis aux stratégies de mot de passe définies dans le cloud.Passwords for users that are created directly in the cloud are still subject to password policies as defined in the cloud.

Stratégie d’expiration de mot de passePassword expiration policy

Si un utilisateur est concerné par la synchronisation de hachage de mot de passe, par défaut le mot de passe de compte cloud est défini sur Ne jamais expirer.If a user is in the scope of password hash synchronization, by default the cloud account password is set to Never Expire.

Vous pouvez continuer à vous connecter aux services cloud à l’aide d’un mot de passe synchronisé qui a expiré dans votre environnement local.You can continue to sign in to your cloud services by using a synchronized password that is expired in your on-premises environment. Votre mot de passe cloud est mis à jour la prochaine fois que vous modifiez le mot de passe dans l’environnement local.Your cloud password is updated the next time you change the password in the on-premises environment.

EnforceCloudPasswordPolicyForPasswordSyncedUsersEnforceCloudPasswordPolicyForPasswordSyncedUsers

S’il existe des utilisateurs synchronisés qui interagissent uniquement avec des services intégrés Azure AD et doivent également respecter une stratégie d’expiration de mot de passe, vous pouvez les forcer à respecter votre stratégie d’expiration de mot de passe Azure AD en activant la fonctionnalité EnforceCloudPasswordPolicyForPasswordSyncedUsers.If there are synchronized users that only interact with Azure AD integrated services and must also comply with a password expiration policy, you can force them to comply with your Azure AD password expiration policy by enabling the EnforceCloudPasswordPolicyForPasswordSyncedUsers feature.

Quand EnforceCloudPasswordPolicyForPasswordSyncedUsers est désactivée (ce qui est le paramètre par défaut), Azure AD Connect affecte la valeur « DisablePasswordExpiration » à l’attribut PasswordPolicies.When EnforceCloudPasswordPolicyForPasswordSyncedUsers is disabled (which is the default setting), Azure AD Connect sets the PasswordPolicies attribute of synchronized users to "DisablePasswordExpiration". Cette action est effectuée chaque fois que le mot de passe d’un utilisateur est synchronisé, et indique à Azure AD qu’il faut ignorer la stratégie d’expiration du mot de passe cloud pour cet utilisateur.This is done every time a user's password is synchronized and instructs Azure AD to ignore the cloud password expiration policy for that user. Vous pouvez vérifier la valeur de l’attribut à l’aide du module Azure AD PowerShell à l’aide de la commande suivante :You can check the value of the attribute using the Azure AD PowerShell module with the following command:

(Get-AzureADUser -objectID <User Object ID>).passwordpolicies

Pour activer la fonctionnalité EnforceCloudPasswordPolicyForPasswordSyncedUsers, exécutez la commande suivante en utilisant le module MSOnline PowerShell, comme illustré ci-dessous.To enable the EnforceCloudPasswordPolicyForPasswordSyncedUsers feature, run the following command using the MSOnline PowerShell module as shown below. Vous devez taper Oui pour le paramètre Activer, comme illustré ci-dessous :You would have to type yes for the Enable parameter as shown below :

Set-MsolDirSyncFeature -Feature EnforceCloudPasswordPolicyForPasswordSyncedUsers
cmdlet Set-MsolDirSyncFeature at command pipeline position 1
Supply values for the following parameters:
Enable: yes
Confirm
Continue with this operation?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y

Une fois la fonctionnalité activée, Azure AD n’accède pas à chaque utilisateur synchronisé pour supprimer la valeur DisablePasswordExpiration de l’attribut PasswordPolicies.Once enabled, Azure AD does not go to each synchronized user to remove the DisablePasswordExpiration value from the PasswordPolicies attribute. Au lieu de cela, la valeur DisablePasswordExpiration est supprimée de PasswordPolicies lors de la synchronisation de hachage de mot de passe suivante pour chaque utilisateur, lors de modification de mot de passe suivante dans l’annuaire Active Directory local.Instead, the DisablePasswordExpiration value is removed from PasswordPolicies during the next password hash sync for each user, upon their next password change in on-premises AD.

Nous vous recommandons d’activer EnforceCloudPasswordPolicyForPasswordSyncedUsers avant d’activer la synchronisation du hachage de mot de passe, afin que la synchronisation initiale du hachage de mot de passe n’ajoute pas la valeur DisablePasswordExpiration à l’attribut PasswordPolicies pour les utilisateurs.It is recommended to enable EnforceCloudPasswordPolicyForPasswordSyncedUsers, prior to enabling password hash sync, so that the initial sync of password hashes does not add the DisablePasswordExpiration value to the PasswordPolicies attribute for the users.

La stratégie de mot de passe Azure AD par défaut oblige les utilisateurs à changer leurs mots de passe tous les 90 jours.The default Azure AD password policy requires users to change their passwords every 90 days. Si votre stratégie dans Active Directory est également de 90 jours, les deux stratégies doivent correspondre.If your policy in AD is also 90 days, the two policies should match. Toutefois, si la stratégie AD n’est pas de 90 jours, vous pouvez mettre à jour la stratégie de mot de passe Azure AD pour qu’elle corresponde à l’aide de la commande PowerShell Set-MsolPasswordPolicy.However, if the AD policy is not 90 days, you can update the Azure AD password policy to match by using the Set-MsolPasswordPolicy PowerShell command.

Azure AD prend en charge une stratégie d’expiration de mot de passe distincte pour chaque domaine inscrit.Azure AD supports a separate password expiration policy per registered domain.

Inconvénient : si des comptes synchronisés doivent avoir des mots de passe sans expiration dans Azure AD, vous devez ajouter explicitement la valeur DisablePasswordExpiration à l’attribut PasswordPolicies de l’objet utilisateur dans Azure AD.Caveat: If there are synchronized accounts that need to have non-expiring passwords in Azure AD, you must explicitly add the DisablePasswordExpiration value to the PasswordPolicies attribute of the user object in Azure AD. Vous pouvez effectuer cette opération en exécutant la commande suivante.You can do this by running the following command.

Set-AzureADUser -ObjectID <User Object ID> -PasswordPolicies "DisablePasswordExpiration"

Nota

La commande PowerShell Set-MsolPasswordPolicy ne fonctionne pas sur les domaines fédérés.The Set-MsolPasswordPolicy PowerShell command will not work on federated domains.

Synchronisation des mots de passe temporaires et « Forcer la modification du mot de passe à la prochaine ouverture de session »Synchronizing temporary passwords and "Force Password Change on Next Logon"

Il est courant de forcer un utilisateur à modifier son mot de passe lors de sa première ouverture de session, en particulier après la réinitialisation d’un mot de passe d’administrateur.It is typical to force a user to change their password during their first logon, especially after an admin password reset occurs. Il s’agit généralement de définir un mot de passe « temporaire ». Vous devez pour cela sélectionner l’indicateur « L’utilisateur doit changer le mot de passe à la prochaine ouverture de session » sur un objet utilisateur dans Active Directory (AD).It is commonly known as setting a "temporary" password and is completed by checking the "User must change password at next logon" flag on a user object in Active Directory (AD).

La fonctionnalité de mot de passe temporaire permet de s’assurer que le transfert de propriété des informations d’identification est effectué lors de la première utilisation, afin de réduire la durée pendant laquelle plusieurs personnes ont connaissance de ces informations d’identification.The temporary password functionality helps to ensure that the transfer of ownership of the credential is completed on first use, to minimize the duration of time in which more than one individual has knowledge of that credential.

Pour prendre en charge les mots de passe temporaires dans Azure AD pour les utilisateurs synchronisés, vous pouvez activer la fonctionnalité ForcePasswordChangeOnLogOn en exécutant la commande suivante sur votre serveur Azure AD Connect :To support temporary passwords in Azure AD for synchronized users, you can enable the ForcePasswordChangeOnLogOn feature, by running the following command on your Azure AD Connect server:

Set-ADSyncAADCompanyFeature -ForcePasswordChangeOnLogOn $true

Nota

forcer un utilisateur à changer son mot de passe lors de la prochaine ouverture de session nécessite en même temps un changement du mot de passe.Forcing a user to change their password on next logon requires a password change at the same time. Azure AD Connect ne récupère pas de lui-même l’indicateur de changement forcé du mot de passe. Cela s’ajoute au changement de mot de passe détecté qui se produit pendant la synchronisation du hachage de mot de passe.Azure AD Connect will not pick up the force password change flag by itself; it is supplemental to the detected password change that occurs during password hash sync.

Precaución

Vous devez utiliser cette fonctionnalité uniquement quand la réinitialisation de mot de passe en libre-service (SSPR) et la réécriture du mot de passe sont activées sur le locataire.You should only use this feature when SSPR and Password Writeback are enabled on the tenant. Ainsi, si un utilisateur modifie son mot de passe via SSPR, il sera synchronisé avec Active Directory.This is so that if a user changes their password via SSPR, it will be synchronized to Active Directory.

Expiration du compteAccount expiration

Si votre organisation utilise l’attribut accountExpires dans le cadre de la gestion des comptes d’utilisateur, il n’est pas synchronisé avec Azure AD.If your organization uses the accountExpires attribute as part of user account management, this attribute is not synchronized to Azure AD. Par conséquent, un compte Active Directory expiré dans un environnement configuré pour la synchronisation de hachage de mot de passe sera toujours actif dans Azure AD.As a result, an expired Active Directory account in an environment configured for password hash synchronization will still be active in Azure AD. Nous recommandons, si le compte a expiré, qu’une action de workflow déclenche un script PowerShell qui désactive le compte Azure AD de l’utilisateur (via l’applet de commande Set-AzureADUser).We recommend that if the account is expired, a workflow action should trigger a PowerShell script that disables the user's Azure AD account (use the Set-AzureADUser cmdlet). Inversement, lorsque le compte est activé, l’instance Azure AD doit être activée.Conversely, when the account is turned on, the Azure AD instance should be turned on.

Remplacement des mots de passe synchronisésOverwrite synchronized passwords

Un administrateur peut réinitialiser manuellement votre mot de passe à l’aide de Windows PowerShell.An administrator can manually reset your password by using Windows PowerShell.

Dans ce cas, le nouveau mot de passe remplace votre mot de passe synchronisé et toutes les stratégies de mot de passe définies dans le cloud s’appliquent au nouveau mot de passe.In this case, the new password overrides your synchronized password, and all password policies defined in the cloud are applied to the new password.

Si vous modifiez de nouveau votre mot de passe local, le nouveau mot de passe est synchronisé avec le cloud et il remplace le mot de passe mis à jour manuellement.If you change your on-premises password again, the new password is synchronized to the cloud, and it overrides the manually updated password.

La synchronisation d’un mot de passe n’a aucun impact sur l’utilisateur Azure connecté.The synchronization of a password has no impact on the Azure user who is signed in. Votre session de service cloud en cours n’est pas immédiatement affectée par une modification de mot de passe synchronisé effectuée lorsque vous êtes connecté à un service 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’option Maintenir la connexion (KMSI) étend la durée de cette différence.KMSI extends the duration of this difference. Lorsque le service cloud vous oblige à vous authentifier à nouveau, vous devez fournir votre nouveau mot de passe.When the cloud service requires you to authenticate again, you need to provide your new password.

Autres avantagesAdditional advantages

  • En règle générale, la synchronisation de hachage de mot de passe est plus simple à implémenter qu’un service de fédération.Generally, password hash synchronization is simpler to implement than a federation service. Elle ne nécessite pas de serveurs supplémentaires et élimine la dépendance vis-à-vis d’un service de fédération hautement disponible pour authentifier les utilisateurs.It doesn't require any additional servers, and eliminates dependence on a highly available federation service to authenticate users.
  • La synchronisation de hachage de mot de passe peut également être activée en plus de la fédération.Password hash synchronization can also be enabled in addition to federation. Vous pouvez l’utiliser comme solution de secours si votre service de fédération connaît une défaillance.It may be used as a fallback if your federation service experiences an outage.

Processus de synchronisation du hachage de mot de passe pour Azure AD Domain ServicesPassword hash sync process for Azure AD Domain Services

Si vous utilisez Azure AD Domain Services pour fournir une authentification héritée pour les applications et les services qui doivent utiliser Kerberos, LDAP ou NTLM, certains processus supplémentaires font partie du flux de synchronisation du hachage de mot de passe.If you use Azure AD Domain Services to provide legacy authentication for applications and services that need to use Kerberos, LDAP, or NTLM, some additional processes are part of the password hash synchronization flow. Azure AD Connect utilise le processus suivant supplémentaire pour synchroniser les hachages de mot de passe vers Azure AD pour une utilisation dans Azure AD Domain Services :Azure AD Connect uses the additional following process to synchronize password hashes to Azure AD for use in Azure AD Domain Services:

Importante

Azure AD Connect doit uniquement être installé et configuré pour la synchronisation avec des environnements AD DS locaux.Azure AD Connect should only be installed and configured for synchronization with on-premises AD DS environments. L’installation d’Azure AD Connect n’est pas prise en charge dans un domaine managé Azure AD DS pour resynchroniser des objets sur Azure AD.It's not supported to install Azure AD Connect in an Azure AD DS managed domain to synchronize objects back to Azure AD.

Azure AD Connect synchronise uniquement les hachages de mot de passe hérités lorsque vous activez Azure AD DS pour votre client Azure AD.Azure AD Connect only synchronizes legacy password hashes when you enable Azure AD DS for your Azure AD tenant. Les étapes suivantes ne sont pas utilisées si vous utilisez uniquement Azure AD Connect pour synchroniser un environnement AD DS local avec Azure AD.The following steps aren't used if you only use Azure AD Connect to synchronize an on-premises AD DS environment with Azure AD.

Si vos applications héritées n’utilisent pas l’authentification NTLM ou les liaisons simples LDAP, nous vous recommandons de désactiver la synchronisation de hachage de mot de passe NTLM pour Azure AD DS.If your legacy applications don't use NTLM authentication or LDAP simple binds, we recommend that you disable NTLM password hash synchronization for Azure AD DS. Pour plus d’informations, consultez Désactiver les suites de chiffrement faible et la synchronisation des hachages des informations d’identification NTLM.For more information, see Disable weak cipher suites and NTLM credential hash synchronization.

  1. Azure AD Connect récupère la clé publique pour l’instance de Azure AD Domain Services du locataire.Azure AD Connect retrieves the public key for the tenant's instance of Azure AD Domain Services.
  2. Lorsqu’un utilisateur modifie son mot de passe, le contrôleur de domaine local stocke le résultat de la modification du mot de passe (hachages) dans deux attributs :When a user changes their password, the on-premises domain controller stores the result of the password change (hashes) in two attributes:
    • unicodePwd pour le hachage de mot de passe NTLM.unicodePwd for the NTLM password hash.
    • supplementalCredentials pour le hachage de mot de passe Kerberos.supplementalCredentials for the Kerberos password hash.
  3. Azure AD Connect détecte les modifications de mot de passe via le canal de duplication d’annuaire (modifications d’attributs nécessitant une réplication vers d’autres contrôleurs de domaine).Azure AD Connect detects password changes through the directory replication channel (attribute changes needing to replicate to other domain controllers).
  4. Pour chaque utilisateur dont le mot de passe a changé, Azure AD Connect effectue les étapes suivantes :For each user whose password has changed, Azure AD Connect performs the following steps:
    • Génère une clé symétrique AES 256 bits aléatoire.Generates a random AES 256-bit symmetric key.
    • Génère un vecteur d’initialisation aléatoire requis pour le premier cycle de chiffrement.Generates a random initialization vector needed for the first round of encryption.
    • Extrait les hachages de mot de passe Kerberos à partir des attributs supplementalCredentials.Extracts Kerberos password hashes from the supplementalCredentials attributes.
    • Vérifie le paramètre SyncNtlmPassword de configuration de sécurité Azure AD Domain Services.Checks the Azure AD Domain Services security configuration SyncNtlmPasswords setting.
      • Si ce paramètre est désactivé, génère un hachage NTLM aléatoire à forte entropie (différent du mot de passe de l’utilisateur).If this setting is disabled, generates a random, high-entropy NTLM hash (different from the user's password). Ce hachage est ensuite combiné avec les hachages de mot de passe Kerberos exacts de l'attribut supplementalCredentials dans une structure de données.This hash is then combined with the exacted Kerberos password hashes from the supplementalCrendetials attribute into one data structure.
      • S’il est activé, combine la valeur de l’attribut unicodePwd avec les hachages de mot de passe Kerberos extraits de l’attribut supplementalCredentials dans une structure de données.If enabled, combines the value of the unicodePwd attribute with the extracted Kerberos password hashes from the supplementalCredentials attribute into one data structure.
    • Chiffre la structure de données unique à l’aide de la clé symétrique AES.Encrypts the single data structure using the AES symmetric key.
    • Chiffre la clé symétrique AES à l’aide de la clé publique Azure AD Domain Services du locataire.Encrypts the AES symmetric key using the tenant's Azure AD Domain Services public key.
  5. Azure AD Connect transmet la clé symétrique AES chiffrée, la structure de données chiffrées contenant les hachages de mot de passe et le vecteur d’initialisation à Azure AD.Azure AD Connect transmits the encrypted AES symmetric key, the encrypted data structure containing the password hashes, and the initialization vector to Azure AD.
  6. Azure AD stocke la clé symétrique AES chiffrée, la structure de données chiffrée et le vecteur d’initialisation de l’utilisateur.Azure AD stores the encrypted AES symmetric key, the encrypted data structure, and the initialization vector for the user.
  7. Azure AD pousse la clé symétrique AES chiffrée, la structure de données chiffrée et le vecteur d’initialisation à l’aide d’un mécanisme de synchronisation interne sur une session HTTP chiffrée à Azure AD Domain Services.Azure AD pushes the encrypted AES symmetric key, the encrypted data structure, and the initialization vector using an internal synchronization mechanism over an encrypted HTTP session to Azure AD Domain Services.
  8. Azure AD Domain Services récupère la clé privée pour l’instance du locataire à partir du coffre de clés Azure.Azure AD Domain Services retrieves the private key for the tenant's instance from Azure Key vault.
  9. Pour chaque ensemble de données chiffré (représentant la modification du mot de passe d’un seul utilisateur), Azure AD Domain Services effectue les étapes suivantes :For each encrypted set of data (representing a single user's password change), Azure AD Domain Services then performs the following steps:
    • Utilise sa clé privée pour déchiffrer la clé symétrique AES.Uses its private key to decrypt the AES symmetric key.
    • Utilise la clé symétrique AES avec le vecteur d’initialisation pour déchiffrer la structure de données chiffrée qui contient les hachages de mot de passe.Uses the AES symmetric key with the initialization vector to decrypt the encrypted data structure that contains the password hashes.
    • Écrit les hachages de mot de passe Kerberos qu’il reçoit sur le contrôleur de domaine Azure AD Domain Services.Writes the Kerberos password hashes it receives to the Azure AD Domain Services domain controller. Les hachages sont enregistrés dans l’attribut supplementalCredentials de l’objet utilisateur, qui est chiffré sur la clé publique du contrôleur de domaine Azure AD Domain Services.The hashes are saved into the user object's supplementalCredentials attribute that is encrypted to the Azure AD Domain Services domain controller's public key.
    • Azure AD Domain Services écrit le hachage de mot de passe NTLM reçu dans le contrôleur de domaine Azure AD Domain Services.Azure AD Domain Services writes the NTLM password hash it received to the Azure AD Domain Services domain controller. Le hachage est enregistré dans l’attribut unicodePwd de l’objet utilisateur, qui est chiffré à la clé publique du contrôleur de domaine Azure AD Domain Services.The hash is saved into the user object's unicodePwd attribute that is encrypted to the Azure AD Domain Services domain controller's public key.

Activer la synchronisation de hachage de mot de passeEnable password hash synchronization

Importante

Si vous procédez à une migration depuis AD FS (ou d’autres technologies de fédération) vers la synchronisation de hachage du mot de passe, nous vous recommandons vivement de vous référer à notre guide de déploiement détaillé, publié ici.If you are migrating from AD FS (or other federation technologies) to Password Hash Synchronization, we highly recommend that you follow our detailed deployment guide published here.

La synchronisation de hachage de mot de passe est activée automatiquement si vous installez Azure AD Connect avec la configuration rapide.When you install Azure AD Connect by using the Express Settings option, password hash synchronization is automatically enabled. Pour plus d’informations, voir Bien démarrer avec Azure AD Connect à l’aide de paramètres rapides.For more information, see Getting started with Azure AD Connect using express settings.

Si vous utilisez des paramètres personnalisés lors de l’installation d’Azure AD Connect, la synchronisation de hachage de mot de passe est disponible dans la page de connexion utilisateur.If you use custom settings when you install Azure AD Connect, password hash synchronization is available on the user sign-in page. Pour plus d’informations, consultez Installation personnalisée d’Azure AD Connect.For more information, see Custom installation of Azure AD Connect.

Activation de la synchronisation de hachage de mot de passe

Synchronisation de hachage de mot de passe et FIPSPassword hash synchronization and FIPS

Si votre serveur a été verrouillé selon la norme Federal Information Processing Standard (FIPS), MD5 est désactivé.If your server has been locked down according to Federal Information Processing Standard (FIPS), then MD5 is disabled.

Pour activer MD5 pour la synchronisation de hachage de mot de passe, procédez comme suit :To enable MD5 for password hash synchronization, perform the following steps:

  1. Accédez à %programfiles%\Azure AD Sync\Bin.Go to %programfiles%\Azure AD Sync\Bin.
  2. Ouvrez miiserver.exe.config.Open miiserver.exe.config.
  3. Accédez au nœud configuration/runtime (à la fin du fichier).Go to the configuration/runtime node at the end of the file.
  4. Ajoutez le nœud suivant : <enforceFIPSPolicy enabled="false"/>Add the following node: <enforceFIPSPolicy enabled="false"/>
  5. Enregistrez vos modifications.Save your changes.

Pour référence, cet extrait de code indique ce que vous devez obtenir :For reference, this snippet is what it should look like:

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

Pour plus d’informations sur la sécurité et FIPS, voir Synchronisation, chiffrement et conformité à la norme FIPS du hachage de mot de passe Azure AD.For information about security and FIPS, see Azure AD password hash sync, encryption, and FIPS compliance.

Résoudre les problèmes de synchronisation de hachage de mot de passeTroubleshoot password hash synchronization

Si vous rencontrez des problèmes avec la synchronisation de hachage de mot de passe, consultez Troubleshoot password hash synchronization (Résoudre les problèmes de synchronisation de hachage de mot de passe).If you have problems with password hash synchronization, see Troubleshoot password hash synchronization.

Étapes suivantesNext steps