Sie können die Sicherheitseinrichtung von WebSphere Application Server
für die Verwendung von LDAP-Servern (Lightweight Directory Access Protocol) konfigurieren. Die LDAP-Spezifikationen lassen verschiedene Verfahren für die Definition von Gruppenzugehörigkeiten zu. Je nach Implementierung des LDAP-Servers
können Sie verschiedene Methoden zur Bestimmung von Gruppenzugehörigkeiten nutzen. WebSphere Application Server kann
kann Gruppenzugehörigkeiten direkt oder indirekt lokalisieren. Außerdem können Sie das Produkt so konfigurieren, dass eine oder mehrere statische Gruppen, rekursive oder verschachtelte Gruppen und
dynamische Gruppen nach bestimmten LDAP-Servern (Lightweight Directory Access Protocol) durchsucht werden.
Vorgehensweise
- Gruppenzugehörigkeit bestimmen.
- Zugehörigkeit zu statischen Gruppen: Alle Implementierungen von LDAP-Servern unterstützen die Zugehörigkeit zu statischen Gruppen. Das Gruppenobjekt
enthält eine Liste mit Benutzern oder Gruppen, die Member der Gruppe sind. Wenn Sie die Gruppen ermitteln möchten, deren Member ein bestimmter Benutzer ist,
müssen Sie die Liste aller Gruppen abrufen und dann für jede Gruppe eine Abfrage durchführen, um zu überprüfen, ob der Benutzer Member dieser Gruppe ist.
Diese Operation
gibt als Ergebnis null (0) Gruppen zurück und lässt sich nicht gut skalieren.
In verschiedenen LDAP-Servern können Benutzerobjekte
Informationen zu den Gruppen enthalten, zu denen sie gehören. Beispielsweise unterstützen
Microsoft Active Directory Server und der Eigner von eDirectory die direkte Gruppensuche.
- Zugehörigkeit zu dynamischen Gruppen
Einige Gruppenzugehörigkeiten können über Attribute im Benutzerobjekt ermittelt werden. Beispielsweise sind
IBM® Directory Server und Sun ONE Directory Server zwei LDAP-Server, die die Zugehörigkeit zu dynamischen Gruppen unterstützen.
In einigen LDAP-Servern können Sie mit einem Attribut die Zugehörigkeit eines Benutzers zu dynamischen, verschachtelten
und statischen Gruppen einschließen, um alle Gruppenzugehörigkeiten über ein einziges Attribut bestimmen zu können.
Beispielsweise können in IBM Directory Server alle Gruppenzugehörigkeiten, einschließlich der Zugehörigkeit
zu statischen, dynamischen und verschachtelten Gruppen, mit dem Attribut
"ibm-allGroups" zurückgegeben werden.
Im Verzeichnisserver von Sun ONE werden alle Rollen, einschließlich der verwalteten, gefilterten und verschachtelten
Rollen mit dem Attribut "nsRole" ermittelt. Hat ein LDAP-Server in einem Benutzerobjekt ein solches Attribut, in dem
die Zugehörigkeit zu dynamischen Gruppen, verschachtelten Gruppen und statischen Gruppen
eingeschlossen werden kann, können Sie die Sicherheit in
WebSphere Application Server so konfigurieren, dass dieses Attribut zur Bestimmung
dieser Gruppen verwendet wird.
Je nach Implementierung kann ein LDAP-Server die Zugehörigkeit zu dynamischen Gruppen bestimmen.
Dieser Vorgang wird im Rahmen
einer einzigen LDAP-Abfrage vollständig vom LDAP-Server ausgeführt und verläuft unsichtbar für
WebSphere Application Server. Diese Methode ist zwar nicht so effizient wie die Abfrage direkter Gruppen,
serverseitige dynamische Abfragen sind jedoch effizienter als Vorgänge, bei denen
die Gruppenzugehörigkeit über Abfragen statischer Gruppen ermittelt wird.
Die Zugehörigkeit zu dynamischen Gruppen, wenn vom LDAP-Server
unterstützt, spiegelt sich häufig im LDAP-Client, d. h. in WebSphere Application Server, wider.
In dieser Konfiguration muss
WebSphere Application Server für jede Gruppe die entsprechende dynamische Abfrage für LDAP erstellen. Diese Operation
gibt als Ergebnis null (zero) Gruppen zurück und lässt sich nicht gut skalieren.
Tipps:- Verwenden Sie, sofern möglich, die effiziente Zugehörigkeit zu direkten Gruppen.
- Verwenden Sie die relativ effiziente Zugehörigkeit zu dynamischen Gruppen, wenn LDAP die Zugehörigkeit in einer einzelnen Abfrage bestimmen kann.
- Verwenden Sie die Zugehörigkeit zu statischen Gruppen bzw. die clientseitige Zugehörigkeit zu dynamischen Gruppen als sekundäre Alternative. Diese Option
wird nur in Systemen ausgeführt, die im LDAP-Server nur wenige Gruppen enthalten.
Die Konfigurationen für die unterstützten, aufgelisteten Server sind so vordefiniert, dass sie die optimalen Verfahren für Gruppenzugehörigkeit verwenden. Dabei
wird vorausgesetzt, dass auf dem LDAP-Server die Standardobjekttypen und -schemata für diesen LDAP-Anbieter verwendet werden.
- Konfiguration der LDAP-Registry bewerten.
- Eigenständige LDAP-Registry
Wenn Sie einen LDAP-Server außerhalb der Liste der vorkonfigurierten Typen konfigurieren möchten,
müssen Sie den entsprechenden Wert im Feld "Zuordnung von Gruppenmember-IDs" in der Anzeige "Erweiterte LDAP-Einstellungen" wie folgt eingeben:
- Wenn Sie die Zugehörigkeit zu statischen Gruppen verwenden, müssen Sie die objectclass:attribute-Paare angeben. Ist die Objektklasse
für das Gruppenobjekt groupOfUniquePersons und sind in dieser Objektklasse Member als persons aufgelistet,
hat die Zuordnung von Gruppenmember-IDs hinsichtlich der Zugehörigkeit zu statischen Gruppen den Wert groupOfUniquePersons:persons.
- Wenn die Zugehörigkeit zu direkten Gruppen verwendet wird, sind Attribute in der Objektklasse vorhanden und Sie müssen
attribute:attribute-Paare verwenden. Ist die Objektklasse
für das Gruppenobjekt user und enthält die Objektklasse Attribute des Typs ingroup (alle Gruppenzugehörigkeiten enthalten),
hat die Zuordnung von Gruppenmember-IDs hinsichtlich der Zugehörigkeit zu direkten Gruppen den Wert ingroup:member.
- LDAP-Registry innerhalb einer Registry mit eingebundenen Repositorys
Wenn Sie einen LDAP-Server außerhalb der Liste der vorkonfigurierten Typen konfigurieren möchten,
müssen Sie den entsprechenden Wert in den Eigenschaften zur
Definition von Gruppenattributen für das Repository konfigurieren.
- Wird die Zugehörigkeit zu statischen Gruppen verwendet, müssen Sie den Namen der Objektklasse und das Zugehörigkeitsattribut
in Definition von Gruppenattributen -> Memberattribute angeben.
Ist die Objektklasse
für das Gruppenobjekt groupOfUniquePersons und sind in dieser Objektklasse Member als persons aufgelistet, ist die
Eigenschaft für statische Gruppen Memberattribute wie folgt gesetzt:
- Klicken Sie in der Administrationskonsole auf
Sicherheit > Globale Sicherheit.
- Klicken Sie unter "Verfügbare Realmdefinitionen" auf Eingebundene Repositorys und dann auf Konfigurieren. In einer Umgebung mit mehreren Sicherheitsdomänen klicken Sie auf
Sicherheitsdomänen > Domänenname.
Erweitern Sie unter "Sicherheitsattribute" den Eintrag "Benutzerrealm"
und klicken Sie auf Für diese Domäne anpassen. Wählen Sie den Realmtyp Eingebundene Repositorys aus
und klicken Sie dann auf Konfigurieren.
- Klicken Sie unter "Zugehörige Elemente" auf Repositorys verwalten.
- Klicken Sie auf Hinzufügen, um ein neues externes Repository anzugeben, oder wählen Sie ein
bereits vorkonfiguriertes externes Repository aus.
- Klicken Sie unter "Weitere Eigenschaften" auf Definition von Gruppenattributen.
- Klicken Sie unter "Weitere Eigenschaften" auf Memberattribute.
- Klicken Sie auf Neu, um ein neues Memberattribut anzugeben.
Setzen Sie das Feld
Name des Memberattributs auf persons.
Setzen
Sie das Feld für die Objektklasse auf groupOfUniquePersons.
Wenn Sie mit dem Hinzufügen bzw. Aktualisieren der Konfiguration Ihres eingebundenen Repositorys
fertig sind, rufen Sie die Anzeige Sicherheit > Globale Sicherheit auf und klicken Sie anschließend
auf Anwenden, um die Änderungen zu validieren.
- Wenn die Zugehörigkeit zu direkten Gruppen verwendet wird, sind für den Benutzer in der Objektklasse Attribute vorhanden, die Sie
verwenden müssen. Ist die Objektklasse
für das Gruppenobjekt user und enthält die Objektklasse Attribute des Typs ingroup (alle Gruppenzugehörigkeiten enthalten),
geben Sie die Zugehörigkeit zu direkten Gruppen in der Eigenschaft Definition von Gruppenattributen für das Repository an. Führen Sie die folgenden Schritte aus:
- Klicken Sie in der Administrationskonsole auf
Sicherheit > Globale Sicherheit.
- Wählen Sie unter "Repository für Benutzeraccounts" im Feld "Verfügbare Realmdefinitionen" die Option Eingebundene Repositorys aus und klicken Sie auf
Konfigurieren.
- Klicken Sie unter "Zugehörige Elemente" auf Repositorys verwalten.
- Klicken Sie auf Hinzufügen, um ein neues externes Repository anzugeben, oder wählen Sie ein
bereits vorkonfiguriertes externes Repository aus.
- Klicken Sie unter "Weitere Eigenschaften" auf Definition von Gruppenattributen.
Setzen Sie das Feld
Name des Gruppenzugehörigkeitsattributs auf ingroup.
Wenn Sie mit dem Hinzufügen bzw. Aktualisieren der Konfiguration Ihres eingebundenen Repositorys
fertig sind, rufen Sie die Anzeige Sicherheit > Globale Sicherheit auf und klicken Sie anschließend
auf Anwenden, um die Änderungen zu validieren.
- Verschachtelte Gruppen ermitteln.
- Verschachtelte Gruppen
Je nach Implementierung des LDAP-Servers können Gruppen nur Benutzer enthalten. Sie können aber auch andere Gruppen enthalten,
in diesem Fall liegen verschachtelte Gruppen vor. Sie konfigurieren
WebSphere Application Server so, dass alle
Gruppen in der Verschachtelungsstruktur in einer eigenständigen LDAP-Registry bzw. in einer LDAP-Registry innerhalb
einer Registry mit eingebundenen Repositorys ermittelt werden können.
- Eigenständige LDAP-Registry: Mit dieser Einstellung wird lediglich eine Abfrage bezüglich einer einzelnen Gruppenzugehörigkeit durchgeführt. Wenn
die zurückgegebenen Gruppen tatsächlich Untergruppen anderer Gruppen sind, müssen Sie die Eigenschaft Verschachtelte Gruppen durchsuchen
in der Anzeige "Erweiterte LDAP-Einstellungen" der LDAP-Registry wie folgt aktivieren:
- Klicken Sie auf Sicherheit > Globale Sicherheit.
- Klicken Sie unter "Repository für Benutzeraccounts" auf die Dropdown-Liste Verfügbare Realmdefinitionen.
Wählen Sie Eigenständige LDAP-Registry aus und klicken Sie auf Konfigurieren.
- Klicken Sie unter "Weitere Eigenschaften" auf Erweiterte Einstellungen für LDAP-Benutzerregistry.
Wählen
Sie das Kontrollkästchen Verschachtelte Gruppen durchsuchen aus.
- LDAP-Registry innerhalb einer Registry mit eingebundenen Repositorys - Innerhalb eingebundener Repositorys müssen Sie angeben,
welche Ergebnisse Sie von der Abfrage erwarten. Basierend auf diesen Informationen führt das eingebundene Repository entsprechende Aufrufe durch, um alle Gruppenzugehörigkeiten zu erstellen.
Wenn der LDAP-Server alle Informationen zu verschachtelten Gruppen in einer einzigen direkten Gruppenabfrage zurückgibt, müssen Sie die Attributeigenschaft
Geltungsbereich des Gruppenzugehörigkeitsattributs in der Definition von Gruppenattributen wie folgt auf Verschachtelt setzen:
- Klicken Sie in der Administrationskonsole auf
Sicherheit > Globale Sicherheit.
- Wählen Sie unter "Repository für Benutzeraccounts" im Feld "Verfügbare Realmdefinitionen" die Option Eingebundene Repositorys aus und klicken Sie auf
Konfigurieren.
- Klicken Sie unter "Zugehörige Elemente" auf Repositorys verwalten.
- Klicken Sie auf Hinzufügen, um ein neues externes Repository anzugeben, oder wählen Sie ein
bereits vorkonfiguriertes externes Repository aus.
- Klicken Sie unter "Weitere Eigenschaften" auf Definition von Gruppenattributen.
Setzen Sie
die Attributeigenschaft
Geltungsbereich des Gruppenzugehörigkeitsattributs in der Definition von Gruppenattributen auf Verschachtelt.
- Wenn der LDAP-Server nur die direkte Zugehörigkeit zurückgibt, muss die Registry nachfolgende Abfragen durchführen, um die
vollständige Zugehörigkeit zu erstellen.
Setzen Sie
die Attributeigenschaft Geltungsbereich des Gruppenzugehörigkeitsattributs in der Definition von Gruppenattributen auf Direkt.
Ergebnisse
Bei Verwendung der direkten Methode können
dynamische Gruppen, rekursive Gruppen und statische Gruppen
in Form von mehreren Werten für ein einzelnes Attribut zurückgegeben werden. Beispielsweise können in IBM Directory Server alle Gruppenzugehörigkeiten, einschließlich der Zugehörigkeiten zu
statischen, dynamischen und verschachtelte Gruppen, mit dem Attribut
"ibm-allGroups" zurückgegeben werden. In Sun ONE werden alle Rollen, einschließlich der verwalteten, gefilterten und verschachtelten
Rollen mit dem Attribut "nsRole" ermittelt. Falls ein LDAP-Server das Attribut "nsRole" verwenden kann, unterstützt
WebSphere Application Server gleichermaßen dynamische, verschachtelte und statische Gruppen.
Von manchen
LDAP-Servern wird die Funktionalität der rekursiven Suche nicht unterstützt. Beispielsweise verfügt der
Microsoft Active Directory Server mit dem Attribut "memberOf"
zwar über die Möglichkeit der direkten Gruppensuche, aber
das Attribut "attribute" listet nur die Gruppen auf,
in denen die Gruppe direkt verschachtelt ist, jedoch nicht die Liste der
übergeordneten verschachtelten Gruppen. Der Lotus-Domino-LDAP-Server unterstützt nur die Verwendung der indirekten Methode
zur Lokalisierung der Gruppenzugehörigkeit eines Benutzers. Sie können die Zugehörigkeit zu rekursiven Gruppen
von einem Domino-Server nicht direkt abfragen. Für LDAP-Server, die die rekursive Suche nicht unterstützen, stellt die Sicherheitseinrichtung in
WebSphere Application Server eine entsprechende Funktion bereit, die durch Anklicken der Option
Verschachtelte Gruppen durchsuchen in den erweiterten LDAP-Einstellungen für
die Benutzerregistry aktiviert wird.
Wählen Sie diese Option nur dann aus, wenn der LDAP-Server keine rekursive Suchfunktion bereitstellt
und eine rekursive Suche ausgeführt werden soll.