El insertar información en un servidor LDAP es uno de los primeros pasos a seguir después de su instalación, pero antes de insertar información es conveniente saber cual es su estructura dentro de las bases de datos (LDBM) utilizadas por LDAP .
Todo nodo o fragmento en un servidor LDAP es un DN Distinguished Name |
Es dentro de cada Distinguished Name que son definidos distintos atributos los cuales contienen información relevante como: Contraseñas, Apellidos, Fotografías, Nodos IP, o cualquier otro fragmento de información imaginable.
Cuando son definidos parámetros para base de datos siempre se indica un DN (Distinguished Name) raíz, éste debe ser representativo de la estructura jerárquica que se intenta captar.
DISTINGUISHED NAME Raíz | |||||
---|---|---|---|---|---|
méxico | méxico | brasil | brasil | venezuela | |
drubio | garaiza | lsantos | ffontes | kpiment | |
3ffw12eg | 2emndfs | we334faf | tert232 | 4fhlzpqa | |
(52)-(6)-3422321 | (52)-(5)-2353312 | (55)-(11)-8696446 | (55)-(21)-7453242 | (58)-(2)-4943421 |
La jerarquía anterior representa una organización , por lo que el Distinguished Name Raíz puede ser:
"dc=osmosislatina, dc=com" o "o=Osmosislatina, c=MX" |
La composición de cada distinguished name puede variar, en este caso se utilizaron los vocablos dc
de "Domain Component", c
de "Country", o
de "Object", sin embargo también hubiera sido posible utilizar p
de "País",cd
de "Componente Dominio". Los vocablos son solo descriptivos y su única restricción (si existiese) es llevada acabo en la definición de Schemas .
Además del DN distinguished name raíz, previa inserción de datos también existe un DN el cual posee acceso global sobre la base de datos (LDBM) en cuestión. Este DN es derivado del DN raíz, por lo que puede ser: "cn=Admin, dc=osmosislatina, dc=com"
, donde se utiliza cn
como vocablo y Admin
como valor, sin embargo, al igual que el DN raíz, este vocablo y valor pueden variar.
Para accesar la base de datos (LDBM) utilizando el DN administrativo se emplea la contraseña también definida en slapd.conf
mediante el parámetro rootpw
.
Estas estructuras o DN distinguished names generalmente se definen en archivos denominados LDIF. El siguiente archivo LDIF contiene los DN's mencionados anteriormente ( raíz
y administrativo
):
dn: dc=osmosislatina,dc=com objectClass: dcObject objectClass: organization o: Osmosislatina description: Desarrollos Open-Source en Español # Rol para administrador de la Red dn: cn=Admin,dc=osmosislatina,dc=com objectClass: organizationalRole cn: Admin description: Administrador del Servidor LDAP |
El primer elemento de cada estructura es casi obvio dn
de distinguished name. Los elementos en itálicas objectclass
están directamente relacionados con Schemas y definen el tipo de objeto para el DN,esto es: cuales y cuantos atributos puede contener.
Posteriormente se definen los Atributos para cada DN:
o
y description
para el primer DN.
cn
y description
para el segundo DN.
Nótese que no necesariamente existe correlación directa entre el DN y sus atributos, y como fue mencionado anteriormente la única restricción para atributos (si existiese) es llevada acabo mediante Schemas
Aunque los DN's raíz y administrativos se encuentran definidos para una base de datos (LDBM) es necesario insertarlos antes de realizar cualquier tipo de operación, el siguiente ejemplo asume que los parámetros para base de datos definidos en la sección de configuración serán utilizados.
|
Donde osmo.ldif
es el archivo LDIF.
adding new entry dc=smosislatina,dc=com
fue exitosa la inserción, de otra manera deberá revisar
Registros ("logs") de OpenLDAP
para observar el error ocurrido.
Una vez definidos los DN's raíz y administrativo
es posible insertar otros DN's que conformaron parte de la jerarquía. A continuación tres DN's estructurados como un archivo LDIF:
dn: cn=Daniel Robledo,dc=osmosislatina,dc=com cn: Daniel Robledo p=Mexico mail: drobledo@yahoo.com telefono: (52)-(6)-3422321 dn: cn=Fernanda Fontes,dc=osmosislatina,dc=com cn: Fernanda Fontes p=Brazil mail: fontes@yahoo.com telefono: (55)-(11)-8696446 dn: cn=Luis Arano,dc=osmosislatina,dc=com cn: Luis Arano p=Argentina mail: larano@slb.com teléfono: (58)-(2)-4943421 |
Para agregar estos DN's a la base de datos (LDBM) se debe ejecutar:
|
Donde personal.ldif
es el archivo LDIF definido en la parte superior.
Los DN's y sus atributos declarados anteriormente son solo básicos, ya que es posible definir una extensa jerarquía así como atributos; DN's por países, oficinas, hardware...., así como atributos relacionados con: nodos IP ,contraseñas, fotografías JPEG o GIF
Con los DN's que ya han sido insertados en la base de datos (LDBM) del servidor LDAP, ya es posible realizar búsquedas de información:
ldapsearch -bdc=osmosislatina,dc=com telefono=*52*
: Busca los DN's bajo el DN raíz dc=osmosislatina,dc=com
que contengan el atributo telefono
con las cifras 52
ldapsearch -bdc=osmosislatina,dc=com mail=*
: Busca los DN's bajo el DN raíz dc=osmosislatina,dc=com
que contengan el atributo email
.La instalación del servidor OpenLDAP que ha sido llevada acabo permite que cualquier tipo de búsqueda sea llevada acabo, sin embargo, en un ambiente de producción es un hecho que deben ser agregados diversos filtros y restricciones en base al usuario que este realizando la búsqueda.
Los ejemplos anteriores utilizaron las herramientas ldapadd
y ldapsearch
ofrecidas por OpenLDAP, sin embargo, cabe mencionar que existen otras herramientas para realizar búsquedas e insertar información en cualquier directorio LDAP: