Eigenständige angepasste Registrys
Eine eigenständige angepasste Registry ist eine vom Benutzer implementierte Registry, die die vom Produkt bereitgestellte Java™-Schnittstelle "UserRegistry" implementiert. Eine vom Benutzer implementierte Registry kann praktisch alle Typen und Varianten eines Benutzerknotenrepository aus einer relationalen Datenbank, unstrukturierten Datei etc. unterstützen. Die angepasste Benutzerregistry bietet eine beträchtliche Flexibilität bei der Anpassung der Produktsicherheit an verschiedene Umgebungen, wenn in der Betriebsumgebung bereits eine andere Variante einer Registry oder eines Repository als ein eingebundenes Repository, eine eigenständige LDAP-Registry oder eine Registry des lokalen Betriebssystems verwendet wird.
Die Sicherheit von WebSphere Application Server stellt eine Implementierung bereit, die verschiedene, auf dem lokalen Betriebssystem basierende Registrys und verschiedene LDAP-basierte Registrys (Lightweight Directory Access Protocol) verwendet. Es gibt jedoch Situationen, in denen sich die Benutzer- und Gruppendaten in anderen Repositorys oder angepassten Benutzerregistrys, z. B. einer Datenbank, befinden und das Verschieben dieser Daten in die Registry des lokalen Betriebssystems oder eine eigenständige LDAP-Registry-Implementierung nicht möglich ist. Für diese Situationen bietet die Sicherheit von WebSphere Application Server eine SPI (Service Provider Interface), die Sie implementieren können, um mit der aktuellen Registry zu interagieren. Das Feature für angepasste Registrys unterstützt alle Benutzerregistrys, die nicht von WebSphere Application Server implementiert werden.
Die SPI ist die Schnittstelle "UserRegistry". Die Schnittstelle UserRegistry enthält eine Reihe von Methoden, die für Berechtigungszwecke erforderlich sind. Diese Methoden authentifizieren einzelne Benutzer anhand eines Kennworts oder anhand von Zertifikaten und erfassen Informationen zum Benutzer, so genannte Berechtigungsattribute. Es enthält außerdem Methoden, die Benutzer- und Gruppeninformationen abrufen können, um diesen Zugriff auf Ressourcen zu erteilen. Wenn Sie die Methoden der Schnittstelle implementieren, müssen Sie entscheiden, wie die Informationen, die von der Schnittstelle "UserRegistry" bearbeitet werden, den Informationen in Ihrer Registry zugeordnet werden sollen.
Die Schnittstelle besitzt eine Reihe von Methoden, die implementiert werden müssen, damit die Sicherheit des Produkts für alle sicherheitsrelevanten Tasks mit den Registrys interagieren kann. Die Registry des lokalen Betriebssystems und die LDAP-Registry-Implementierungen implementieren diese Schnittstelle ebenfalls. Angepasste Benutzerregistrys werden auch Plug-in-fähige Benutzerregistrys oder kurz angepasste Registrys genannt. Es wird erwartet, dass Ihre Benutzerregistry-Implementierung threadsicher ist.
Das Erstellen einer angepassten Registry ist mit der Implementierung von Software verbunden. Die Implementierung ist nicht von anderen Ressourcen von WebSphere Application Server, z. B. von Datenquellen, abhängig.
Stellen Sie sicher, dass Ihre Implementierung der angepassten Registry nicht von Komponenten von WebSphere Application Server abhängig ist, wie z. B. Datenquellen, Enterprise-Beans usw. Solche Abhängigkeiten sind zu vermeiden, weil die Sicherheit während des Starts vor den meisten anderen Komponenten von WebSphere Application Server initialisiert und aktiviert wird. Falls Ihre frühere Implementierung die genannten Komponenten verwendet, nehmen Sie Änderungen vor, um die Abhängigkeit zu beseitigen.
- Sicherheitsname für Benutzer
Der Benutzername ist mit dem Benutzernamen in den Registrys lokaler Betriebssysteme vergleichbar.
Der Benutzername ist mit dem Benutzerprofil in der Registry des Betriebssystems vergleichbar.
- Er wird verwendet, um sich auf Anforderung an einer sicheren Anwendung anzumelden. Standardmäßig geben die EJB-Methode (Enterprise JavaBeans) getCallerPrincipal und die Servletmethoden getRemoteUser und getUserPrincipal diesen Namen zurück. Dieser Benutzername wird auch als userSecurityName, userName oder user name bezeichnet.
- WAS_UseDisplayName
- Dies ist eine angepasste Eigenschaft von Benutzerregistrys. Diese Eigenschaft definiert den Rückgabewert
der Methoden getCallerPrincipal(), getUserPrincipal() und RemoteUser(). Die folgenden Werte sind für WAS_UseDisplayName gültig:
- false: Die Standardeinstellung. Der Sicherheitsname wird zurückgegeben.
- true: Der Anzeigename wird zurückgegeben. Diese Einstellung erfordert, dass die angepasste Eigenschaft com.ibm.websphere.security.useLoggedSecurityName auf "true" gesetzt wird.
- Eindeutige Benutzer-ID
- Diese ID ist für den Benutzer eindeutig und in der Schnittstelle "UserRegistry" erforderlich. Die eindeutige ID ist mit der System-ID (SID) auf Windows-Systemen, der Unique ID (UID) auf Linux- und UNIX-Systemen und dem definierten Namen (DN) in Lightweight Directory Authentication Protocol (LDAP) vergleichbar. Sie wird auch als uniqueUserId bezeichnet. Die eindeutige ID wird verwendet, um Berechtigungsentscheidung bezüglich geschützter Ressourcen zu treffen.
- Anzeigename für Benutzer
Dieser Name ist eine optionale Zeichenfolge, die einen Benutzer beschreibt. Die Implementierung kann Anzeigenamen nur für Informationszwecke verwenden, die Anzeigenamen müssen daher, falls sie verwendet werden, nicht eindeutig sein. Die Benutzerschnittstelle kann den Anzeigenamen verwenden, um weitere Informationen zum Benutzer anzuzeigen.
Der Anzeigename ist die Textbeschreibung für das Benutzerprofil.
- Sicherheitsname für Gruppe
- Dieser Name bezeichnet die Sicherheitsgruppe und wird auch als groupSecurityName, groupName oder group name geführt.
- Eindeutige Gruppen-ID
- Die eindeutige ID einer Gruppe. Sie wird auch als uniqueGroupId bezeichnet.
- Anzeigename für Gruppe
- Der Anzeigename ist eine optionale Zeichenfolge, die eine Gruppe beschreibt.
Der Artikel Schnittstelle "UserRegistry" beschreibt alle Methoden in der Schnittstelle, die implementiert werden müssen. Jede Methode wird mit ihrer Verwendung im Beispiel beschrieben. Alle Änderungen, die seit der Schnittstelle der Version 4 durchgeführt wurden, werden erläutert. Der Abschnitt mit den Referenzinformationen enthält Links zu den Dokumentationen aller anderen angepassten Benutzerregistrys, einschließlich eines dateibasierten Registrybeispiels. Das Beispiel ist sehr einfach aufgebaut und soll Sie mit dieser Funktion vertraut machen. Verwenden Sie dieses Beispiel nicht in einer realen Produktionsumgebung.