Notes de version de Sun Java System Access Manager 7.1

En mode Domaine, lorsque vous créez un nouveau groupe, un administrateur de groupe avec des listes de contrôle d'accès qui ne seront jamais utilisées est créé (6485695)

Si vous installez Access Manager en mode Domaine, dès qu'un nouveau groupe est créé, Access Manager crée de manière dynamique un nouvel administrateur de groupe, disposant des listes de contrôle d'accès nécessaires à la gestion du groupe. En mode Domaine, ces listes de contrôle d'accès de l'administrateur de groupe ne sont pas utilisées. Cependant, Directory Server analyse ces listes lors du traitement d'entrées avec suffixe. Cela risque de faire baisser les performances d'Access Manager, notamment lorsqu'un nombre important de groupes est généré au cours d'un déploiement.

Solution : La résolution de ce problème s'effectue en deux étapes :

Empêcher la création de listes de contrôle d'accès pour les administrateurs de groupe

La procédure suivante vous permet d'empêcher Access Manager de créer un administrateur de groupe et les listes de contrôle d'accès correspondantes chaque fois qu'un groupe est créé.


Remarque –

En suivant cette procédure, aucun administrateur de groupe ou liste de contrôle correspondante ne sera générée lors de la création d'un groupe. N'utilisez cette procédure que si elle est appropriée à votre déploiement.


  1. Sauvegardez le fichier amAdminConsole.xml. Ce fichier figure dans le répertoire suivant, en fonction de votre plate-forme :

    • Systèmes Solaris : /etc/opt/SUNWam/config/xml

    • Systèmes Linux et HP-UX : /etc/opt/sun/identity/config/xml

    • Systèmes Windows : javaes-install-dir\identity\config\xml

      javaes-install-dir correspond au répertoire d'installation Java ES 5. La valeur par défaut est C:\Program Files\Sun\JavaES5.

  2. Dans le fichier amAdminConsole.xml, supprimez l'entrée suivante, délimitée par les lignes de commentaires :

    <AttributeSchema name="iplanet-am-admin-console-dynamic-aci-list"
        type="list"
        syntax="string"
        i18nKey="g111">
        <DefaultValues>
    ...
    # Début de l'entrée à supprimer
                    <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>
    # Fin de l'entrée à supprimer
    ...
        </DefaultValues>
    </AttributeSchema>
  3. Utilisez amadmin pour supprimer le service Admin Console d'Access Manager. Par exemple, sur les systèmes Solaris :

    # cd /opt/SUNWam/bin
    # ./amadmin -u amadmin -w amadmin_password 
    --deleteService iPlanetAMAdminConsoleService
  4. Utilisez amadmin pour recharger le service Admin Console dans Access Manager à partir du fichier amAdminConsole.xml de l'étape 2. Par exemple :

    # ./amadmin -u amadmin -w amadmin_password 
    -t /etc/opt/SUNWam/config/xml/amAdminConsole.xml
  5. Redémarrez le conteneur Web d'Access Manager. (Comme décrit dans la procédure suivante, si vous prévoyez de supprimer les listes de contrôle d'accès de Directory Server, patientez et redémarrez le conteneur Web à la fin de cette procédure.)

Supprimer des listes de contrôles d'administrateurs de groupe existantes


Remarque –

La procédure suivante utilise les utilitaires ldapsearch et ldapmodify pour rechercher et supprimer les listes de contrôle d'accès. Si votre déploiement utilise Directory Server 6.0, vous pouvez également utiliser Directory Server Control Center (DSCC) ou la commande dsconf pour effectuer ces actions. Pour plus d'informations, reportez-vous à la documentation de Directory Server 6.0 :

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


La procédure suivante permet de supprimer toutes les listes de contrôle d'accès de Directory Server.

  1. Créez un fichier LDIF à utiliser avec ldapmodify pour supprimer les listes de contrôle des administrateurs de groupe. Pour trouver ces listes, utilisez ldapsearch (ou un autre outil de recherche de répertoire).

    Par exemple, les entrées suivantes du fichier LDIF type nommé Remove_Group_ACIs.ldif supprimeront les listes de contrôle d'un groupe nommé New Group :

    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. Utilisez ldapmodify avec le fichier LDIF de l'étape précédente pour supprimer les listes de contrôle d'accès Group de Directory Server. Exemple :

    # ldapmodify -h ds-host -p 389 -D "cn=Directory Manager" 
    -w ds-bind-password -f Remove_Group_ACIs.ldif
  3. Redémarrez le conteneur Web d'Access Manager.