¿Qué es LDAP?
(1) Antes de presentar qué es LDAP, repasemos una cosa: "¿Qué es un servicio de directorio?" ”
1. El servicio de directorio es una base de datos especial que contiene detalles descriptivos basados en atributos con capacidades de filtrado.
2. Es dinámica, flexible y fácilmente escalable.
Por ejemplo: organización y gestión de personal, guía telefónica, agenda de direcciones.
(2) Tras entender el servicio de directorios, echemos un vistazo a la introducción de LDAP:
LDAP (Light Directory Access Portocol), que es un protocolo ligero de acceso a directorios basado en el estándar X.500.
Un directorio es una base de datos optimizada para consultar, navegar y buscar, organizando los datos en una estructura en forma de árbol, similar a un directorio de archivos.
Las bases de datos de directorio se diferencian de las bases de datos relacionales en que tienen un excelente rendimiento de lectura pero un bajo rendimiento de escritura, y no disponen de funciones complejas como el procesamiento de transacciones y el rollback, lo que las hace inadecuadas para almacenar datos modificados con frecuencia. Así que el índice se usa inherentemente para hacer consultas, igual que su nombre.
El servicio de directorios LDAP es un sistema que consiste en una base de datos de directorios y un conjunto de protocolos de acceso.
(3) Por qué debería utilizarse
LDAP es un estándar de Internet abierto, que soporta protocolos de Internet multiplataforma, ampliamente reconocido en la industria, y la mayoría de los productos en el mercado o en la comunidad de código abierto han añadido soporte para LDAP, por lo que para este tipo de sistema no es necesario personalizar por separado, solo es necesario hacer una configuración sencilla a través de LDAP para autenticarse e interactuar con el servidor. "Simple y rudimentario" puede reducir considerablemente el coste de desarrollos y acoplamientos repetidos.
Principales productos de LDAP:
| | | | Servidor de Directorios SUNONE | Almacenamiento basado en bases de datos de texto, velocidad rápida. | | Servidor de Directorios IBM | Las bases de datos basadas en DB2 tienen velocidad media. | | Servidor de Directorios de Novell | El almacenamiento basado en bases de datos de texto es rápido y no se usa comúnmente. | | Microsoft Active Directory | Según los usuarios de sistemas WINDOWS, la velocidad de procesamiento de grandes volúmenes de datos es media, pero es fácil de mantener, tiene un ecosistema amplio y es relativamente sencillo de gestionar. | | | OpenLDAP es un proyecto de código abierto que es rápido pero no una aplicación generalizada. |
Modelo básico de LDAP
Cada sistema y protocolo tendrá su propio modelo, y LDAP no es una excepción; antes de entender el modelo básico de LDAP, necesitamos comprender varios conceptos de árbol de directorios LDAP:
(1) Concepto de árbol de catálogo
1. Árbol de directorios: En un sistema de servicios de directorios, todo el conjunto de información de directorios puede representarse como un árbol de información de directorios, y cada nodo del árbol es una entrada.
2. Entrada: Cada entrada es un registro, y cada una tiene su propio nombre único y distintivo (DN).
3. Clase de objeto: Un conjunto de atributos correspondientes a un tipo de entidad, la clase de objeto, puede heredarse, de modo que también se heredarán los atributos necesarios de la clase madre.
4. Atributos: Describe la información de un aspecto de la entrada, un atributo consiste en un tipo de atributo y uno o más valores de atributo, y los atributos tienen atributos obligatorios y no obligatorios.
(2) DC, UID, OU, CN, SN, DN, RDN
| Nombre completo en inglés | | | | La parte del nombre de dominio se divide en varias partes en forma de un nombre de dominio completo, como example.com nombre de dominio pasa a ser dc=ejemplo, dc=com (la ubicación de un registro) | | | ID de usuario songtao.xu (ID de un registro) | | | Unidades de organización, las unidades de organización pueden contener varios otros objetos (incluyendo otras unidades de organización), como el "grupo de la Oa" (la organización a la que pertenece un registro) | | | Nombres públicos, como "Thomas Johansson" (el nombre de un disco) | | | | | | "uid=songtao.xu,ou=OA Group,dc=example,dc=com", la ubicación de un registro (único) | | | La discriminación relativa, similar a las rutas relativas en un sistema de archivos, forma parte de la estructura del árbol de directorios que no tiene nada que ver, como "uid=tom" o "cn= Thomas Johansson" |
Introducción a OpenLDAP
LDAP es un protocolo ligero de acceso a directorios (LDAP), que es una implementación de una arquitectura de gestión centralizada de cuentas de código abierto y soporta muchas versiones del sistema, y es adoptado por la mayoría de las empresas de Internet.
LDAP proporciona e implementa el servicio de información del servicio de directorios, que es un sistema de base de datos especial que tiene un buen efecto en la lectura, navegación y búsqueda de datos. Los servicios de directorio se utilizan generalmente para contener información descriptiva basada en atributos y soportar funciones de filtrado sofisticadas, pero los servicios de directorio OpenLDAP no soportan políticas complejas de gestión de transacciones ni de retroceso necesarias para un gran número de operaciones de actualización de bases de datos de propósito general.
LDAP tiene dos estándares, a saber, X.500 y LDAP. OpenLDAP se basa en el estándar X.500, elimina las funciones complejas de X.500 y puede personalizarse con extensiones adicionales según sus propias necesidades, pero también hay diferencias respecto a X.500, como que OpenLDAP soporta el protocolo TCP/IP, etc., y TCP/IP es actualmente el protocolo para acceder a Internet en Internet.
OpenLDAP puede ejecutarse directamente en las capas más simples y generales de protocolos de transporte TCP/IP u otros protocolos de transporte fiables, evitando la sobrecarga en las capas de sesión y presentación OSI, haciendo que el establecimiento de conexiones y el procesamiento de paquetes sean más simples y rápidos, lo que lo hace ideal para aplicaciones de Internet y redes empresariales.
La información en el directorio OpenLDAP se almacena en una jerarquía tipo árbol (muy parecida a DNS), y la capa superior se llama "DN base", como "dc=midominio, dc=org" o "o=midominio.org"; la primera es más flexible y también se usa en Windows AD. Hay muchos archivos y directorios bajo el directorio raíz, y para separar lógicamente estas grandes cantidades de datos, OpenLDAP utiliza la OU (Unidad Organizacional) como otros protocolos de servicio de directorio, que pueden usarse para representar organizaciones internas de la empresa, como departamentos, etc., y también pueden emplearse para representar equipos, personal, etc. Al mismo tiempo, la OU también puede tener sub-OUs, que pueden usarse para representar clasificaciones más detalladas.
Cada registro en OpenLDAP tiene un nombre único que lo distingue de otros registros, DN (Nombre Distinguido), y la parte de la "hoja" se llama RDN (Identificador Relativo de la Entrada del Usuario). Por ejemplo, cn en dn:cn=tom, ou=animals, dc=ilanni, dc=com es RDN, y RDN debe ser único en una OU.
Por defecto, OpenLDAP utiliza Berkeley DB como base de datos backend, y la base de datos Berkeley principalmente almacena datos en forma de tipos de datos hashados, como pares clave-valor.
BerkeleyDB es un tipo especial de base de datos optimizada para consultas y lecturas, utilizada principalmente para búsquedas, navegación y actualizaciones de consultas, y generalmente tiene un buen efecto en la escritura de datos a la vez, consultando y buscando varias veces. BerkeleyDB no soporta el alto rendimiento de concurrencia ni las operaciones transaccionales complejas que soportan las bases de datos transaccionales (MySQL, MariDB, Oracle, etc.).
|