En informática , un servicio de directorio o servicio de nombres asigna los nombres de los recursos de la red a sus respectivas direcciones de red . Es una infraestructura de información compartida para localizar, gestionar, administrar y organizar elementos cotidianos y recursos de red, que pueden incluir volúmenes, carpetas, archivos, impresoras, usuarios, grupos, dispositivos, números de teléfono y otros objetos. Un servicio de directorio es un componente crítico de un sistema operativo de red . Un servidor de directorio o servidor de nombres es un servidor que proporciona dicho servicio. Cada recurso de la red es considerado un objeto por el servidor de directorio. La información sobre un recurso particular se almacena como una colección de atributos asociados con ese recurso u objeto.
Un servicio de directorio define un espacio de nombres para la red. El espacio de nombres se utiliza para asignar un nombre (identificador único) a cada uno de los objetos. Los directorios suelen tener un conjunto de reglas que determinan cómo se nombran e identifican los recursos de la red, lo que normalmente incluye el requisito de que los identificadores sean únicos e inequívocos . Cuando utiliza un servicio de directorio, el usuario no tiene que recordar la dirección física de un recurso de red; proporcionar un nombre ubica el recurso. Algunos servicios de directorio incluyen disposiciones de control de acceso , lo que limita la disponibilidad de la información del directorio para los usuarios autorizados .
Varias cosas distinguen un servicio de directorio de una base de datos relacional . Los datos pueden volverse redundantes si ayudan al rendimiento (por ejemplo, repitiendo valores a través de filas en una tabla en lugar de relacionarlos con el contenido de una tabla diferente a través de una clave, técnica que se llama desnormalización ; otra técnica podría ser la utilización de réplicas para aumentar rendimiento real). [1]
Los esquemas de directorio son clases de objetos, atributos, enlaces de nombres y conocimientos (espacios de nombres) donde una clase de objeto tiene:
A veces, los atributos tienen varios valores, lo que permite múltiples atributos de denominación en un nivel (como el tipo de máquina y la concatenación de números de serie , o varios números de teléfono para "teléfono del trabajo"). Los atributos y clases de objetos suelen estar estandarizados en toda la industria; por ejemplo, los atributos y clases X.500 a menudo se registran formalmente en la IANA por su ID de objeto. [ cita necesaria ] Por lo tanto, las aplicaciones de directorio intentan reutilizar clases y atributos estándar para maximizar el beneficio del software de servidor de directorio existente.
Las instancias de objetos se ubican en espacios de nombres; cada clase de objeto hereda de su clase de objeto principal (y, en última instancia, de la raíz de la jerarquía ), agregando atributos a la lista de elementos imprescindibles. Los servicios de directorio suelen ser fundamentales para el diseño de seguridad de un sistema de TI y, en consecuencia, tienen una granularidad de control de acceso muy fina.
La replicación y la distribución tienen significados distintos en el diseño y gestión de un servicio de directorio. La replicación se utiliza para indicar que el mismo espacio de nombres de directorio (los mismos objetos) se copian a otro servidor de directorio por razones de redundancia y rendimiento; el espacio de nombres replicado se rige por la misma autoridad. La distribución se utiliza para indicar que varios servidores de directorio en diferentes espacios de nombres están interconectados para formar un servicio de directorio distribuido; cada espacio de nombres puede estar gobernado por una autoridad diferente.
Los servicios de directorio formaban parte de una iniciativa de Interconexión de sistemas abiertos (OSI) para estándares de red comunes e interoperabilidad de múltiples proveedores. Durante la década de 1980, la UIT y la ISO crearon el conjunto de estándares X.500 para servicios de directorio, inicialmente para soportar los requisitos de mensajería electrónica entre operadores y búsqueda de nombres de redes. El Protocolo ligero de acceso a directorios (LDAP) se basa en los servicios de información de directorios X.500, utilizando la pila TCP/IP y un esquema de codificación de cadenas del Protocolo de acceso a directorios (DAP) X.500 en Internet .
Los sistemas desarrollados antes del X.500 incluyen:
Las implementaciones basadas en LDAP/X.500 incluyen:
Las herramientas de código abierto para crear servicios de directorio incluyen OpenLDAP, el protocolo Kerberos y el software Samba , que puede funcionar como un controlador de dominio de Windows con servidores Kerberos y LDAP . La administración es por GOsa o Samba SWAT.
Los servicios de nombres en sistemas Unix normalmente se configuran a través de nsswitch.conf . La información de los servicios de nombres se puede recuperar con getent .