sábado, 9 de marzo de 2013

LDAP


Introducción a LDAP (Protocolo compacto de acceso a directorios)

LDAP es un protocolo estándar de la capa de aplicación el cual permite administrar directorios lo cual significa que nos dejara acceder a bases de información de los usuarios de una red mediante el uso del protocolo TCP/IP. También es considerado una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas.Habitualmente, LDAP almacena la información de inicio de sesión (login), usuario y contraseña. Puede ser utilizado para autenticarse aunque es posible almacenar otra información (datos de contacto del usuario, ubicación de diversos recursos de la red, permisos, certificados, email, departamento, etc.).


El objetivo del protocolo LDAP, el cual fue desarrollado en la Universidad de Michigan el año 1993, fue el de 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 el cual es Protocolo compacto de acceso a directorios.


El directorio activo es una implementación del protocolo LDAP realizada por Microsoft para sus sistemas operativos Windows Server, se trata de un almacén centralizado de información de uno de sus dominios de administración.

Características 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:
  • RFC 1777 para LDAP v.2
  • RFC 2251 para LDAP v.3


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.

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



Implementaciones

  • Active Directory
  • Novell Directory Services
  • iPlanet - Sun ONE Directory Server
  • OpenLDAP
  • Red Hat Directory Server
  • Apache Directory Server
  • Open DS

Estructura


La estructura del árbol de directorio se define utilizando el termino DIT (Directory Information Tree) ó Árbol de Información del Directorio.
El DIT en un servidor LDAP normalmente se esquematiza utilizando la estructura de Árbol, donde las ramas del árbol pueden ser contenedores de información, en done puede contener otras entradas o más ramas/contenedores, por ejemplo una rama para almacenar cuentas de usuario, otra rama para almacenar grupos, etc. Cada entrada en el árbol posee un identificador único llamado Distinguished Name o DN.
El primer paso para diseñar el DIT es definir el Base DN, el Base DN es el nivel más alto en el árbol de directorio, es decir, la base o raíz del directorio.
En nuestro caso el Base DN será definido utilizando los llamados DC ó Domain Components, similar a la estructura del Sistema de Nombres de Dominio (DNS).