Configuración de grupos dinámicos

Para utilizar grupos dinámicos, siga estos pasos:
cad126es
Para utilizar grupos dinámicos, siga estos pasos:
  1. Agregue miembros al grupo dinámico.
    A continuación, se pueden realizar una o ambas de las siguientes acciones:
    • Crear un rol de aplicación.
    • Configurar los roles de directorio dinámicos.
Activación de los grupos dinámicos
Los roles dinámicos se basan en el atributo
dxMemberURL
de las clases de objeto siguientes:
  • dxDynamicGroupOfNames
  • dxDynamicGroupOfUniqueNames
Se pueden agregar estos atributos a una clase de objeto 
groupOfNames
o
groupOfUniqueNames
respectivamente para que se pueda incluir
dxMemberURL
.
Nota:
Una creencia errónea común es que
groupOfUniqueNames
se elige por encima de
groupOfNames
para garantizar que los valores de los miembros sean únicos. Ambas clases de objeto, 
groupOfNames
y
groupOfUniqueNames
, garantizan que los valores de los miembros sean únicos. Para
groupOfUniqueNames
, el atributo
uniqueMember
define una sintaxis diferente,
nameAndOptionalUID
. Esta compatibilidad se incluye para facilitar a los clientes la actualización de una implementación de X.500 existente a CA Directory. En este escenario, pueden existir dos entradas en el árbol de información de directorios con el mismo nombre distintivo, pero estas entradas se diferencian la una de la otra por un identificador único. Para implementaciones LDAP puras en las que no se utiliza la parte UID de la sintaxis de
nameAndOptionalUID
, se debe utilizar
groupOfNames/member
, ya que realiza la misma función.
Lleve a cabo los pasos siguientes:
  1. Detenga el agente de sistema de directorio.
  2. Agregue los siguientes comandos al agente de sistema de directorio:
    clear dynamic-group; set dynamic-group [tag] = { subtree = DN object-class = objectClass url-attr = attribute member-attr = attribute };
    Por ejemplo:
    clear dynamic-group; # to allow command to be reloaded on dxserver init set dynamic-group GROUP = { subtree = <c AU><o Democorp><ou Groups> objectclass = dxDynamicGroupOfNames url-attr = dxMemberURL member-attr = member };
  3. Inicie el agente de sistema de directorio.
  4. Asegúrese de que el árbol de información de directorios contiene un subárbol en el que se pueden almacenar las entradas de grupo.
    Nota:
    Mediante el parámetro [subtree = DN], también se puede especificar el subárbol del grupo dinámico para inspeccionar el atributo baseObject de cada solicitud recibida por el agente de sistema de directorio. Mediante el uso de este parámetro, se puede restringir la búsqueda a solo este subárbol. Este parámetro admite la búsqueda de pertenencias a grupos dinámicos y compara las solicitudes sin necesidad de utilizar el comando
    set use-dynamic-roles = true;
    .
    ou=Groups,o=Democorp,c=AU
Creación de un grupo dinámico
Puesto que un grupo dinámico es una entrada de directorio, se puede crear un grupo sin necesidad de detener el agente de sistema de directorio.
Se debe crear un subárbol especial para las entradas de grupo. Este paso facilita la implementación de los controles de acceso y los roles más adelante.
Lleve a cabo los pasos siguientes:
  1. (Opcional) Si no existe un subárbol, cree un subárbol para las entradas de grupo.
  2. Cree una entrada en el subárbol de grupos con la información siguiente:
    • Clase de objeto:
      groupOfNames
      ,
      dxDynamicGroupOfNames
    • Filtro de búsqueda LDAP: Incluya este filtro en el atributo
      dxMemberURL
      .
Ejemplo: Creación de una entrada de grupo dinámico para 
gestores
Cree un subárbol de grupo dinámico y una entrada de grupo dinámico para los usuarios con un rol de gestor.
dn: ou=Groups,o=Democorp,c=AU
objectClass: organizationalUnit
 
dn: cn=Managers,ou=Groups,o=Democorp,c=AU
objectClass: groupOfNames                    # structural objectClass that contains member
objectClass: dxDynamicGroupOfNames           # auxiliary objectClass that contains dxMemberURL
dxMemberURL: ldap://ou=Users,o=Democorp,c=AU??sub?(position=Manager)
Agregación de un miembro a un grupo dinámico
Para agregar un miembro a un grupo dinámico, se debe incluir información en la entrada del usuario para cumplir con los criterios del filtro para ese rol.
Ejemplo: Agregación del usuario
Craig Link
 al grupo
