Asignación de LDAP

Un repositorio de LDAP consta de varias entradas. Cada entrada representa un objeto en el directorio que se define por un nombre distintivo y puede contener uno o varios atributos. En un repositorio normal, suele haber una entrada para los usuarios y una entrada para grupos. La conexión entre usuarios y grupos puede implantarse de dos formas diferentes:

  • Los usuarios que pertenecen a un grupo se definen en un atributo especial con varios valores en la entrada Grupo.

  • Los grupos a los que pertenece el usuario se definen en un atributo especial con varios valores en la entrada Usuario.

La asignación entre los objetos de seguridad de LDAP y los objetos de seguridad base se almacena en un documento XML que puede procesarse mediante la tarea por lotes de importación de LDAP. Como parte de la configuración del sistema para la importación de LDAP, necesitará definir esta asignación. El paquete base proporciona un fichero de asignaciones de ejemplo llamado ldapdef.xml que puede utilizarse como punto de inicio y cambiarse según los requisitos de su negocio y su repositorio de LDAP concreto.

Una vez definido el documento XML de asignación, esto se configura como un parámetro en la tarea por lotes F1-LDAP.

La estructura de XML:

  • El elemento LDAPEntry asigna las entradas de LDAP a los objetos del sistema (Usuario o grupo). El fichero de asignación debe contener solamente un elemento LDAPEntry para el usuario y uno para el grupo.

  • El elemento LDAPCDXAttrMapping dentro del elemento LDAPEntry asigna los atributos en la entrada de LDAP a los atributos en el objeto del sistema.

  • El elemento LDAPEntryLinks describe los objetos enlazados a la entrada de LDAP. Cuando se asigna la entidad de usuario se necesita describir el procedimiento de recuperación de los grupos a los que pertenece el usuario. Cuando se asigna la entidad de grupo se necesita describir el procedimiento de recuperación de los usuarios que contiene el grupo.

La tabla siguiente describe los atributos que se definen para cada elemento.

Elemento

Atributo

Descripción

LDAPEntry

name

Nombre de la entrada de LDAP:

- Grupo

- Usuario

baseDN

Nombre distintivo base en LDAP para esta entrada.

cdxEntity

Nombre de la entidad del producto base a la que corresponde la entrada de LDAP:

- Grupo

- Usuario

searchFilter

Filtro de búsquedas de LDAP que se utiliza para ubicar las entradas de LDAP. Una cadena %searchParm% en dicho filtro se sustituye por el valor procedente del parámetro de usuario o grupo, a partir de la ejecución de la tarea por lotes F1-LDAP .

Ámbito

Configura el ámbito de la búsqueda. Los valores válidos son:

- onelevel (valor usado normalmente)

- subtree

LDAPCDXAttrMapping

ldapAttr

Nombre del atributo de LDAP que se va a asignar. Tenga en cuenta que se puede hacer referencia a esto más de una vez para permitir que un elemento de LDAP se asigne a varios elementos de productos base. Por ejemplo, si una dirección de correo electrónico debe utilizarse tanto para el ID de conexión y la dirección de correo electrónico.

cdxName

Nombre del atributo de producto base que se va a asignar.

Para Usuario, este es el elemento dentro del objeto de negocio F1-IDMUser.

Para Grupo, esto puede ser el "grupo" o la "descripción".

default

El valor por defecto que se asignará al elemento referenciado en el atributo cdxName cuando se produce una de las situaciones siguientes:

- El atributo LDAP contiene un valor nulo o vacío.

- El atributo LDAP no existe o no se especifica.

Los valores por defecto se aplican solo al crear una nueva entidad y no son entidades aplicadas o actualizadas.

autoGenerate

Configure esto como verdadero para activar la generación automática del identificador de usuario. Si esto es verdadero, el sistema definirá el identificador de usuario como la <primera inicial del nombre>+<apellido> todos los caracteres en mayúsculas hasta un máximo de 8 dígitos. Si se encuentra un usuario existente para el ID generado, un número reemplazará los ocho dígitos o se anexará al final. El sistema incrementará el número hasta que se encuentre un identificador único.

