En informática , un servicio de directorio o servicio de nombres asigna los nombres de los recursos de red a sus respectivas direcciones de red . Se trata de 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 fundamental 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 en particular se almacena como un conjunto de atributos asociados a dicho recurso u objeto.
Un servicio de directorio define un espacio de nombres para la red. Este espacio de nombres se utiliza para asignar un nombre (identificador único) a cada objeto. Los directorios suelen tener un conjunto de reglas que determinan cómo se nombran e identifican los recursos de red, lo que generalmente incluye el requisito de que los identificadores sean únicos e inequívocos . Al usar un servicio de directorio, el usuario no necesita recordar la dirección física de un recurso de red; basta con proporcionar un nombre para localizarlo. Algunos servicios de directorio incluyen medidas de control de acceso , limitando la disponibilidad de la información del directorio a los usuarios autorizados .
Comparación con bases de datos relacionales
Varias cosas distinguen un servicio de directorio de una base de datos relacional . Los datos pueden ser redundantes si esto mejora el rendimiento (por ejemplo, repitiendo valores en filas de una tabla en lugar de relacionarlos con el contenido de otra tabla mediante una clave, técnica denominada desnormalización ; otra técnica podría ser la utilización de réplicas para aumentar el rendimiento real). [ 1 ]
Los esquemas de directorio son clases de objetos, atributos, enlaces de nombres y conocimiento (espacios de nombres) donde una clase de objeto tiene:
- Debe : atributos que cada instancia debe tener
- May : atributos que se pueden definir para una instancia pero que se pueden omitir, siendo su ausencia similar a NULL en una base de datos relacional.
En ocasiones, los atributos son multivalorados, lo que permite asignar varios atributos de nomenclatura en un mismo nivel (como la concatenación de tipo de máquina y número de serie , o varios números de teléfono para el "teléfono de trabajo"). Los atributos y las clases de objetos suelen estar estandarizados en el sector; por ejemplo, los atributos y las clases X.500 se registran formalmente en la IANA para su ID de objeto. Por lo tanto, las aplicaciones de directorio intentan reutilizar las clases y los atributos estándar para aprovechar al máximo el 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 padre (y, en última instancia, de la raíz de la jerarquía ), agregando atributos a la lista de permisos obligatorios y opcionales. Los servicios de directorio suelen ser fundamentales para el diseño de seguridad de un sistema de TI y, por consiguiente, presentan un control de acceso con una granularidad muy precisa.
Replicación y distribución
La replicación y la distribución tienen significados distintos en el diseño y la 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 copia a otro servidor de directorio por motivos de redundancia y rendimiento; el espacio de nombres replicado está gobernado por la misma autoridad. La distribución se utiliza para indicar que varios servidores de directorio en diferentes espacios de nombres se interconectan para formar un servicio de directorio distribuido; cada espacio de nombres puede estar gobernado por una autoridad diferente.
Implementaciones
Los servicios de directorio formaban parte de la iniciativa de Interconexión de Sistemas Abiertos (OSI) para establecer estándares de red comunes e interoperabilidad entre 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 satisfacer los requisitos de mensajería electrónica entre operadores y búsqueda de nombres de red. El Protocolo ligero de acceso a directorios (LDAP) se basa en los servicios de información de directorio 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:
- Sistema de nombres de dominio (DNS): El primer servicio de directorio en Internet, [ 2 ] todavía en uso
- Hesiod : Basado en DNS y utilizado en el Proyecto Athena del MIT.
- Servicio de Información de Red (NIS): Originalmente conocido como Páginas Amarillas (YP), era la implementación de Sun Microsystems de un servicio de directorio para entornos de red Unix . Desempeñaba un papel similar al de Hesiod.
- NetInfo : Desarrollado por NeXT a finales de la década de 1980 para NEXTSTEP . Tras su adquisición por Apple, se lanzó como software de código abierto y fue el servicio de directorio de Mac OS X antes de ser reemplazado por Open Directory, basado en LDAP. El soporte para NetInfo se eliminó con el lanzamiento de macOS 10.5 Leopard.
- Banyan VINES : El primerservicio de directorio escalable
- Dominios NT : Desarrollados por Microsoft para proporcionar servicios de directorio a las máquinas Windows antes del lanzamiento de Active Directory basado en LDAP en Windows 2000. Windows Vista sigue siendo compatible con los dominios NT tras flexibilizar sus protocolos mínimos de autenticación.
Implementaciones de LDAP
Las implementaciones basadas en LDAP/X.500 incluyen:
- 389 Directory Server : Implementación de servidor de código abierto gratuito por Red Hat , con soporte comercial de Red Hat y SUSE .
- Active Directory : servicio de directorio de Microsoft para Windows , originario del directorio X.500, creado para su uso en Exchange Server , incluido por primera vez en Windows 2000 Server y compatible con versiones posteriores de Windows.
- Servidor de directorio Apache : Servicio de directorio, escrito en Java, compatible con LDAP, Kerberos 5 y el Protocolo de cambio de contraseña; certificado para LDAPv3.
- Directorio abierto de Apple : el servidor de directorios de Apple para Mac OS X , disponible a través de Mac OS X Server.
- eDirectory: La implementación de servicios de directorio de NetIQ admite múltiples arquitecturas, incluidas Windows , NetWare , Linux y varias variantes de Unix , y se utiliza para la administración y configuración de usuarios y la gestión de software; anteriormente se conocía como Novell Directory Services.
- Red Hat Directory Server : Red Hat lanzó Red Hat Directory Server, adquirido de la unidad Netscape Security Solutions de AOL, [ 3 ] como un producto comercial que se ejecuta sobre Red Hat Enterprise Linux como el proyecto 389 Directory Server con soporte de la comunidad . El proyecto de código abierto ascendente se llama FreeIPA .
- Oracle Internet Directory (OID) es el servicio de directorio de Oracle Corporation , compatible con LDAP versión 3.
- Servidor de directorio del sistema Java de Sun : servicio de directorio de Sun Microsystems [ 4 ]
- OpenDS : Servicio de directorio de código abierto en Java, respaldado por Sun Microsystems [ 5 ]
- Oracle Unified Directory (OUD) es la solución de directorio unificado de próxima generación de Oracle Corporation . Integra funcionalidades de almacenamiento, sincronización y proxy.
- Los Servicios de directorio de Windows NT (NTDS), posteriormente renombrados como Active Directory , sustituyeron al antiguo sistema de dominio NT.
- Servidor de directorio de ruta crítica
- OpenLDAP : Derivado de la implementación LDAP original de la Universidad de Michigan (al igual que las implementaciones JSDS de Netscape, Red Hat, Fedora y Sun), es compatible con todas las arquitecturas informáticas (incluidas Unix y sus derivados, Linux, Windows, z/OS y varios sistemas integrados en tiempo real).
- Lotus Domino
- Directorio Nexor
- OpenDJ es un servidor LDAP y cliente de directorio basado en Java que se ejecuta en cualquier entorno operativo, bajo la licencia CDDL . Desarrollado por ForgeRock hasta 2016, [ 6 ] ahora es mantenido por la comunidad de OpenDJ.
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 backend Kerberos y LDAP . La administración se realiza mediante GOsa o Samba SWAT.
Utilizando servicios de nombres
Sistemas Unix
Los servicios de nombres en sistemas Unix se configuran normalmente a través de nsswitch.conf . La información de los servicios de nombres se puede recuperar con getent .
Véase también
- Lista de control de acceso
- Lenguaje de marcado de servicios de directorio
- Modelo de base de datos jerárquico
- Formato de intercambio de datos LDAP
- Metadirectorio
- Plataforma de prestación de servicios
- Directorio virtual
Referencias
Citas
- ^ "Cuándo y cómo desnormalizar una base de datos relacional" . rubygarage.org . Consultado el 30 de abril de 2023 .
- ^ "RFC1034" . IETF.org. 1978-11-01 . Consultado el 2018-02-13 .
- ^ "Red Hat gasta 23 millones de dólares en el negocio de soluciones de seguridad de la antigua Netscape" . Consultado el 22 de abril de 2018 .
- ^ "Oracle y Sun" . Sun.com. 7 de septiembre de 2010. Consultado el 9 de enero de 2012 .
- ^ "Java.net" . Opends.dev.java.net. Archivado del original el 4 de julio de 2007. Consultado el 9 de enero de 2012 .
- ^ "ForgeRock ha clausurado la comunidad de código abierto y ya no permite nuevos desarrollos en su plataforma bajo una licencia permisiva" . timeforafork . 1 de junio de 2017. Archivado del original el 3 de octubre de 2017. Consultado el 1 de junio de 2017 .
Fuentes
- Carter, Gerald (2003). Administración de sistemas LDAP . O'Reilly Media . ISBN 978-1-56592-491-8.
- Control de acceso informático
- protocolos de control de acceso informático
- Servicios de directorio
- Sistema de nombres de dominio