Authentification LDAP
Le protocole LDAP (Lightweight Directory Access Protocol) est un protocole Internet permettant d'accéder à des services d'informations de répertoire distribué et d'assurer leur maintenance. Si vous utilisez LDAP pour authentifier les utilisateurs des applications Web, prenez une minute pour prendre connaissance du contenu de cette rubrique avant de commencer.
Recommandations de programmation
- Utilisez uniquement une interface LDAP -- Les utilisateurs peuvent uniquement être authentifiés via une connexion à un serveur LDAP.
- Active Directory -- L'utilisation d'une interface Active Directory est interdite mais l'authentification LDAP via Active Directory est prise en charge.
- Propriétés de l'administrateur -- L'administrateur LDAP doit avoir accès à toutes les propriétés LDAP des utilisateurs.
| Attribut | Définition |
|---|---|
mail |
Adresse e-mail SMTP de l'utilisateur. |
cn |
Utilisé en interne pour déterminer le nom usuel de l'utilisateur. |
sn |
Utilisé en interne pour déterminer le nom de famille de l'utilisateur. |
givenname |
Utilisé en interne pour déterminer le prénom de l'utilisateur. |
Préfixe de Search dn |
Utilisé comme nom d'utilisateur. |
Utilisation d'un serveur LDAP pour l'authentification des utilisateurs
attribute=value , séparées par des virgules. Par exemple :cn=Ben Gray,ou=editing,o=New York Times,c=US
cn=Lucille White,ou=editing,o=New York Times,c=US
cn=Tom Brown,ou=reporting,o=New York Times,c=USIl est possible d'utiliser n'importe lequel des attributs définis dans le schéma d'annuaire pour constituer un nom distinctif. L'ordre des paires de valeurs de l'attribut de composant est important. Le nom distinctif contient un composant pour chaque niveau de la hiérarchie des annuaires, en partant de la racine jusqu'au niveau où se trouve l'entrée. Les noms distinctifs LDAP commencent par l'attribut le plus spécifique (généralement une sorte de nom) puis se poursuivent par des attributs de plus en plus élargis, pour se terminer par un attribut de pays. Le premier composant du nom distinctif désigne le nom distinctif relatif (RDN). Il identifie une entrée distincte de toutes les autres entrées qui ont le même parent. Dans les exemples précédents, le RDN "cn=Ben Gray" sépare la première entrée de la seconde, (avec RDN "cn=Lucille White"). Ces deux exemples de noms distinctifs sont par ailleurs équivalents. La paire attribut=valeur composant le nom distinctif relatif d'une entrée doit également être présent dans l'entrée. (Cela n'est pas vrai pour les autres composants du nom distinctif.)
Exemples
uid= et que le suffixe utilisé est ")", uid devient l'attribut de nom d'utilisateur. Le filtre de recherche par défaut utilisé est: (|(cn={filter}*)(sn={filter}*)(mail={filter}*)(givenName={filter})) et les attributs utilisés pour le préfixe sont également ajoutés au filtre de recherche. Dans ce cas où '(uid=' est le préfixe, lors de la recherche d'utilisateurs, le filtre de recherche devient : (|(cn={filter}*)(sn={filter}*)(mail={filter}*)(givenName={filter}*)(uid={filter}*))où {filter} est remplacé par le texte réel.Le non distinctif de la liaison authentifiée est un utilisateur situé sur le serveur LDAP externe autorisé à extraire les noms distinctifs de base et à effectuer des recherches dans l'annuaire LDAP dans la base de recherche définie. Il doit également pouvoir lire les propriétés des autres utilisateurs et être utilisé si l'accès anonyme à LDAP pour extraire les noms distinctifs et pour rechercher les attributs des utilisateurs et y accéder n'est pas autorisé. Lorsque la recherche porte sur le terme Steve, le filtre de la requête LDAP affiché dans l'exemple ci-après est utilisé et la recherche est effectuée à partir des noms distinctifs de base spécifiés dans l'interface utilisateur. Lorsque le nom distinctif de l'utilisateur est renvoyé, ce dernier ainsi que le mot de passe sont utilisés pour authentifier l'utilisateur :
(|(cn=Steve*)(sn=Steve*)(mail=Steve*)(givenName=Steve*)(uid=Steve*)).Pour les liaisons durant les appels de connexion, la chaîne de recherche utilisée est le préfixe. Par exemple, si le préfixe est '(uid=', la chaîne de recherche utilisée pour rechercher un utilisateur durant la connexion devient : (uid=Steve).- Utilisation de l'attribut mail comme nom d'utilisateur
- Lorsque vous souhaitez utiliser une adresse électronique comme nom d'utilisateur (par exemple, steve@company.com), vous utilisez généralement l'attribut de messagerie comme préfixe'(
mail='. Dans ce cas, utilisez la chaîne de recherche suivante pour effectuer la recherche en interne (en supposant que'(mail='comme préfixe):
Dans l'exemple précédent, si le nom distinctif est trouvé, le mot de passe est utilisé avec ce nom pour effectuer la liaison. C'est le premier résultat qui est pris en compte ; veillez donc à utiliser un attribut unique pour le nom d'utilisateur (username). Ensuite, les propriétés LDAP de l'utilisateur sont lues ((|(cn=steve@company.com*)(sn=steve@company.com*)(mail=steve@company.com*) (givenName=steve@company.com*)(mail=steve@company.com*))cn,sn,mail,givenName). Si les propriétés LDAP ne peuvent pas être lues à l'aide de l'utilisateur connecté, elles sont lues à partir du nom distinctif de l'utilisateur à l'aide des données d'identification de liaison authentifiées. Si l'attribut de nom d'utilisateur est différent, il est également demandé. Par exemple, si le préfixe est '(uid=', l'attributuidest également lu à partir de l'objet nom distinctif de l'utilisateur :(|(cn={filter}*)(sn={filter}*)(mail={filter}*)(givenName={filter}*))Remarque: Le préfixe et le suffixe ne peuvent pas être utilisés pour obtenir directement le nom distinctif d'un utilisateur. Par exemple, la tentative suivante d'obtention directe du nom distinctif d'un utilisateur échouera :Prefix: "uid=", Suffix: ",ou=users,dc=company,dc=com"
Références LDAP
Les références LDAP permettent à une arborescence de répertoires d'être partitionnée et distribuée entre plusieurs serveurs LDAP. Une référence LDAP permet à un contrôleur de domaine d'indiquer à une application client qu'il ne possède pas de copie de l'objet demandé tout en indiquant au client un emplacement plus susceptible de contenir l'objet. Le client utilise ensuite l'objet comme base d'une recherche DNS d'un contrôleur de domaine.
- La recherche d'utilisateurs faisant partie de plusieurs arborescences et forêts Active Directory.
- Authentification des utilisateurs dans le gestionnaire de cloud, le gestionnaire d'API et le portail CMS.
- Un hôte/port LDAP unique est configuré avec des données d'identification d'administrateur et les références à tous les utilisateurs sont effectuées à partir du nom distinctif de base du serveur/de l'arborescence.
- Dans le cadre de la recherche d'utilisateur suivant la référence LDAP, ce sont les mêmes données d'identification d'administrateur qui sont utilisées dans les arborescences et les forêts en aval.
- L'authentification API de LDAP ne prend pas en charge les références LDAP externes. Les références LDAP internes sont prises en charge.