transform

Utilice este atributo para indicar si se debe producir una transformación de los datos. Valores válidos: uppercase|truncate. Tenga en cuenta que este atributo no debería utilizarse en conjunto con el atributo autoGenerate.

LDAPEntryLink

linkedToLDAPEntity

El nombre de la entidad enlazada (Usuario o Grupo). Utilice el usuario en la descripción de la entidad Grupo. Utilice grupo en la descripción de la entidad Usuario.

linkingLDAPAttr

Nombre del atributo con varios valores de la entidad de LDAP que contiene la entidad enlazada.

linkingSearchFilter

Filtro de búsqueda que se aplica para recuperar la lista de objetos enlazados, por ejemplo:

(&amp;(objectClass=group)(memberOf=%attr%))

El filtro de búsqueda puede contener la cadena % attr % que actúa como una cadena de sustitución y se sustituye en tiempo de ejecución por el valor del atributo llamada "attr" de la entidad importada. Si la entrada de LDAP que describe es un grupo y la cadena es %name%, se reemplaza por el valor del atributo "name" del grupo que se importa. Si la entrada es Usuario y la cadena es %dn%, se reemplaza por el atributo "dn" del usuario que se importa.

linkingSearchScope

Configura el ámbito de la búsqueda. Los valores válidos son:

- onelevel (el valor que se utiliza normalmente)

- subtree

Asignación de ejemplo

El siguiente XML de ejemplo describe un ejemplo de asignación. En el ejemplo se hacen algunas asunciones:

  • El atributo del producto base displayProfileCodese define por defecto como "NORTHAM" cuando se añade un usuario nuevo.

  • La entrada Grupo LDAP contiene la lista de usuarios que pertenecen al grupo en al atributo departmentNumber .

  • Los grupos a los que pertenece el usuario se recuperan mediante la aplicación de un filtro de búsqueda.

<LDAPEntries>
  <LDAPEntry name=" User" baseDN="ou=people,dc=example,dc=com" cdxEntity=" 
   user" searchFilter=" (&amp;(objectClass=inetOrgPerson)(uid=%searchParm%))">
    <LDAPCDXAttrMappings>
      <LDAPCDXAttrMapping ldapAttr="uid" cdxName=" user" />
      <LDAPCDXAttrMapping ldapAttr="cn" cdxName="externalUserId" />
      <LDAPCDXAttrMapping cdxName="language" default=" ENG" />
      <LDAPCDXAttrMapping ldapAttr="givenName" cdxName="firstName"/>
      <LDAPCDXAttrMapping ldapAttr="sn" cdxName= "lastName"/>
      <LDAPCDXAttrMapping cdxName="displayProfileCode" default="NORTHAM" />
      <LDAPCDXAttrMapping cdxName="toDoEntriesAge1" default="30" />
      <LDAPCDXAttrMapping cdxName="toDoEntriesAge2" default="90" />
      <LDAPCDXAttrMapping cdxName="userEnable" default="ENBL"/>
    </LDAPCDXAttrMappings>
    <LDAPEntryLinks>
      <LDAPEntryLink linkedToLDAPEntity="Group" linkingLDAPAttr="departmentNumber" />
    </LDAPEntryLinks>
 </LDAPEntry>
  <LDAPEntry name="Group" baseDN="ou=people,dc=example,dc=com" cdxEntity=" 
   Group" searchFilter=" (&amp;(objectClass=organizationalUnit)(ou=%searchParm%))">
    <LDAPCDXAttrMappings>
      <LDAPCDXAttrMapping ldapAttr="name" cdxName="Group" />
      <LDAPCDXAttrMapping ldapAttr="description" cdxName=" Description" default="Unknown" />
    </LDAPCDXAttrMappings>
    <LDAPEntryLinks>
      <LDAPEntryLink linkedToLDAPEntity="User" linkingSearchFilter=" 
      (&amp;(objectClass=inetOrgPerson)(departmentNumber=%distinguishedName%))" 
     linkingSearchScope="onelevel" />
    </LDAPEntryLinks>
  </LDAPEntry>
</LDAPEntries>