Sun Java Desktop System Configuration Manager, Versión 1: Guía de instalación

Capítulo 2 Servidor LDAP

Este capítulo proporciona información sobre la configuración y la implementación de un servidor LDAP, para usarlo junto con Configuration Manager.

Conceptos

Dentro de la estructura de Java Desktop System Configuration Manager, los datos de configuración están asociados a entidades, que son entradas del depósito LDAP y se corresponden con elementos de la estructura de organización de la empresa.

Se reconocen las siguientes entidades:

Las entidades de la organización y el usuario se utilizan para definir un árbol del usuario, mientras que las entidades del dominio y del sistema definen a un árbol del sistema. Estos dos árboles son independientes pero se gestionan de manera similar en la estructura.

La relación de las entidades del dominio y la organización con otras entradas se define mediante la ubicación física de las entradas dentro del depósito. Es decir, las entidades de la organización y el dominio pueden incluir entradas situadas por debajo de ellas en el árbol. La relación de los roles con los usuarios o con los sistemas la definen los atributos del usuario y las entradas del sistema.

Los datos de configuración asociados a una entidad se almacenan en entradas especiales que se gestionan mediante la estructura y que se identifican por el contenedor y el nombre del servicio asociados a las entradas.

Configuración

Para usar un servidor LDAP con Configuration Manager, necesita:

Herramientas de desarrollo

Para usar un servidor LDAP con Configuration Manager es necesario usar las herramientas de implementación siguientes que se encuentran en el CD de instalación:

Ampliación del esquema

Los datos de la configuración se almacenan en árboles de entradas que se adjuntan a las entradas con que se asocian los datos. Para poder almacenar las clases de los objetos y los atributos utilizados por estos árboles en un servidor LDAP, debe añadir los objetos y las clases al esquema del servidor LDAP. Por ejemplo, el archivo de extensión del esquema proporcionado utiliza el formato LDIF para añadir estos objetos y clases a Sun JavaTM System Directory Server. Si desea añadir estos objetos y clases a otros servidores LDAP, necesita utilizar un formato reconocido por los servidores.

Asignación organizativa

Para definir la asignación entre las entradas de LDAP y las entidades de Configuration Manager, debe editarse el archivo Organization. Los valores que coincidan con la distribución del depósito LDAP se deben proporcionar a las diversas claves.

Las entidades del usuario se identifican mediante una clase de objeto que utilizan todas las entidades, así como un atributo cuyo valor debe ser exclusivo en todo el depósito. Se puede proporcionar el formato de presentación de un nombre que afectará a la forma en que los usuarios se muestran en la aplicación de gestión y, opcionalmente, se puede definir una entrada del contenedor si las entradas del usuario de una organización utilizan dicha entrada. Los nombres de las claves y sus valores predeterminados son:

# Clase de objeto que usan todas las entradas del usuario
User/ObjectClass=inetorgperson
# Atributo cuyo valor en entradas del usuario es exclusivo dentro del depósito
User/UniqueIdAttribute=uid
# Contenedor opcional en entradas de organización de las entradas del usuario,
# eliminar línea si no se utiliza
User/Container=ou=People
# Formato de nombre de visualización dentro de la aplicación de gestión
User/DisplayNameFormat=sn, givenname

Las entidades del rol se identifican mediante una lista de clases de objetos posibles que utilizan, junto con los atributos correspondientes de asignación de nombres. Estas listas usan el formato <elemento1>,<elemento2>,...,<elementoN> y deben estar alineadas. Es decir, las listas deben tener el mismo número de elementos y la clase de objeto nth se debe utilizar con el atributo de asignación de nombres nth. Dos claves definen la relación entre los roles y los usuarios, así como entre aquéllos y los sistemas. La clave VirtualMemberAttribute debe especificar un atributo cuyos valores se puedan consultar a partir de un usuario o entrada del sistema; también debe contener todos los DN de los roles a los que pertenece la entrada. La clave MemberAttribute debe especificar un atributo para el filtro de búsqueda a partir de un usuario o entrada del sistema; también contiene todos los DN de los roles a los que pertenece el usuario o el sistema. La clave VirtualMemberAttribute puede ser un atributo virtual Clase de servicio, mientras que la clave MemberAttribute debe tener un atributo físico que se pueda utilizar en un filtro. Los nombres de las claves y sus valores predeterminados son:

