Protocolo LDAP

Abril 2015

Introducción a LDAP

LDAP (Protocolo compacto de acceso a directorios) es un protocolo estándar que permite administrar directorios, esto es, acceder a bases de información de usuarios de una red mediante protocolos TCP/IP.

Las bases de información generalmente están relacionadas con los usuarios, pero, algunas veces, se utilizan con otros propósitos, como el de administrar el hardware de una compañía.

El objetivo del protocolo LDAP, desarrollado en 1993 en la Universidad de Michigan, fue reemplazar al protocolo DAP (utilizado para acceder a los servicios de directorio X.500 por OSI) integrándolo al TCP/IP. Desde 1995, DAP se convirtió en LDAP independiente, con lo cual se dejó de utilizar sólo para acceder a los directorios tipo X500. LDAP es una versión más simple del protocolo DAP, de allí deriva su nombre Protocolo compacto de acceso a directorios.

Presentación de LDAP

El protocolo LDAP define el método para acceder a datos en el servidor a nivel cliente pero no la manera en la que se almacena la información.

El protocolo LDAP actualmente se encuentra en su 3era versión y el IETF (Grupo de Trabajo de Ingeniería de Internet) lo ha estandarizado. Por lo tanto, existe una RFC (petición de comentarios) para cada versión de LDAP que constituye un documento de referencia:

LDAP le brinda al usuario métodos que le permiten:
  • conectarse
  • desconectarse
  • buscar información
  • comparar información
  • insertar entradas
  • cambiar entradas
  • eliminar entradas
Asimismo, el protocolo LDAP (en versión 3) ofrece mecanismos de cifrado (SSL, etc.) y autenticación para permitir el acceso seguro a la información almacenada en la base.

Estructura de árbol de la información (DIT)

LDAP presenta la información bajo la forma de una estructura jerárquica de árbol denominada DIT (Árbol de información de directorio), en la cual la información, denominada entradas (o incluso DSE, Directory Service Entry), es representada por bifurcaciones.
Una bifurcación ubicada en la raíz de una bifurcación se denomina entrada raíz.

Cada entrada en el directorio LDAP corresponde a un objeto abstracto o real (por ejemplo, una persona, un objeto material, parámetros, etc.).

Cada entrada está conformada por un conjunto de pares clave/valor denominados atributos.

Árbol de información de directorio de LDAP

Atributos de entrada

Cada entrada está compuesta por un conjunto de atributos (pares clave/valor) que permite caracterizar el objeto que la entrada define. Existen dos tipos de atributos:

  • Atributos normales: éstos son los atributos comunes (apellido, nombre, etc.) que distinguen al objeto.
  • Atributos operativos: éstos son atributos a los que sólo el servidor puede acceder para manipular los datos del directorio (fechas de modificación, etc.).

Una entrada se indexa mediante un nombre completo (DN) que permite identificar de manera única un elemento de la estructura de árbol.

Un DN se constituye tomando el nombre del elemento denominado Nombre distintivo relativo (RDN, es decir, la ruta de la entrada en relación con sus entradas superiores) y agregándole el nombre entero de la entrada principal.
Se trata de utilizar una serie de pares clave/valor para poder localizar una entrada de manera única. A continuación encontrará una serie de claves generalmente utilizadas:

  • uid (id de usuario), ésta es una identificación única obligatoria;
  • cn (nombre común), éste es el nombre de la persona;
  • givenname, éste es el nombre de pila de la persona;
  • sn (apellido), éste es el apellido de la persona.
  • o (organización), ésta es la compañía de la persona.
  • u (unidad organizacional), éste es el departamento de la compañía para la que trabaja la persona.
  • mail, ésta es la dirección de correo electrónico de la persona (por supuesto).
  • ...
Por lo tanto, un nombre completo tendrá la siguiente forma:
uid=jeapil,cn=pillou,givenname=jean-francois
Le Relative Distinguished Name étant ici "uid=jeapil".

Así, el conjunto de definiciones de objetos y atributos que un servidor LDAP puede administrar se denomina esquema. Esto permite, por ejemplo, definir si un atributo puede poseer uno o varios valores. Además, un atributo llamado objectclass permite definir si los atributos son obligatorios u opcionales.

Consulta de datos

LDAP brinda un conjunto de funciones (procedimientos) para llevar a cabo solicitudes en los datos para buscar, cambiar y eliminar entradas en los directorios.

A continuación encontrará una lista de las principales operaciones que puede realizar LDPA:

Funcionamiento Descripción
Abandon (Abandonar) Cancela la operación previa enviada al servidor
Add (Agregar) Agrega una entrada en el directorio
Bind (Enlazar) Inicia una nueva sesión en el servidor LDAP
Compare (Comparar) Compara las entradas en un directorio según los criterios
Delete (Eliminar) Elimina una entrada de un directorio
Extended (Extendido) Realiza operaciones extendidas
Rename (Cambiar nombre) Cambia el nombre de una entrada
Search (Buscar) Busca entradas en un directorio
Unbind (Desenlazar) Finaliza una sesión en el servidor LDAP

Formato de intercambio de datos de LDIF

LDAP brinda un formato de intercambio de datos (LDIF, Formato de intercambio de datos de LDAP) que permite importar y exportar datos desde un directorio mediante un archivo de texto simple. La mayoría de los servidores LDAP admiten este formato, lo cual permite una gran interoperabilidad entre ellos.

A continuación se encuentra la sintaxis para este formato:

[<id>] dn: <distinguished name> <attribute> : <value> <attribute> : <value> ...
En este archivo, id es opcional. Es un número entero positivo que permite la identificación de la entrada en la base de datos.

  • Cada entrada nueva debe separarse de la definición de la entrada anterior mediante una línea en blanco.
  • Es posible definir un atributo a través de diversas líneas al comenzar las líneas siguientes con un espacio o un espacio de tabulación.
  • Es posible definir diversos valores para un atributo al repetir la cadena name:value en las líneas separadas.
  • Cuando el valor contiene un carácter especial (no imprimible, un espacio o :), el atributo debe estar seguido de :: y después del valor codificado en base64.
Consulta este artículo sin tener que estar conectado, descárgalo gratis aquí en formato PDF:
Protocolo-ldap.pdf

Consulta también


LDAP protocol
LDAP protocol
Das Protokoll LDAP
Das Protokoll LDAP
Le protocole LDAP
Le protocole LDAP
Il protocollo LDAP
Il protocollo LDAP
O protocolo LDAP
O protocolo LDAP
El documento « Protocolo LDAP » de Kioskea (es.kioskea.net) se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo bajo las condiciones señaladas por esta licencia. Deberás hacerla siempre visible y dar crédito a Kioskea.