SRT3 LDAP
Origine Initialement alternative légère pour accès aux annuaires X.500. Avant, interrogés par protocole X.500 Directory Access Protocol (DAP), nécessitait l'utilisation de la pile de protocoles du modèle OSI apparition d'annuaires LDAP natifs (standalone LDAP directory), complètement séparés de DAP. Devenus populaires dans les entreprises : plus nécessaire de déployer un réseau OSI, utilisation seule de TCP/IP. LDAP a influencé un certain nombre de protocoles d'Internet, incluant les dernières versions de X.500 : XML Enabled Directory (XED), Directory Services Markup Language (DSML), Service Provisioning Markup Language (SPML), et Service Location Protocol (SLP).
Vue d'ensemble Connexion du client LDAP au serveur sur port TCP 389 Envoi de requêtes d'opération au serveur Serveur envoie des réponses en retour En général, le client n'attend pas de réponse du serveur pour envoyer de nouvelles requêtes, et le serveur peut envoyer ses réponses dans n'importe quel ordre. Une fois connexion, suite d'opération classiques.
Opérations Bind : indique version du protocole utilisée, et authentifie l'utilisateur. Start TLS : utilisation de la couche Transport Layer Security (TLS) pour sécuriser la connexion Search : recherche dans l'annuaire et rapatriement des données ; Compare : test qui determine si une entrée contient un attribut avec une valeur donnée ; Add : ajout d'une nouvelle entrée ; Delete : suppression d'une entrée ; Modify : modification d'une entrée ; Modify DN : déplacement ou renommage d'une entrée ;
Opérations (suite) Abandon : annulation d'une requête précédente ; Extended Operation : opération qui permet de définir d'autres opérations ; Unbind : clôture la connexion.
Sécuriser LDAP Utilisation d'un tunnel SSL : url commençant par ldaps:// port TCP 636 TLS est aussi possible
Structure de l'annuaire Modèle X500 Annuaire = arbre d'entrées Entrées = ensemble d'attributs Attribut = nom, type, une ou plusieurs valeurs Attributs définis dans des schémas DN (Distinguished Name) : Identifiant unique d'une entrée DN = RDN (Relative DN) + DN du parent
Structure de l'annuaire
Exemple d'une entrée Formatage LDIF pour représenter une entrée : dn: cn=John Doe,dc=example,dc=org cn: John Doe givenName: John sn: Doe telephoneNumber: +1 555 6789 telephoneNumber: +1 555 1234 mail: john@example.com manager: cn=Barbara Doe,dc=example,dc=com objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top
Exemple d'une entrée dn est le nom de l'entrée, pas un attribut de l'entrée "cn=John Doe" est le RDN de l'entrée "dc=example,dc=org" est le DN de son parent Autres lignes montrent les attributs de l'entrée. Les noms des attributs sont parfois des mnémoniques pour les plus courants : "cn" pour common name, "dc" pour domain component, "sn" pour surname. uid (userid), il s'agit d'un identifiant unique obligatoire givenname, il s'agit du prénom de la personne o (organization), il s'agit de l'entreprise de la personne u (organizational unit), il s'agit du service de l'entreprise dans laquelle la personne travaille mail, il s'agit de l'adresse de courrier électronique de la personne (bien évidemment)
Autres entrées Entrées peut également être racine d'une sous-arbre par exemple : « ou=un service,dc=example,dc=org » Contiendra un sous-arbre d'entrées Ou contenir une référence vers un autre serveur un referral vers un autre serveur qui contient le sous-arbre