LDAP

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 14 de marzo de 2021; las comprobaciones requieren 9 ediciones .

LDAP ( Protocolo ligero de acceso a directorios en inglés - “  protocolo  ligero de acceso a directorios ”) es un protocolo de capa de aplicación para acceder al servicio de directorio X.500 , desarrollado por IETF como una versión ligera del protocolo DAP desarrollado por ITU-T . LDAP es un protocolo relativamente simple que utiliza TCP/IP y permite la autenticación ( bind ), la búsqueda ( search ) y la comparación ( compare ), así como operaciones para agregar, modificar o eliminar entradas . Normalmente, el servidor LDAP acepta conexiones entrantes en el puerto 389 utilizando los protocolos TCP o UDP . SSL : las sesiones LDAP encapsuladas suelen utilizar el puerto 636.

Cada entrada en el directorio LDAP consta de uno o más atributos y tiene un nombre único (DN - English  Distinguished Name ). El nombre único puede verse, por ejemplo, de la siguiente manera: "cn=Ivan Petrov,ou=Employees,dc=example,dc=com" [1] . Un nombre único consta de uno o más nombres distintivos relativos (RDN ) separados por una coma .  El nombre exclusivo relativo tiene el formato AttributeName=value . No pueden existir dos entradas con los mismos nombres únicos relativos en el mismo nivel de directorio. Debido a esta estructura, el nombre único de una entrada en un directorio LDAP se puede representar fácilmente como un árbol.

Una entrada solo puede constar de aquellos atributos que se definen en la descripción de la clase de entrada (clase de objeto ), que, a su vez, se combinan en esquemas ( schema ). El esquema define qué atributos son necesarios para una clase determinada y cuáles son opcionales. El esquema también define el tipo y las reglas para comparar atributos. Cada atributo de entrada puede almacenar varios valores.

Estándares

El protocolo LDAP se define en los siguientes RFC :

Además del protocolo, existen estándares internacionales de primer nivel que describen todo lo relacionado con el modelo de integración del sistema y el directorio (Directorio), al que se accede mediante LDAP y DAP:

Descripción funcional del protocolo

El protocolo LDAP define las siguientes operaciones para trabajar con el Directorio:

Los operadores lógicos están representados por un "conjunto" estándar: & ("Y" lógico), | ("O" lógico) y ! (lógico "NO").

Ejemplo de filtro de búsqueda[ ¿dónde? ] :

(&(!(entryDN:dnSubtreeMatch:=dc=Piter,dc=Rusia,ou=Personas,dc=ejemplo,dc=com))(objectClass=sambaSamAccount)
(|(sn=Lazar*)(uid=Nakhims*) ))

Operación Solicitud de Oportunidad

El estándar LDAP define una operación especial que permite a los clientes obtener información sobre las versiones de protocolo compatibles con el servidor y las capacidades del servidor LDAP. Este comando es un complemento (extensión) para la operación de búsqueda y se ejecuta con la siguiente combinación de los parámetros de esta última:

Por ejemplo, al usar el cliente LDAP de la distribución OpenLDAP , el comando de consulta de capacidad podría verse así:

ldapsearch -x -H ldap://host:port -LLL -b "" -s base '(objectClass=*)' supportedControls supportedCapabilities

Operación de consulta de esquema

Para solicitar información sobre el esquema actual de un directorio LDAP, primero debe ejecutar una operación de capacidades de consulta obteniendo el valor del atributo subschemaSubentry .

ldapsearch -x -H ldap://host:port -LLL -s base -b "" '(objectClass=*)' subschemaSubentry

El valor resultante se utiliza como nombre distinguido de la base de búsqueda ( baseDN ) en la operación de consulta de esquema, que se puede describir como:

Por ejemplo, al usar el cliente LDAP de la distribución OpenLDAP , la operación de consulta de esquema podría verse así:

ldapsearch -x -H ldap://host:port -LLL -s base -b "cn=Subschema" '(objectClass=*)' ldapSyntaxes matchingRules

Implementaciones

Lado del servidor

LDAP es un estándar ampliamente utilizado para acceder a los servicios de directorio. De las implementaciones abiertas distribuidas libremente, el servidor OpenLDAP es el más conocido , de las propietarias, el soporte de protocolo está disponible en Active Directory  , un servicio de directorio de Microsoft , diseñado para centralizar la administración de la red de Windows . El servidor IBM Lotus Domino también incluye un servicio LDAP [2] [3] . Otras grandes empresas también ofrecen sus implementaciones de servicios de directorio que soportan LDAP como protocolo de acceso, por ejemplo, Novell y Sun  - OpenDS y, posteriormente, OpenDJ.

La lista de los servidores LDAP más famosos de la actualidad:

  1. OpenLDAP
  2. ForgeRock OpenDJ
  3. Directorio electrónico de Novell
  4. Apple Open Directory (una bifurcación del proyecto OpenLDAP)
  5. Directorio activo de Microsoft
  6. Samba4 LDAP (implementación OpenSource de MS AD)
  7. Servidor de directorio RedHat
  8. 389 Directory Server (esencialmente una versión de prueba del anterior)
  9. Servidor de directorio de Oracle
  10. Servidor de directorio Apache
  11. Servidor de directorio IBM Tivoli
  12. IBM Domino LDAP
  13. CommuniGate LDAP

Lado del cliente

Los clientes LDAP son libretas de direcciones de clientes de correo y back-end de varios servicios de red (DNS, SMTP, Samba, UTS, etc.).

Véase también

Notas

  1. Descripción de los parámetros LDAP. Archivado el 31 de mayo de 2011 en Wayback Machine . 
  2. El esquema LDAP de Domino (enlace descendente) . Consultado el 31 de octubre de 2010. Archivado desde el original el 8 de junio de 2013. 
  3. Guía de configuración de LDAP de Lotus Domino (enlace descendente) . Consultado el 31 de octubre de 2010. Archivado desde el original el 4 de marzo de 2016. 

Enlaces

Recursos

Servidores

Clientes

Interfaces de programación (API)