Verwenden Sie diesen Artikel, um die LDAP-Suchfilter zu konfigurieren. Diese Schritte sind erforderlich, um vorhandene Benutzer- oder Gruppenfilter für einen bestimmten
LDAP-Verzeichnistyp zu ändern und um Zertifikatfilter zu definieren, mit denen Zertifikate Einträgen
im LDAP-Server zugeordnet werden.
Vorbereitende Schritte
LDAP-Filter (Lightweight Directory Access Protocol) werden von
WebSphere Application Server verwendet, um bei einem LDAP-Verzeichnisserver
Informationen zu Benutzern und Gruppen anzufordern. Für jeden vom Produkt unterstützten LDAP-Server wird eine Gruppe von Standardfiltern
bereitgestellt. Sie können diese Filter an Ihre LDAP-Konfiguration anpassen. Wenn Sie die Filter geändert und auf OK oder Anwenden geklickt haben, ändert sich der Verzeichnistyp in
der Anzeige LDAP-Registry in Angepasst, um anzuzeigen, dass eigene
Filter verwendet werden. Sie können auch Filter für zusätzliche Arten von LDAP-Servern entwickeln. Die Unterstützung
zusätzlicher LDAP-Verzeichnisse ist optional. Andere LDAP-Verzeichnistypen werden nicht unterstützt. Führen Sie in der Administrationskonsole die folgenden Schritte aus.
Vorgehensweise
- Klicken Sie auf Sicherheit > Globale Sicherheit.
- Klicken Sie unter "Repository für Benutzeraccounts" auf
Eigenständige LDAP-Registry und anschließend auf Konfigurieren.
- Klicken Sie unter "Weitere Eigenschaften" auf Erweiterte Einstellungen für LDAP-Benutzerregistry.
- Ändern Sie ggf. den Benutzerfilter. Der Benutzerfilter wird zum Durchsuchen der Registry nach Benutzern eingesetzt und in der Regel für die Zuordnung
von Sicherheitsrollen zu Benutzern verwendet. Die im Filter angegebenen Attribute werden aber auch genutzt, um einen Benutzer
zu authentifizieren. Der Filter legt die Eigenschaft fest, nach der Benutzer auf dem Verzeichnisserver gesucht werden.
Im folgenden Beispiel
muss die dem Benutzer mit dem Kurznamen
%v zugeordnete Eigenschaft ein eindeutiger Schlüssel sein. Zwei LDAP-Einträge mit derselben
Objektklasse können nicht denselben Kurznamen haben. Für die Suche nach Benutzern nach ihren Benutzer-IDs
(uid) und mit der Objektklasse inetOrgPerson müssten Sie Folgendes angeben:
(&(uid=%v)(objectclass=inetOrgPerson)
Nähere Informationen zu dieser
Syntax finden Sie in der Dokumentation zu Bestimmte Verzeichnisserver als LDAP-Server verwenden.
- Ändern Sie ggf. den Kerberos-Benutzerfilter. Der Kerberos-Benutzerfilter wird zum Durchsuchen der Registry nach dem Kerberos-Principal-Namen eingesetzt. Geben Sie das LDAP-Attribut an,
das den Kerberos-Principal-Namen enthält.
- Standardfilter krbuser von IBM Lotus Domino:
- (&(krbPrincipalName=%v)(objectcategory=Person))
- Standardfilter krbuser von IBM SecureWay Directory:
- (&(krbPrincipalName=%v)(objectcategory=ePerson))
- Standardfilter krbuser von Microsoft Active Directory:
- (&(userprincipalname=%v)(objectcategory=user))
- Standardfilter krbuser von Sun Java System Directory:
- (&(krbPrincipalName=%v)(objectcategory=inetOrgPerson))
- Standardfilter krbuser von Novell eDirectory:
- (&(krbPrincipalName=%v)(objectcategory=Person))
- Optional: Wenn Sie systemübergreifendende Repositorys verwenden, modifizieren Sie ggf. den Namen des Kerberos-Attributs. Der Kerberos-Attributname
wird zum Durchsuchen der Registry nach dem Kerberos-Principal eingesetzt.
Geben Sie das LDAP-Attribut an,
das den Kerberos-Principal-Namen enthält.
- Standardfilter krbuser von IBM Lotus Domino:
- krbPrincipalName
- Standardfilter krbuser von IBM SecureWay Directory:
- krbPrincipalName
- Standardfilter krbuser von Microsoft Active Directory:
- userprincipalname
- Standardfilter krbuser von Sun Java System Directory:
- krbPrincipalName
- Standardfilter krbuser von Novell eDirectory:
- krbPrincipalName
- Ändern Sie ggf. den Gruppenfilter. Der Gruppenfilter wird zum Durchsuchen der Registry nach Gruppen eingesetzt und in der Regel für die Zuordnung
von Sicherheitsrollen zu Gruppen verwendet. Er legt außerdem die
Eigenschaft fest, nach der Gruppen im Verzeichnisserver gesucht werden.
Im folgenden Beispiel
muss die der Gruppe mit dem Kurznamen
%v zugeordnete Eigenschaft ein eindeutiger Schlüssel sein. Zwei LDAP-Einträge mit derselben
Objektklasse können nicht denselben Kurznamen haben. Für die Suche nach Gruppen nach ihren allgemeinen Namen
(CN) und mit der Objektklasse groupOfNames oder groupOfUniqueNames müssten Sie Folgendes angeben:
(&(cn=%v)(|(objectclass=groupOfNames)(objectclass=groupOfUniqueNames)))
Nähere Informationen zu dieser
Syntax finden Sie in der Dokumentation zu Bestimmte Verzeichnisserver als LDAP-Server verwenden.
- Ändern Sie ggf. den Filter für die Zuordnung von Benutzer-IDs. Dieser Filter
ordnet den Kurznamen eines Benutzers einem LDAP-Eintrag zu und gibt an, durch welche Einzelinformation
diese Benutzer dargestellt werden, wenn sie mit ihrem Kurznamen angezeigt werden. Wenn beispielsweise Einträge
des Typs objectclass = inetOrgPerson nach ihren IDs angezeigt werden sollen, müssen Sie inetOrgPerson:uid
angeben. In diesem Feld können mehrere Paare aus Objektklassen und Eigenschaften
(objectclass:property), jeweils durch ein Semikolon (;) voneinander getrennt, angegeben werden. Um für Methoden
wie getCallerPrincipal und getUserPrincipal
einen konsistenten Wert bereitzustellen, wird der mit diesem Filter ermittelte Kurzname verwendet. Der Benutzer
CN=Bob Smith, ou=austin.ibm.com, o=IBM, c=US könnte sich beispielsweise mit einem beliebigen für ihn definierten Attribut
,wie E-Mail-Adresse, Sozialversicherungsnummer usw., anmelden. Werden jedoch die hier genannten Methoden aufgerufen,
wird unabhängig von dem für die Anmeldung verwendeten Attribut
die Benutzer-ID
bob zurückgegeben.
Anmerkung: Die Benutzer-ID-Zuordnung wird nur von der API "getUserDisplayName" berücksichtigt.
- Ändern Sie ggf. den Filter für die Zuordnung von Gruppenmember-IDs. Dieser Filter ordnet den Kurznamen
einer Gruppe einem LDAP-Eintrag zu und gibt die Einzelinformation an, die Gruppen darstellt, wenn sie angezeigt werden.
Geben Sie z. B. *:cn
an, um Gruppen nach ihren Namen anzuzeigen. Das Zeichen * ist
ein
Platzhalterzeichen, mit nach allen Objektklassen in dieser Schreibweise gesucht wird. In diesem Feld können mehrere Paare aus Objektklassen und Eigenschaften
(objectclass:property), jeweils durch ein Semikolon (;) voneinander getrennt, angegeben werden.
- Ändern Sie ggf. den Filter für die Zuordnung von Gruppenmember-IDs. Dieser Filter gibt die Zugehörigkeit von Benutzern zu Gruppen an. In
SecureWay und Domino
wird dieses Feld verwendet, um alle Gruppen
abzufragen, die mit bestimmten Objektklassen übereinstimmen. Auf diese Weise lässt sich ermitteln, ob der Benutzer
in dem angegebenen Attribut enthalten ist. Wenn Sie beispielsweise alle Benutzer abrufen möchten, deren Objektklasse
groupOfNames ist, und die Benutzer, die in den memberattributen enthalten sind, geben Sie
groupOfNames:member an. Mit dieser Syntax wird angegeben, unter welcher Eigenschaft einer Objektklasse sich die Liste von Membern der Gruppe
befindet, die
durch die Objektklasse angegeben wird. In diesem Feld können mehrere Paare aus Objektklassen und Eigenschaften
(objectclass:property), jeweils durch ein Semikolon (;) voneinander getrennt, angegeben werden. Nähere Informationen zu dieser
Syntax finden Sie im Artikel Bestimmte Verzeichnisserver als LDAP-Server verwenden.
In
IBM® Tivoli
Directory Server, Sun ONE und Active Directory wird dieses Feld verwendet, um alle Benutzer in einer Gruppe unter Verwendung der in im Benutzerobjekt gespeicherten
Informationen abzufragen. Mit dem Filter "memberof:member" (für
Active Directory) wird beispielsweise das Attribut "memberof" des Benutzerobjekts abgerufen, um alle Gruppen zu ermitteln, zu denen
der Benutzer gehört. Das Attribut member wird verwendet, um alle Benutzer einer Gruppe mit dem Gruppenobjekt
abzurufen. Wird für die Ermittlung der Gruppeninformationen das Benutzerobjekt verwendet, erhöht sich
der Durchsatz.
- Wählen Sie die Option Verschachtelte Gruppen durchsuchen aus, wenn der LDAP-Server keine rekursiven Suchoperationen auf Serverseite unterstützt.
- Ändern Sie ggf. den Modus für Zertifikatzuordnung. Wenn LDAP als Registry ausgewählt
wird, können die X.590-Zertifikate für die Benutzerauthentifizierung
verwendet werden. Dieses Feld gibt an, ob die
X.509-Zertifikate einem LDAP-Verzeichnisbenutzer nach EXACT_DN oder CERTIFICATE_FILTER zugeordnet werden sollen. Bei Auswahl von EXACT_DN muss der DN im Zertifikat genau, auch hinsichtlich Groß-/Kleinschreibung und Leerzeichen,
mit dem Benutzereintrag im LDAP-Server übereinstimmen.
Wenn die Groß-/Kleinschreibung bei der Berechtigung nicht beachtet werden soll, verwenden Sie in den Einstellungen für die
eigenständige LDAP-Registry das Feld
Groß-/Kleinschreibung ignorieren. Führen Sie die folgenden Schritte auf, um die Anzeige "Eigenständige LDAP-Registry" aufzurufen:
- Klicken Sie auf Sicherheit > Globale Sicherheit.
- Klicken Sie unter "Repository für Benutzeraccounts" auf die Dropdown-Liste Verfügbare Realmdefinitionen, und wählen Sie
Eigenständige LDAP-Registry aus.
- Wenn Sie CERTIFICATE_FILTER auswählen, geben Sie den LDAP-Filter an, um die
Attribute im Clientzertifikat den Einträgen in LDAP zuzuordnen. Falls
zur Laufzeit mehrere LDAP-Einträge der Filterspezifikation entsprechen, schlägt die Authentifizierung fehl,
da die Übereinstimmung nicht eindeutig ist. Die Syntaxstruktur für diesen Filter
sieht wie folgt aus: LDAP-Attribut=${Clientzertifikatattribut} (z. B. uid=${SubjectCN}).
Eine
Seite der Filterspezifikation ist ein LDAP-Attribut, das von dem Schema
abhängig ist, für das Ihr LDAP-Server konfiguriert ist.
Die andere Seite der Filterspezifikation
ist eines der öffentlichen Attribute im Clientzertifikat. Die Filterspezifikation, die eines der öffentlichen Attribute in Ihrem Clientzertifikat ist,
muss mit dem Dollarzeichen
($) und geschweifter Klammer auf ({) beginnen und mit geschweifter Klammer zu (}) enden. Verwenden Sie auf der Seite der Filterspezifikation,
die eines der öffentlichen Attribute in ihrem Clientzertifikat ist,
die folgenden Zertifikatsattributwerte.
Die Groß-/Kleinschreibung der Zeichenfolgen muss beachtet werden.
- ${UniqueKey}
- ${PublicKey}
- ${IssuerDN}
- ${Issuer<xx>}
<xx> wird durch die Zeichen ersetzt, die eine gültige Komponente
des definierten Namens des Ausstellers darstellen. Als allgemeinen Namen des Ausstellers könnten Sie beispielsweise ${IssuerCN} verwenden.
- ${NotAfter}
- ${NotBefore}
- ${SerialNumber}
- ${SigAlgName}
- ${SigAlgOID}
- ${SigAlgParams}
- ${SubjectDN}
- ${Subject<xx>}
<xx> wird durch die Zeichen ersetzt, die eine gültige Komponente
des definierten Namens des Subjekts darstellen. Als allgemeinen Subject-Namen könnten Sie beispielsweise ${SubjectCN} verwenden.
- ${Version}
Wählen Sie zur Aktivierung dieses Felds CERTIFICATE_FILTER für die Zertifikatzuordnung aus.
Fehler vermeiden: SANs (Subject Alternative Names) werden (SANs)
in Zertifikatsfilterelementen nicht unterstützt.
gotcha
- Klicken Sie auf Anwenden.
Wenn in der Anzeige
Erweiterte
LDAP-Einstellungen
ein Filter für LDAP-Benutzer oder LDAP-Gruppen geändert wurde, klicken Sie auf
Anwenden. Klicken Sie auf
OK, wird die Anzeige
Eigenständige LDAP-Registry aufgerufen,
die wahrscheinlich den vorherigen LDAP-Verzeichnistyp und nicht den Verzeichnistyp "Angepasst"
anzeigt. Wenn Sie in der Anzeige
Eigenständige LDAP-Registry auf
OK oder
Anwenden klicken,
wird der vorherige LDAP-Verzeichnistyp gespeichert und damit auch die Standardfilter für dieses Verzeichnis.
Dadurch
werden alle von Ihnen vorgenommenen Filteränderungen
überschrieben. Mit einer der folgenden Maßnahmen können Sie das Überschreiben von Änderungen verhindern:
- Klicken Sie in der Anzeige "Erweiterte Einstellungen für LDAP-Benutzerregistry"
auf Anwenden. Klicken Sie auf Sicherheit > Globale Sicherheit, und ändern Sie den Repository-Typ des Benutzeraccounts in
Eigenständige angepasste Registry.
- Wählen Sie in der Anzeige "Eigenständige LDAP-Registry" den Typ Angepasst aus.
Klicken Sie auf Anwenden. Rufen Sie die Anzeige "Erweiterte Einstellungen für LDAP-Benutzerregistry" auf
und ändern Sie die Filter. Wenn Sie alle Änderungen vorgenommen haben, klicken Sie auf
Anwenden oder OK.
Die Gültigkeitsprüfung der vorgenommenen Änderungen erfolgt nicht in dieser Anzeige. Dies geschieht,
wenn Sie in der Anzeige "Globale Sicherheit" auf OK oder Anwenden geklickt
haben.
Sollten Sie die Sicherheit zum ersten Mal aktivieren, führen Sie die verbleibenden Schritte aus, und rufen Sie
die Anzeige Globale Sicherheit auf.
Wählen Sie Eigenständige
LDAP-Registry als Repository für Benutzeraccounts aus.
Wenn die Sicherheit bereits aktiviert ist und Informationen in dieser Anzeige geändert werden,
rufen Sie die Anzeige "Globale Sicherheit" auf, und klicken Sie dann auf
OK oder Anwenden, um Ihre Änderungen zu validieren. Sollten bei der Validierung Unstimmigkeiten festgestellt werden, treten beim Serverstart möglicherweise Fehler auf.
Ergebnisse
Sie haben die LDAP-Suchfilter konfiguriert. Diese Schritte sind erforderlich, um vorhandene Benutzer- oder Gruppenfilter für einen bestimmten
LDAP-Verzeichnistyp zu ändern. Mit diesen Schritten können Sie auch Zertifikatfilter definieren, um Einträgen im LDAP-Server Zertifikate
zuzuordnen.
Nächste Schritte
- Validieren Sie die Konfiguration. Dazu klicken Sie in der Anzeige "Globale Sicherheit" auf
OK oder Anwenden.
- Die in dieser Anzeige vorgenommenen Änderungen treten erst in Kraft, nachdem Sie alle Produktserver,
einschließlich der Zellen, Knoten und aller Anwendungsserver gespeichert, gestoppt und gestartet haben.
- Wenn der Server initialisiert wird, gehen Sie alle sicherheitsrelevanten Tasks durch (Benutzer abfragen, Gruppen abfragen etc.),
um sicherzustellen, dass die geänderten Filter funktionieren.