Blogs Media: CSS Mania | VivirLatino | Sentido Web | Apps Mania

Publicidad

Lun13Nov2006

¿Qué es un LDAP?

15:00 H (CET)| Temas: Tutoriales

En este artículo pretendemos dar una pequeña explicación sobre LDAP para aquellos que lo desconozcan y así luego poder ampliar sus conocimientos.

LDAP (Lightweight Directory Access Protocol) o Protocolo de Acceso Ligero a Directorio no se trata de un sistema de almacenamiento como muchas veces se piensa, se trata de un protocolo de comunicación para acceder y modificar información almacenada en un directorio, conocido normalmente como directorio LDAP. Por lo tanto, cuando se dice: "guardemos los datos en el LDAP", se está cometiendo una equivocación.

Al tratarse de un protocolo, que funciona bajo TCP/IP, es independiente de la plataforma. Es lo que se usa para conectarse a un directorio LDAP, el cual puede estar implementado como sea, ya sea una versión comercial, open source, bajo Windows, UNIX o cualquiero otra plataforma.

¿Es el directorio LDAP una base de datos?, sí, lo es, pero no se trata de una base de datos relacional como pueda ser Oracle o MySQL. Se trata de un directorio, como pueda serlo el que guarda las fichas de los libros en una biblioteca. Al tratarse de un directorio, está totalmente jerarquizado y está optimizado para muchas lecturas y de pequeño volumen. Aunque se puede guardar lo que se quiera, está pensado para almacenar datos de poco tamaño (email, teléfono, dirección, permisos) y, a su vez, no está optimizado para que haya muchas modificaciónes, piensa que por ejemplo la dirección de correo electrónico no es algo que se modifique con mucha frecuencia.

Como ya hemos dicho anteriormente, el protocolo LDAP accede a la información contenida en un directorio, este directorio se trata de un árbol compuesto de entradas de directorio, las cuales son un conjunto de atributos, formados por nombre-valor, según se indica en un esquema.

Para identificar una entrada en el directorio LDAP, se precisa de su DN o Distinguished Name, el cual estará formado por su atributo nombre (CN o Common Name, cn="Fulano Perez") y otros atributos que lo relacionen con las jerarquías superiores, ya sea usando O u C (formato X.500 o="Mi Empresa", c=ES), O (según internet o="empresa.com"), DC (componentes de dominio dc=empresa, dc=com). Después del DN habrá otra serie de atributos que definan la entrada.

Un ejemplo de esto, representado en formato LDIF y que nos puede hacer entender mejor el concepto, sería el siguiente:

 dn: cn=Fulano Perez,dc=empresa,dc=com
 cn: Fulano Perez
 givenName: Fulano
 sn: Fulano
 telephoneNumber: +34 555 11 22 33
 mail: fulano.perez@empresa.com
 manager: cn=Mengano Martinez,dc=empresa,dc=com
 objectClass: inetOrgPerson
 objectClass: organizationalPerson
 objectClass: person
 objectClass: top

Como se puede apreciar, en esta entrada diríamos que "Fulano Perez", perteneciente a "empresa.com" (en este caso se organiza como si se tratara de internet, porque puede darse el caso de que sea un grupo de empresa .com de las cuales "empresa.com" es una de ellas). Después veremos que hay datos referentes al empleado, como son un email y su teléfono, y datos a cerca del tipo de registro, en este caso de una persona empleada en la empresa, y datos sobre su jefe, que si los usamos en un acceso al directorio LDAP podremos obtener una información parecida.

Para que quede más claro el concepto de directorio, vamos a ver como sería la estructura:

- com
  - otraempresa
  ...
  - empresa
    ...
    - Mengano Martinez
    ...
    - Fulano Perez

Directorios LDAP

Algunas de las implementaciones del servidor LDAP o directorio LDAP son las siguientes:

Clientes

Librerías

LDAP in Python

Más información

Relacionados

Feedback (8) » Formulario

