Notas de la versión de Sun Java System Access Manager 7.1

En el modo Realm, la creación de un grupo nuevo genera una administración de grupo con ACIs que nunca se utilizan (6485695)

Si Access Manager se instala en el modo Realm, siempre que se cree un grupo nuevo, Access Manager creará dinámicamente una nueva administración de grupo con las ACIs necesarias para administrar el grupo. En el modo Realm, estas ACIs de administración de grupo no se utilizan. Sin embargo, Directory Server todavía las evalúa al procesar entradas bajo el sufijo, lo que puede reducir el rendimiento de Access Manager, especialmente si la implementación crea un gran número de grupos.

Solución: La solución para este problema implica dos partes:

Evitar que se creen ACIs de administración de grupos

El siguiente procedimiento impide que Access Manager cree una administración de grupo y las ACIs correspondientes cada vez que se cree un grupo nuevo.


Nota –

Este procedimiento evita permanentemente la creación de administraciones de grupo y las ACI correspondiente siempre que se cree un grupo nuevo. Use este procedimiento únicamente si este comportamiento es adecuado para su implementación específica.


  1. Realice una copia de seguridad del archivo amAdminConsole.xml. Este archivo se encuentra en el siguiente directorio, en función de su plataforma:

    • Sistemas Solaris: /etc/opt/SUNWam/config/xml

    • Sistemas Linux y HP-UX: /etc/opt/sun/identity/config/xml

    • Sistemas Windows: javaes-install-dir\identity\config\xml

      javaes-install-dir representa el directorio de instalación de Java ES 5. El valor predeterminado es C:\Program Files\Sun\JavaES5.

  2. En el archivo amAdminConsole.xml, elimine la siguiente entrada de administración de grupo que se muestra entre líneas de comentario:

    <AttributeSchema name="iplanet-am-admin-console-dynamic-aci-list"
        type="list"
        syntax="string"
        i18nKey="g111">
        <DefaultValues>
    ...
    # Beginning of entry to delete
                    <Value>Group Admin|Group Admin Description|ORGANIZATION:aci: 
    (target="ldap:///GROUPNAME")(targetattr = "*") 
    (version 3.0; acl "Group and people container admin role"; 
    allow (all) roledn = "ldap:///ROLENAME";)##ORGANIZATION:aci: 
    (target="ldap:///ORGANIZATION")
    (targetfilter=(&amp;FILTER(!(|(nsroledn=cn=Top-level Admin Role,dc=iplanet,dc=com)
    (nsroledn=cn=Top-level Help Desk Admin Role,dc=iplanet,dc=com)
    (nsroledn=cn=Top-level Policy Admin Role,dc=iplanet,dc=com)
    (nsroledn=cn=Organization Admin Role,ORGANIZATION)
    (nsroledn=cn=Container Admin Role,ORGANIZATION)
    (nsroledn=cn=Organization Policy Admin Role,ORGANIZATION)))))
    (targetattr != "iplanet-am-web-agent-access-allow-list || 
    iplanet-am-web-agent-access-not-enforced-list|| 
    iplanet-am-domain-url-access-allow || 
    iplanet-am-web-agent-access-deny-list ||nsroledn")
    (version 3.0; acl "Group admin's right to the members"; allow (read,write,search) 
    roledn = "ldap:///ROLENAME";)</Value>
    # End of entry to delete
    ...
        </DefaultValues>
    </AttributeSchema>
  3. Use amadmin para eliminar el servicio de Consola de administración de Access Manager. Por ejemplo, en sistemas Solaris:

    # cd /opt/SUNWam/bin
    # ./amadmin -u amadmin -w amadmin_password 
    --deleteService iPlanetAMAdminConsoleService
  4. Use amadmin para volver a cargar el servicio de Consola de administración en Access Manager del archivo amAdminConsole.xml editado en el paso 2. Por ejemplo:

    # ./amadmin -u amadmin -w amadmin_password 
    -t /etc/opt/SUNWam/config/xml/amAdminConsole.xml
  5. Reinicie el contenedor web de Access Manager. (Si tiene previsto eliminar ACIs de Directory Server, como se describe en el siguiente procedimiento, espere y reinicie el contenedor web una vez haya finalizado dicho procedimiento.)

Eliminar las ACIs de administración de grupos existentes


Nota –

El siguiente procedimiento emplea las utilidades ldapsearch y ldapmodify para buscar y eliminar las ACIs de administración de grupos. Si su implementación utiliza Directory Server 6.0, también puede utilizar Directory Server Control Center (DSCC) o el comando dsconf para realizar estas funciones. Para obtener más información, consulte la documentación de Directory Server 6.0:

http://docs.sun.com/app/docs/coll/1224.1


El siguiente procedimiento elimina las ACIs de administración de grupos que ya existen en Directory Server.

  1. Cree un archivo LDIF para utilizarlo con ldapmodify para eliminar las ACIs de administración de grupos. Para buscar estas ACIs, use ldapsearch (o cualquier otra herramienta de búsqueda en directorios si lo prefiere).

    Por ejemplo, las siguientes entradas en el archivo LDIF de muestra llamado Remove_Group_ACIs.ldif eliminarán las ACIs de un grupo que se llama Grupo nuevo:

    dn: ROOT_SUFFIX
    changetype: modify
    delete: aci
    aci: (target="ldap:///cn=New Group,ou=Groups,o=isp")(targetattr = "*") 
    (version 3.0; acl "Group and people container admin role"; allow (all) 
    roledn = "ldap:///cn=cn=New Group_ou=Groups_o=isp,o=isp";)
    
    dn: ROOT_SUFFIX
    changetype: modify
    delete: aci
    aci: (target="ldap:///ou=People,o=isp")(targetattr="nsroledn")
    (targattrfilters="add=nsroledn:(!(nsroledn=*)),
    del=nsroledn:(!(nsroledn=*))") (version 3.0; 
    acl "Group admin's right to add user to people container"; allow (add) 
    roledn = "ldap:///cn=cn=New Group_ou=Groups_o=isp,o=isp";)
    
    dn: ROOT_SUFFIX
    changetype: modify
    delete: aci
    aci: (target="ldap:///o=isp")
    (targetfilter=(&(|(memberof=*cn=New Group,ou=Groups,o=isp)
    (iplanet-am-static-group-dn=*cn=New Group,ou=Groups,o=isp))
    (!(|(nsroledn=cn=Top-level Admin Role,o=isp)
    (nsroledn=cn=Top-level Help Desk Admin Role,o=isp)
    (nsroledn=cn=Top-level Policy Admin Role,o=isp)
    (nsroledn=cn=Organization Admin Role,o=isp)(
    nsroledn=cn=Container Admin Role,o=isp)
    (nsroledn=cn=Organization Policy Admin Role,o=isp)))))
    (targetattr != "iplanet-am-web-agent-access-allow-list || 
    iplanet-am-web-agent-access-not-enforced-list || 
    iplanet-am-domain-url-access-allow || 
    iplanet-am-web-agent-access-deny-list ||nsroledn")
    (version 3.0; acl "Group admin's right to the members"; 
    allow (read,write,search) 
    roledn = "ldap:///cn=cn=New Group_ou=Groups_o=isp,o=isp";) 
    aci: (target="ldap:///o=isp")(targetattr="*")
    (version 3.0; acl "S1IS special dsame user rights for all under the root suffix"; 
    allow (all) userdn = "ldap: ///cn=dsameuser,ou=DSAME Users,o=isp"; )
  2. Use ldapmodify con el archivo LDIF del paso anterior para eliminas las ACIs de grupo de Directory Server. Por ejemplo:

    # ldapmodify -h ds-host -p 389 -D "cn=Directory Manager" 
    -w ds-bind-password -f Remove_Group_ACIs.ldif
  3. Reinicie el contenedor web de Access Manager.