Passer au contenu principal
Auth0 s’intègre à Active Directory (AD) au moyen du protocole Lightweight Directory Access Protocol (LDAP), par l’intermédiaire d’un connecteur Active Directory/LDAP que vous installez sur votre réseau.
Le connecteur AD/LDAP est conçu pour les scénarios dans lesquels votre entreprise contrôle le serveur AD/LDAP. Le connecteur ne doit pas être installé sur les serveurs de votre client.Dans les scénarios B2B où vous souhaitez permettre aux utilisateurs de votre client d’accéder à vos applications à l’aide de leurs identifiants d’entreprise, connectez-vous au service de fédération de votre client (par exemple, son propre service Auth0, ADFS ou tout fournisseur d’identité SAML) à l’aide de l’une des connexions d’entreprise disponibles.Si vous installez un connecteur AD/LDAP sur les serveurs de votre client et qu’il est connecté directement à votre domaine Auth0, vous devrez gérer directement les mots de passe des utilisateurs de votre client. Auth0 recommande fortement d’éviter ce type de déploiement et ne le prend pas en charge.
Le connecteur AD/LDAP (1) sert de passerelle entre votre Active Directory/LDAP (2) et le service Auth0 (3). Cette passerelle est nécessaire, car AD/LDAP est généralement limité à votre réseau interne, tandis qu’Auth0 est un service infonuagique qui s’exécute dans un contexte complètement différent.
Connecteur AD/LDAP - intégrer AD/LDAP à Auth0 - schéma
Lorsqu’un utilisateur s’authentifie avec Auth0, il est redirigé vers le connecteur AD/LDAP, qui valide l’utilisateur auprès de votre service AD, puis renvoie les résultats de cette validation à Auth0. Le connecteur AD/LDAP prend en charge l’authentification LDAP, Kerberos et les certificats clients. Pour en savoir plus, consultez Configurer l’authentification du connecteur AD/LDAP avec Kerberos et Configurer l’authentification du connecteur AD/LDAP à l’aide de certificats clients.

Caches

Le Connecteur AD/LDAP met en cache les profils des utilisateurs et les identifiants (Auth0 stocke un hachage du mot de passe de l’utilisateur) afin d’assurer une disponibilité et des performances optimales, et met à jour les données chaque fois qu’un utilisateur se connecte. Le cache n’est utilisé que lorsque le connecteur est en panne ou inaccessible. Les données mises en cache sont toujours conservées, sauf si vous désactivez la mise en cache des identifiants dans l’Auth0 Dashboard. Les valeurs du cache sont sensibles à la casse, ce qui signifie que les tentatives de connexion ne réussiront que si les utilisateurs fournissent le nom d’utilisateur exact qui a été mis en cache.

Haute disponibilité et équilibrage de charge

Pour assurer la haute disponibilité et l’équilibrage de charge, vous pouvez installer plusieurs instances du connecteur. Toutes les connexions sont sortantes, du connecteur vers le serveur Auth0; il n’est donc généralement pas nécessaire de modifier votre pare-feu. Chaque instance du cluster haute disponibilité sera toujours en service et connectée à Auth0. Auth0 enverra les transactions de connexion et les autres requêtes à l’un ou l’autre des connecteurs disponibles. Si l’une des instances tombe en panne en raison d’un problème de réseau ou de matériel, Auth0 redirigera les transactions de connexion vers l’autre connecteur. Un déploiement haute disponibilité vous permet aussi de mettre à jour le connecteur sans interruption de service.

Annuaires OpenLDAP

Le Connector est optimisé par défaut pour Active Directory. Pour l’utiliser avec tout autre annuaire LDAP (comme OpenLDAP), vous devez personnaliser ces paramètres dans le fichier config.json :
config.json
"LDAP_USER_BY_NAME": "(cn={0})",
"LDAP_SEARCH_QUERY": "(&(objectClass=person)(cn={0}))",
"LDAP_SEARCH_ALL_QUERY": "(objectClass=person)",
Dans certains cas, uid peut être un attribut plus approprié que cn.

Exemple OpenDJ

Avec le panneau de configuration d’OpenDJ, vous pouvez obtenir la liste des attributs pour chaque utilisateur. Cette liste peut vous aider à déterminer quel attribut sera utilisé comme nom d’utilisateur pour l’authentification avec Auth0.
Schéma d’exemple OpenDJ du connecteur AD/LDAP
Dans cet exemple, le cn de John est johndoe et le champ mail est défini sur johndoe@contoso.com. Si votre organisation souhaite que les utilisateurs s’authentifient à l’aide de leur nom d’utilisateur (cn), vous pouvez définir le paramètre LDAP_USER_BY_NAME sur (cn={0}), mais s’ils doivent s’authentifier à l’aide de leur adresse courriel, vous devriez le définir sur (mail={0}).

En savoir plus