1. alidhaey ~ Lunes, 13 Nov 2006 | 15:43H:

Pregunto: ¿en donde has tenido que utilizar el LDAP? No me des datos concretos, solo dentro de que tipo de sistema lo has usado y que tipo de informacion tenias en él. Por ejmplo: si tienes un lector de correo, para guardar password y cuentas.

Un saludo.

2. Luis ~ Lunes, 13 Nov 2006 | 16:20H:

Hola alidhaey.

Pues hace unos 6 años en lo que antes era iPlanet para la autenticación de usuarios para la parte de administración.

Ahora, en el cliente en el que estoy, para lo mismo, ya que la autenticación se hace usando el LDAP coorporativo (no es plan de picar los miles de empleados que hay en la empresa en cada una de las aplicaciones). A parte de que en el mismo LDAP vienen los perfiles para que puedan acceder a ciertas partes de las aplicaciones o no.

De todas formas, tanto en mi empresa, como en el cliente en el que estoy se usan LDAPs coorporativos para todo, ya sea para las cuentas de correo, como bien dices, como para el buscador de empleados, ...

Saludos

3. Luis ~ Lunes, 13 Nov 2006 | 16:32H:

Otra cosita, en plan anécdota de abuelete. Cuando digo en el post que el LDAP no está pensado para manejar lecturas de gran volumen, y muchas escrituras, lo sufrimos en nuestras carnes, en un proyecto muy muy muy importante, con mucho mucho mucho dinero, en el cual había una granja de servidores de aplicaciones, y por no gastarse el dinero en un servidor de ficheros, que no hubiera sido nada para ellos y al final no les quedó más remedio que gastarlo, tuvimos que usar el LDAP como servidor de aplicaciones, porque era lo único a lo que todos los servidores tenían acceso y que estaba disponible, ya que la gente de BD se negaba a usar la BD como servidor de ficheros.

Total, que una vez cambiado a LDAP, la aplicación en vez de tardar 20 segundos en leer los ficheros de configuración y arrancar la aplicación, ¡¡¡tardaba 10 minutos!!!

Bueno, la próxima historia de abuelete te la cuento en la próxima reunión de boyscouts, jeje

Saludos

4. alidhaey ~ Lunes, 13 Nov 2006 | 20:59H:

De todo se aprende, y no eres tan abuelo, hasta los 70-80 años todavia te queda que dar caloo.

Por mi parte, nunca he tenido que enfrentarme a un LDAP, aunque tuve un roce, pero lo desestimaron (pese a que me gustaba el asunto).

Ahora en donde estoy, no descarto utilizarlo para algunas cositas particulares que tengo en mente (siempre maquinando, seguro), un sistema que guarde parametros de configuracion que me vendria de perlas.

Evidentemente, solo con fines educativos.

5. Luis ~ Lunes, 13 Nov 2006 | 21:25H:

Pues la verdad es que es cierto que no soy tan abuelete, ni soy el super-experto (ya quisiera). Quizás lo he dicho para no parecer el listo que todo lo sabe, jeje.

A mí me ha gustado tratar con LDAP y si lo aprendes harás muy bien.

Saludos

6. Eduardo ~ Martes, 14 Nov 2006 | 02:17H:

Sabes, trabajando con usuarios finales, es dificil que entiendan el concepto de Ldap al trabajarlo con servidores de correos, se me confunden muchísimo.

7. Luis ~ Martes, 14 Nov 2006 | 04:21H:

Creo que, directamente, los usuarios finales se equivocan muchisimo, siempre ;)

8. Ana Maria ~ Lunes, 28 Abr 2008 | 22:40H:

Quiero saber si configurando el LDAP en un servidor con Windows 2003 Server y con cliente Outlook Express puedo utilizar correo externo e interno tambien?

Conversación

Nombre:

Email:

(no aparecerá)

URL:

(opcional)
¿Recordar datos?

↓ Comentarios (XHTML permitido)