# Lista de clases de objeto para roles
Role/ObjectClass=nsRoleDefinition
# Lista alineada de atributos de nombre correspondientes
Role/NamingAttribute=cn
# Atributo físico (usable en filtro) que contiene los DN
# de los roles de un usuario/sistema
Role/MemberAttribute=nsRoleDN
# Atributo cuya consulta en un usuario o sistema devuelve los DN de
# los roles a los que pertenece
Role/VirtualMemberAttribute=nsRole

Las entidades de la organización se identifican de forma similar a los roles, con dos listas alineadas de clases de objetos y atributos correspondientes de asignación de nombres. Los nombres de las claves y sus valores predeterminados son:

# Lista de clases de objeto para organizaciones
Organization/ObjectClass=organization
# Lista alineada de atributos de nombre correspondientes
Organization/NamingAttribute=o

Las entidades de dominio se identifican de manera similar a la entidad de la organización. Los nombres de las claves y sus valores predeterminados son:

# Lista de clases de objeto para dominios
Domain/ObjectClass=ipNetwork
# Lista alineada de atributos de nombre correspondientes
Domain/NamingAttribute=cn

Las entidades de los sistemas se identifican de manera similar a las entidades del usuario. Los nombres de las claves y sus valores predeterminados son:

# Clase de objeto que usan todas las entradas de sistema
Host/ObjectClass=ipHost
# Atributo cuyo valor en las entradas de sistema es exclusivo dentro del depósito
Host/UniqueIdAttribute=cn
# Contenedor opcional en entradas de dominio de las entradas de sistema,
# eliminar línea si no se utiliza
Host/Container=ou=Hosts

Asignación de perfiles del usuario

Para definir la asignación entre los atributos de las entradas del usuario de LDAP y los atributos de las entidades del usuario de Configuration Manager debe editarse el archivo User Profile. Cada clave corresponde a un atributo del usuario de Configuration Manager. Se puede asignar una clave como valor al nombre de un atributo en una entrada del usuario, como la identifica la asignación de la organización. Los atributos que se utilizan en la configuración de User/DisplayNameFormat se deben proporcionar en la asignación del Perfil del usuario. Los nombres de las claves y sus valores predeterminados son:

# inetOrgPerson.givenName
org.openoffice.UserProfile/Data/givenname = givenname
# person.sn
org.openoffice.UserProfile/Data/sn = sn
# inetOrgPerson.initials
org.openoffice.UserProfile/Data/initials = initials
# organizationalPerson.street
org.openoffice.UserProfile/Data/street = street,postalAddress,streetAddress
# organizationalPerson.l (city)
org.openoffice.UserProfile/Data/l = l
# organizationalPerson.st (state)
org.openoffice.UserProfile/Data/st = st
# organizationalPerson.postalCode
org.openoffice.UserProfile/Data/postalcode = postalcode
# country.c (country)
org.openoffice.UserProfile/Data/c =
# organizationalPerson.o (company)
org.openoffice.UserProfile/Data/o = o,organizationName
# deprecated -- no LDAP corollary
org.openoffice.UserProfile/Data/position =
# organizationalPerson.title
org.openoffice.UserProfile/Data/title = title
# inetOrgPerson.homePhone
org.openoffice.UserProfile/Data/homephone = homephone
# organizationalPerson.telephoneNumber
org.openoffice.UserProfile/Data/telephonenumber = telephonenumber
# organizationalPerson.facsimileTelephoneNumber
org.openoffice.UserProfile/Data/facsimiletelephonenumber =
facsimiletelephonenumber,officeFax
# inetOrgPerson.mail
org.openoffice.UserProfile/Data/mail = mail

