Dieser Artikel beschreibt, wie Sie mit einem Assembliertool ein Plug-in-Token konfigurieren.
Vorbereitende Schritte
Wichtig: Es gibt eine wichtige Unterscheidung zwischen Anwendungen der Version 5.x und Anwendungen der
Version 6 und höher. Die Informationen
in diesem Artikel gelten nur für Anwendungen der Version 5.x, die in
WebSphere Application Server Version 6.0.x und höher verwendet werden.
Diese Informationen gelten nicht für Anwendungen der Version 6.0.x und höher.
Dieses Dokument beschreibt,
wie ein Plug-in-fähiges Token im Anforderungssender (Dateien ibm-webservicesclient-ext.xmi und
ibm-webservicesclient-bnd.xmi) und der Anforderungsempfänger (Dateien ibm-webservices-ext.xmi und
ibm-webservices-bnd.xmi) konfiguriert wird.
Das Plug-in-Token muss für Anforderungssender und Anforderungsempfänger
konfiguriert werden, weil diese beiden ein Paar bilden.
Der Anforderungssender und der Anforderungsempfänger müssen übereinstimmen, damit
der Empfänger eine Anforderung empfängt.
Für die Ausführung dieser Schritte wird
vorausgesetzt, dass Sie einen Web-Service erstellt haben, der auf der Spezifikation
Java™ Platform, Enterprise Edition
(Java EE) basiert.
Die folgenden Artikel enthalten eine Einführung in die Verwaltung der Serverbindungen für Web Services Security.
Informationen zu diesem Vorgang
Sie müssen die Sicherheitsvorgaben für die erforderlichen Token mit einem
IBM® Assembliertool in den Dateien
ibm-webservicesclient-ext.xmi und ibm-webservices-ext.xmi festlegen.
Führen
Sie die folgenden Schritte aus, um den Anforderungssender mit den Dateien
ibm-webservicesclient-ext.xmi und ibm-webservicesclient-bnd.xmi zu konfigurieren:
Vorgehensweise
- Starten Sie ein Assembliertool. Weitere Informationen finden Sie in der Dokumentation zu den Assembliertools.
- Wechseln Sie in die Java EE-Perspektive. Klicken Sie auf .
- Klicken Sie auf .
- Klicken Sie mit der rechten Maustaste auf die Datei application-client.xml, und wählen Sie anschließend aus.
- Klicken Sie auf das Register WS-Erweiterung. Daraufhin wird der Editor für die Web-Service-Clientsicherheit angezeigt.
- Wählen Sie unter "Servicereferenzen" eine Servicereferenz aus, oder klicken Sie auf
Hinzufügen, um eine neue Referenz zu erstellen.
- Wählen Sie unter "Portqualifizierte Namensbindung" einen vorhanden qualifizierten Portnamen für die
ausgewählte Servicereferenz aus, oder klicken Sie auf Hinzufügen, um eine neue Portnamensbindung zu
erstellen.
- Wählen Sie unter "Konfiguration des Anforderungssenders:
Anmeldekonfiguration" eine vorhandene Authentifizierungsmethode aus, oder
geben Sie im editierbaren Listenfenster eine neue Methode ein.
(Lightweight Third Authorization (LTPA) wird für die Tokengenerierung unterstützt, wenn
die Web-Services als Client auftreten.)
- Klicken Sie auf , um die Änderungen zu speichern.
- Klicken Sie auf das Register Web-Service-Clientbindung. Daraufhin wird der
Editor für Web-Service-Clientbindungen angezeigt.
- Wählen Sie unter "Portqualifizierte Namensbindung" einen vorhandenen Eintrag aus, oder klicken Sie auf
Hinzufügen, um eine neue Portnamensbindung hinzuzufügen. Daraufhin wird für den ausgewählten Port der
Editor für Web-Service-Clientbindungen angezeigt.
- Klicken Sie unter "Anmeldebindung" auf Bearbeiten
oder Aktivieren. Der Dialog "Anmeldebindung" wird angezeigt.
- Geben Sie im Feld Authentifizierungsmethode eine Authentifizierungsmethode ein.
Die Authentifizierungsmethode, die Sie in diesem Feld eingeben, muss mit der Authentifizierungsmethode übereinstimmen,
das auf der Registerkarte Sicherheitserweiterungen für diesen Web-Service-Port definiert wurde.
Dieses Feld ist obligatorisch.
- (Optional) Geben Sie in den Feldern URI und Local
name die Angaben für den Token-ValueType ein. Diese Felder werden für die Authentifizierungsmethoden BasicAuth, Signature
und IDAssertion ignoriert, müssen für andere Authentifizierungsmethoden jedoch ausgefüllt werden. Die Informationen
zum Token-ValueType werden in das Element "<wsse:BinarySecurityToken>@ValueType" für das binäre Sicherheitstoken eingefügt
und als Namespace für das XML-basierte Token verwendet.
- Geben Sie eine Implementierung der JAAS-Schnittstelle javax.security.auth.callback.CallbackHandler ein. Dieses Feld ist obligatorisch.
- Geben Sie die Basisauthentifizierungsinformationen in den Feldern User ID und Password ein.
Die Basisauthentifizierungsinformationen werden an das Konstrukt der CallbackHandler-Implementierung übergeben. Die
Verwendung der Basisauthentifizierungsinformationen ist von der CallbackHandler-Implementierung abhängig.
- Fügen Sie dem
Feld "Eigenschaft" Name/Wert-Paare hinzu. Diese Paare werden als java.util.Map-Werte
an die CallbackHandler-Implementierung übergeben.
- Klicken Sie auf OK.
Klicken Sie unter "Anmeldebindung" auf der Registerkarte Web-Service-Client-Port-Bindung auf Inaktivieren, um die Anmeldebindung für die Authentifizierungsmethode zu entfernen.
- Klicken Sie auf , um die Änderungen zu speichern.
- Klicken Sie im Paket-Explorer-Fenster mit der rechten Maustaste auf die Datei webservices.xml,
und wählen Sie anschließend aus. Daraufhin erscheint das Fenster "Web-Services".
- Klicken Sie auf das Register Sicherheitserweiterungen. Daraufhin wird der
Editor für WS-Security-Erweiterungen angezeigt.
- Wählen Sie unter "Erweiterung für Web-Service-Beschreibung"
eine Servicereferenz aus, oder klicken Sie auf
Hinzufügen, um eine neue Erweiterung zu erstellen.
- Wählen Sie unter "Port-Komponenten-Binding" einen vorhanden qualifizierten Portnamen für die
ausgewählte Servicereferenz aus, oder klicken Sie auf Hinzufügen, um einen neuen Namen zu erstellen.
- Wählen Sie
unter "Konfigurationsdetails zum Anforderungsempfängerservice: Anmeldekonfiguration" eine vorhandene
Authentifizierungsmethode aus, oder klicken Sie auf Hinzufügen, und geben Sie im angezeigten Feld zum Hinzufügen der Authentifizierungsmethode
eine neue Methode ein. Sie können für den Anforderungsempfänger mehrere
Authentifizierungsmethoden auswählen. Das Sicherheitstoken der eingehenden Nachricht wird nacheinander mit den
Authentifizierungsmethoden authentifiziert, die in der Liste angegeben sind. Klicken Sie auf Entfernen,
um die ausgewählte(n) Authentifizierungsmethode(n) zu entfernen.
- Klicken Sie auf , um die Änderungen zu speichern.
- Klicken Sie auf das Register Bindings. Daraufhin wird der Editor für Web-Service-Bindungen angezeigt.
- Wählen Sie unter "Web-Service-Beschreibungsbindings" einen Eintrag aus, oder klicken Sie auf
Hinzufügen, um einen neuen Web-Service-Deskriptor hinzuzufügen.
- Klicken Sie auf das Register Binding-Konfigurationen. Der Editor für Web-Service-Bindungskonfigurationen
für den ausgewählten Web-Service-Deskriptor wird angezeigt.
- Klicken Sie unter "Konfigurationsdetails zum Anforderungsempfängerbinding:
Anmeldezuordnung" auf Hinzufügen, um eine neue
Anmeldezuordnung zu erstellen, oder klicken Sie auf Bearbeiten, um die ausgewählte Anmeldezuordnung zu
bearbeiten. Der Dialog
für die Anmeldezuordnung wird angezeigt.
- Geben Sie im Feld Authentifizierungsmethode eine Authentifizierungsmethode ein.
Die in diesem Feld eingegebenen Informationen müssen mit der Authentifizierungsmethode übereinstimmen, die auf der Registerkarte
Sicherheitserweiterungen für diesen Web-Service-Port definiert wurde. Dieses Feld ist obligatorisch.
- Geben Sie im Feld Konfigurationsname den Namen einer JAAS-Anmeldekonfiguration ein.
Dieses Feld ist verbindlich. Sie müssen
den Namen der JAAS-Anmeldekonfiguration in der Administrationskonsole von WebSphere Application Server unter
definieren. Klicken Sie unter "Authentifizierung" auf
. Weitere Informationen finden Sie in der Dokumentation zur Konfiguration von programmgesteuerten Anmeldungen
für Java Authentication and Authorization Service.
- (Optional) Wählen Sie Tokenwertetyp verwenden aus, und geben Sie in den Feldern "URI" und "Local name"
die Angaben für den Tokenwertetyp ein. Die Angabe dieser Informationen
ist für die Authentifizierungsmethoden BasicAuth, Signature und IDAssertion
optional, für andere Authentifizierungsmethoden jedoch erforderlich. Der Tokenwerttyp wird verwendet, um
das Element "<wsse:BinarySecurityToken>@ValueType" für binäre Sicherheitstoken
und den Namespace des XML-basierten Tokens zu validieren.
- Geben Sie unter "Callback-Handler-Factory" im Feld "Klassenname" eine Implementierung der Schnittstelle
com.ibm.wsspi.wssecurity.auth.callback.CallbackHandlerFactory ein. Dieses Feld ist obligatorisch.
- Klicken Sie unter "Callback-Handler-Factory" auf Hinzufügen, und geben Sie die Name/Wert-Paare für
die Callback-Handler-Factory ein. Diese Name/Wert-Paare werden als java.util.Map
an die Methode com.ibm.wsspi.wssecurity.auth.callback.CallbackHandlerFactory.init() übergeben.
Die Verwendung dieser Name/Wert-Paare wird durch die ausgewählte CallbackHandlerFactory-Implementierung bestimmt.
- Klicken Sie unter "Eigenschaft für Anmeldezuordnung" auf Hinzufügen, und geben Sie die Name/Wert-Paare für die Eigenschaft
"Anmeldezuordnung" ein. Die JAAS-Anmeldemodule können über die JAAS-Callback-Schnittstelle com.ibm.wsspi.wssecurity.auth.callback.PropertyCallback
auf diese Name/Wert-Paare zugreifen.
Klicken Sie auf Entfernen, um die ausgewählte Anmeldezuordnung zu löschen.
- Klicken Sie auf OK.
- Klicken Sie auf , um die Änderungen zu speichern.
Ergebnisse
Die vorherigen Schritte definieren, wie der Anforderungssender
konfiguriert werden muss, um Sicherheitstoken in der SOAP-Nachricht
(Simple Object Access Protocol) zu erstellen, und wie der Anforderungsempfänger konfiguriert werden muss, um die
in der eingehenden SOAP-Nachricht enthaltenen Sicherheitstoken zu validieren.
WebSphere Application Server unterstützt Plug-in-fähige Sicherheitstoken.
Sie können die in den Anmeldebindungen und -zuordnungen definierte Authentifizierungsmethode
verwenden, um Sicherheitstoken auf der Seite des Anforderungssenders zu generieren und diese auf der Seite
des Empfängers zu validieren.
Nächste Schritte
Nachdem Sie die Plug-in-Token konfiguriert haben, müssen Sie
Client und Server für die Unterstützung dieser Token konfigurieren. In den folgenden Artikeln wird die Konfiguration
von Client und Server beschrieben: