You are on page 1of 3

LDAP

LDAP son las siglas de Lightweight Directory Access Protocol (en espaol Protocolo Ligero de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicacin que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa informacin en un entorno de red. Es un protocolo de tipo cliente-servidor para acceder a un servicio de directorio. Se us inicialmente como un front-end o interfaz final para X.500, pero tambin puede usarse con servidores de directorio nicos y con otros tipos de servidores de directorio. Un rbol de directorio LDAP a veces refleja varios lmites polticos, geogrficos u organizacionales, dependiendo del modelo elegido. Los despliegues actuales de LDAP tienden a usar nombres de Sistema de Nombres de Dominio (DNS por sus siglas en ingls) para estructurar los niveles ms altos de la jerarqua. Conforme se desciende en el directorio pueden aparecer entradas que representan personas, unidades organizacionales, impresoras, documentos, grupos de personas o cualquier cosa que representa una entrada dada en el rbol (o mltiples entradas). Estructura de rbol de la informacin (DIT) LDAP presenta la informacin bajo la forma de una estructura jerrquica de rbol denominada DIT (rbol de informacin de directorio), en la cual la informacin, denominada entradas (o incluso DSE, Directory Service Entry), es representada por bifurcaciones. Una bifurcacin ubicada en la raz de una bifurcacin se denomina entrada raz. Cada entrada en el directorio LDAP corresponde a un objeto abstracto o real (por ejemplo, una persona, un objeto material, parmetros, etc.). Cada entrada est conformada por un conjunto de pares clave/valor denominados atributos.

Cmo funciona LDAP? El servicio de directorio LDAP se basa en un modelo cliente-servidor. Uno o ms servidores LDAP contienen los datos que conforman el rbol del directorio LDAP o base de datos troncal Un cliente inicia una sesin de LDAP conectndose a un servidor LDAP, por defecto en el puerto TCP 389. El cliente luego enva una peticin de operacin al servidor, y el servidor enva respuestas. Con algunas excepciones, el cliente no necesita esperar una respuesta antes de enviar la siguiente peticin, y el servidor puede responder en cualquier orden. El cliente puede requerir las siguientes operaciones: Start TLS usar la extensin Transport Layer Security (TLS) LDAPv3 para una conexin segura Bind autenticarse y especificar una versin del protocolo LDAP Search buscar y obtener entradas de directorio Compare probar si una entrada nombrada contiene un valor de atributo dado Add Aadir una nueva entrada Delete Borrar una entrada Modify Modificar una entrada

Modify Distinguished Name (DN) Modificar o renombrar una entrada Abandon abortar una peticin previa Extended Operation operacin genrica usada para definir otras operaciones Unbind cerrar la conexin (no es el inverso de Bind)

Adems, el servidor puede enviar "notificaciones no solicitadas" que no son respuestas a ninguna peticin, por ejemplo antes de que se termine el tiempo de conexin. Estructura de directorio El protocolo accede a directorios LDAP, que siguen la edicin de 1993 del modelo X.500: Un directorio es un rbol de entradas de directorio. Una entrada consta de un conjunto de atributos. Un atributo tiene un nombre (un tipo de atributo o descripcin de atributo) y uno o ms valores. Los atributos son definidos en un esquema (vase luego). Cada entrada tiene un identificador nico: su Nombre distinguido (Distinguished Name, DN). Este consta de su Relative Distinguished Name (RDN) construido por algunos atributos en la entrada, seguidos del DN de la entrada del padre. Pensar en el nombre distinguido como un completo nombre de archivo y el nombre distinguido relativo como el nombre de archivo relativo en un folder. Una entrada puede tener este aspecto cuando es representada en el formato LDAP Data Interchange Format (LDIF) (LDAP por s mismo es un protocolo binario): dn: cn=John Doe,dc=example,dc=com cn: John Doe givenName: John sn: Doe telephoneNumber: +1 888 555 6789 telephoneNumber: +1 888 555 1232 mail: john@example.com manager: cn=Barbara Doe,dc=example,dc=com objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top dn es el nombre de la entrada; no es un atributo ni tampoco parte de la entrada. cn es el nombre distinguido relativo. dc es el nombre distinguido de la entrada del padre, donde dc indica domain component (componente de dominio). Givenname es el nombre de pila de la persona. Las otras lneas presentan los atributos en la entrada. Los nombres de atributos son generalmente cadenas mnemotcnicas, como "cn" para common name (nombre comn), "dc" para domain component (componente de dominio), "mail" para direccin de e-mail y "sn" para surname (apellido). Un servidor aloja un subrbol comenzando por una entrada especfica, por ejemplo "dc=example,dc=com" y sus hijos. Los servidores tambin pueden almacenar referencias a otros servidores, con los cual un intento de acceso a "ou=department,dc=example,dc=com" puede retornar una referencia o continuacin de referencia a un servidor que aloja esa parte del rbol de directorio. El cliente luego puede contactar al otro servidor. Algunos servidores tambin soportan encadenamiento (chaining), que implica que el servidor contacta al otro servidor y devuelve el resultado al cliente. LDAP raramente define un ordenamiento: El servidor puede devolver los valores de un atributo, los atributos en una entrada y las entradas encontradas por una operacin de bsqueda en cualquier orden. Esto sigue la definicin formal - una entrada es definida como un conjunto de atributos, y un atributo es un conjunto de valores, y los conjuntos no necesitan estar ordenados.

URLs de LDAP Un formato URL de LDAP existe para descubrir qu clientes soportan en variedad de grados, y qu servidores retornan como referentes y referencias de continuacin. ldap://host:port/DN?attributes?scope?filter?extensions La mayora de los componentes, que son descritos debajo, son opcionales. host es el FQDN o direccin IP del servidor LDAP donde se realiza la consulta. port es el puerto de red del servidor LDAP. DN es el nombre distinguido a usar como base de bsqueda. attributes es una lista separada con comas de atributos a devolver. scope especifica el mbito de bsqueda y puede ser "base" (por defecto), "one" o "sub". filter es un filtro de bsqueda. Por ejemplo (objectClass=*) como es definido en RFC 4515. extensions son extensiones al formato URL de LDAP.

Por ejemplo, "ldap://ldap.example.com/cn=John%20Doe,dc=example,dc=com" refiere a todos los usuarios en la entrada de John Doe en ldap.example.com, mientras "ldap:///dc=example,dc=com??sub?(givenName=John)" busca por la entrada en el servidor por defecto (notar el triple slash, omitiendo el host, y la marca de doble pregunta, omitiendo los atributos). As como en otros URLs, los caracteres especiales deben ser codificados con signos de porcentaje. Estructura de nombres Dado que un servidor LDAP puede devolver referencias a otros servidores para efectuar nuevas peticiones que el servidor mismo no puede devolver, una estructura de nombres para las entradas LDAP es requerida para que sea posible encontrar un servidor alojando un nombre distinguido dado. Dado que una estructura ya existe en el DNS, los nombres de alto nivel de los servidores a veces ofrecen nombres de DNS simulados, as como se haca en X.500. Si una organizacin tiene el nombre de dominio example.org, su entrada de ms alto nivel en LDAP tendr generalmente como nombre distinguido dc=example,dc=org (donde dc significa componente de dominio). Si el servidor LDAP es tambin denominado ldap.example.org, el nivel ms alto de la organizacin de la URL del LDAP URL se convierte en ldap://ldap.example.org/dc=example,dc=org. Bajo el alto nivel, los nombres de entradas generalmente reflejan la estructura organizacional interna o las necesidades, en lugar de nombres de DNS.