Desarrollo

Después de haber personalizado los archivos de asignación para reflejar el estado del depósito LDAP, se pueden desarrollar. Si el esquema del servidor LDAP ya contiene las clases de objetos y los atributos solicitados, la secuencia de órdenes createServiceTree se puede ejecutar directamente; de lo contrario se debe ejecutar la secuencia deployApoc.

La secuencia deployApoc está pensada para utilizarla con Sun JavaTM System Directory Servers. Copia el archivo de ampliación del esquema proporcionado en el directorio adecuado y pasa al servidor LDAP; después se debe invocar la secuencia createServiceTree. Se debe ejecutar como usuario con los permisos para copiar archivos en el depósito del esquema, reiniciar el servidor e invocarlo mediante:

./deployApoc <Directorio de Directory Server>

El parámetro <Directorio de Directory Server> debe ser la ruta de acceso al subdirectorio slapd-<nombre_servidor> de una instalación de Servidor de directorios. Suponiendo que la instalación utilice los directorios predeterminados y que el servidor se denomine miservidor.midominio, ese directorio sería /var/Sun/mps/slapd-miservidor.midominio.

La secuencia createServiceTree (invocada directamente o desde la secuencia deployApoc) pedirá al usuario la ubicación del servidor LDAP (nombre de sistema, número de puerto y DN base) y la definición de un usuario con derechos de administración (DN completo y contraseña). La secuencia crea, después, un árbol de servicio de la rutina de carga en el servidor LDAP y almacena los archivos de asignación en él. Se puede ejecutar como cualquier usuario y se invoca mediante:

./createServiceTree

Después, al usuario se le solicita:

Una entrada cuyo DN es:

ou=ApocRegistry,ou=default,ou=OrganizationConfig,ou=1.0,ou=ApocService,ou=services, <baseDN>

se crea y se llena con el contenido de los dos archivos de asignación.

Como se ha mencionado anteriormente, las operaciones llevadas a cabo por la secuencia deployApoc presuponen un servidor LDAP cuyos directorios de instalación, distribución y extensión de esquema coincidan en gran medida con el de Sun Java System Directory Server. Otros directorios necesitan una ampliación manual del esquema antes de poder ejecutar la secuencia createServiceTree. Para más información sobre el uso de OpenLDAP y ActiveDirectory, consulte el Apéndice C, Utilización de OpenLDAP y Active Directory con Configuration Manager.

El árbol creado, que coincide con el que contendrá los datos de configuración asociados a las entidades, está alineado con la estructura de los árboles que se usan para la gestión de servicios en Sun Java System Identity Server.

Consideraciones adicionales

La estructura de Configuration Manager requiere que se pueda crear una conexión con el servidor LDAP con permisos de lectura y búsqueda para identificar qué DN completo está asociado con un identificador del usuario o sistema dados que provenga del escritorio. En consecuencia, el depósito se debe configurar para permitir conexiones anónimas o se debe crear para tal fin un usuario especial con acceso de lectura y búsqueda.

La aplicación de gestión crea árboles de servicio bajo las entradas asignadas en las entidades, para mantener los datos de la configuración de estas entidades. Por lo tanto, las entradas del usuario utilizadas para la gestión deben tener derechos para crear subentradas bajo las entradas que están gestionando.

La autentificación de los usuarios de la estructura de los clientes del escritorio se puede efectuar con dos métodos denominados Anonymous() y GSSAPI(). El primero necesita que se habilite el acceso anónimo para lectura y búsqueda en todo el depósito, puesto que los clientes del escritorio no proporcionarán credenciales cuando intenten recuperar datos del servidor LDAP. Para usar el método GSSAPI() (con Kerberos para la autentificación), el servidor LDAP debe estar configurado como se describe en el capítulo “Gestión de autentificación y encriptación” del documento Sun JavaTM System Directory Server 5 2004Q2 Administration Guide.