Gestores
Se ha creado un grupo dinámico que utiliza el filtro siguiente:
ldap://ou=Users,o=Democorp,c=AU??sub?(position=Manager)
Para asignar el grupo gestores a un usuario, realice los pasos siguientes:
  1. Agregue el atributo 
    position
     a la entrada de un usuario.
  2. Agregue el valor 
    Gestores
     al atributo de posición.
La próxima vez que se evalúe el grupo 
Gestores
, este usuario será miembro del grupo.
dn: cn=Craig Link,ou=Users,o=Democorp,c=AU
objectClass: inetOrgPerson
surname: Link
position: Manager
Exclusión de un miembro de un grupo dinámico
Se puede impedir manualmente que se rellene el atributo de miembro de un grupo dinámico. A veces, el atributo de miembro de un grupo dinámico se rellena con valores no deseados. Estos datos subyacentes provocan que la entrada coincida con la dirección URL de LDAP del grupo dinámico, la cual no se puede cambiar. Estos valores se pueden excluir manualmente mediante el atributo
dxExcludeMember
de grupos dinámicos.
Ejemplo: Exclusión del usuario
Joe Bloggs
del grupo
Administradores
Un usuario es un administrador fuera del directorio (título = Administrador). Este atributo también tiene roles de directorio para los que el usuario no debe tener privilegios de administrador.
Se dispone del grupo dinámico siguiente:
dn: cn=Administrators,ou=Groups,o=Democorp,c=AU
objectClass: groupOfNames
objectClass: dxDynamicGroupOfNames
dxMemberURL: ldap:///ou=Users,o=Democorp,c=AU??sub?(title=Administrator)
El grupo tiene el siguiente usuario que cumple con el atributo 
dxMemberURL
:
dn: cn=Joe Bloggs,ou=Users,o=Democorp,c=AU
objectClass: inetOrgPerson
surname: Bloggs
title: Administrator
Se puede excluir el usuario del grupo dinámico, pero se puede conservar el valor del atributo de título realizando el siguiente cambio en el grupo dinámico:
dn: cn=administrators,ou=Groups,o=Democorp,c=AU
objectClass: groupOfNames
objectClass: dxDynamicGroupOfNames
dxMemberURL: ldap:///ou=Users,o=Democorp,c=AU??sub?(title=Administrator)
dxExcludeMember: cn=Joe Bloggs,ou=Users,o=Democorp,c=AU
La exclusión de un miembro de la pertenencia a un grupo dinámico repercute en las siguientes operaciones relacionadas con un grupo dinámico:
  • Búsquedas de miembros:
    Si se excluye un miembro, al buscar en el subárbol del grupo dinámico con el
    filtro que contiene "member=<nombre_distintivo>"
    , no se devuelve ningún resultado.
  • Búsquedas de roles:
    Si el miembro se ha excluido explícitamente, la carga de roles cuando un usuario se vincula a un agente de sistema de directorio se ve afectada. Ya no se cargan los roles de los que se ha excluido el miembro (se requiere 
    set use-dynamic-roles = true;
    ). 
  • Expansión del grupo dinámico:
    La devolución de un grupo dinámico mediante una búsqueda de solo objetos base que devuelve todos los atributos no incluye el miembro excluido en la lista de valores de atributos de miembro.
Notas:
  • Existe una limitación cuando se devuelve un grupo dinámico mediante una búsqueda de solo objetos base. Si se especifica una lista de atributos de retorno, la lista debe contener al menos objectClass,
    dxMemberURL
    y también
    dxExcludeMember
    para que el atributo de miembro se rellene correctamente.
  • Si se utiliza
    dxDynamicGroupOfUniqueNames
    , se debe configurar el grupo dinámico para que utilice el atributo
    dxExcludeUniqueMember
    .
  • Si se agrega un gran número de valores (> 100) a
    dxExcludeMember
    , es posible que se deba volver a configurar la entrada del grupo dinámico. Esta función está diseñada para excepciones; las reglas quedan excluidas.
  • En el caso de los grupos híbridos (contienen miembros estáticos y dinámicos), se excluye un miembro estático si se utiliza con
    dxExcludeMember
    . Idealmente, se debería eliminar explícitamente el valor del miembro estático.
  • En el caso de los grupos estáticos, no se utiliza
    dxExcludeMember
    . Si el valor del miembro estático ya no es necesario, puede simplemente eliminarse.
Visualización de la configuración de un grupo dinámico
Para ver la configuración de un grupo dinámico en uso en un agente de sistema de directorio, utilice el siguiente comando desde la consola del agente de sistema de directorio:
get dynamic-groups;
Este comando genera una lista de los grupos dinámicos en uso.
Ejemplo: Salida del comando "get dynamic-groups"
************** GROUP ************** Group object class : dxDynamicGroupsOfNames Group Search URL : dxMemberURL Member to Append : member Member to Exclude : dxExcludeMember