Sun Java System Access Manager 7.1 - Versionshinweise

Probleme mit der Systemleistung

Im Bereichsmodus wird bei der Erstellung neuer Gruppen ein Gruppenadministrator mit ACIs erstellt, die nie verwendet werden (6485695)

Wenn Access Manager im Bereichsmodus installiert ist, erstellt Access Manager, immer wenn eine neue Gruppe erstellt wird, dynamisch einen neuen Gruppenadministrator mit den ACIs, die zur Verwaltung der Gruppe erforderlich sind. Im Bereichsmodus werden diese Gruppenadministrator-ACIs nicht verwendet. Directory Server wertet diese jedoch beim Verarbeiten von Einträgen unter dem Suffix trotzdem aus, wodurch die Leistung von Access Manager beeinträchtigt werden kann, insbesondere wenn bei der Bereitstellung eine große Anzahl von Gruppen erstellt wird.

Problemumgehung: Um das Problem zu umgehen, sind zwei Maßnahmen erforderlich:

Verhindern, dass Gruppenadministrator-ACIs erstellt werden

Mit dem folgenden Verfahren wird verhindert, dass Acccess Manager einen Gruppenadministrator und entsprechende ACIs erstellt, wenn ein neue Gruppe erstellt wird.


Hinweis –

Durch dieses Verfahren wird dauerhaft verhindert, dass beim Erstellen neuer Gruppen Gruppenadministratoren und entsprechende ACIs erstellt werden. Wenden Sie dieses Verfahren nur an, wenn dieses Verhalten für Ihre Bereitstellung geeignet ist.


  1. Sichern Sie die Datei amAdminConsole.xml. Diese Datei befindet sich je nach Plattform im folgenden Verzeichnis:

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

    • Linux- und HP-UX-Systeme: /etc/opt/sun/identity/config/xml

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

      javaes-install-dir steht für das Java ES 5-Installationsverzeichnis. Der Standardwert ist C:\Program Files\Sun\JavaES5.

  2. Entfernen Sie in der Datei amAdminConsole.xml den folgenden Gruppenadministrator-Eintrag, der zwischen den Kommentarzeilen angezeigt wird:

    <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. Verwenden Sie amadmin, um den Admin- Konsolen-Dienst von Access Manager zu löschen. Beispielsweise auf Solaris-Systemen:

    # cd /opt/SUNWam/bin
    # ./amadmin -u amadmin -w amadmin_password
    --deleteService iPlanetAMAdminConsoleService
  4. Laden Sie den Admin-Konsolen-Dienst mit amadmin in Access Manager aus der in Schritt 2 bearbeiteten Datei amAdminConsole.xml. Beispiel:

    # ./amadmin -u amadmin -w amadmin_password
    -t /etc/opt/SUNWam/config/xml/amAdminConsole.xml
  5. Starten Sie den Access Manager-Webcontainer neu. (Wenn Sie ACIs von Directory Server wie im nächsten Verfahren beschrieben entfernen möchten, warten Sie, und starten Sie den Webcontainer neu, nachdem Sie dieses Verfahren abgeschlossen haben.)

Entfernen vorhandener Gruppenadministrator-ACIs


Hinweis –

Im folgenden Verfahren werden die Dienstprogramme ldapsearch und ldapmodify verwendet, um die Gruppenadministrator-ACIs zu suchen und zu entfernen. Wenn in Ihrer Bereitstellung Directory Server 6.0 verwendet wird, können Sie auch Directory Server Control Center (DSCC) oder den Befehl dsconf für diese Funktionen verwenden. Weitere Informationen finden Sie in der Dokumentation zu Directory Server 6.0:

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


Durch das folgende Verfahren werden Gruppenadministrator-ACIs entfernt, die bereits in Directory Server vorhanden sind.

  1. Erstellen Sie eine LDIF-Datei für die Verwendung mit ldapmodify, um die Gruppenadministrator-ACIs zu entfernen. Suchen Sie nach diesen ACIs mit ldapsearch (oder einem anderen Tool zur Verzeichnissuche, das Sie bevorzugen).

    Beispielsweise entfernen die folgenden Einträge in der LDIF-Beispieldatei Remove_Group_ACIs.ldif ACIs für eine Gruppe namens 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. Verwenden Sie ldapmodify mit der LDIF-Datei aus dem vorherigen Schritt, um die Gruppen-ACIs von Directory Server zu entfernen. Beispiel:

    # ldapmodify -h ds-host -p 389 -D "cn=Directory Manager"
    -w ds-bind-password -f Remove_Group_ACIs.ldif
  3. Starten Sie den Access Manager-Webcontainer neu.