Unterstützung mehrerer Sicherheitsmodelle
In den Programmierumgebungen von WebSphere Application Server Version 6 und höher können mehrere Protokolle und Kanäle vorhanden sein. Jede dieser Anwendungen erfüllt eine andere Geschäftsanforderung.
- Eine webbasierte Anwendung über den HTTP-Transport, z. B. ein Servlet, eine JSP-Datei (JavaServer Pages), HTML usw.
- Eine Unternehmensanwendung über das Protokoll RMI/IIOP (Remote Method Invocation over the Internet Inter-ORB).
- Eine Web-Service-Anwendung über das Protokoll SOAP over HTTP, SOAP over the Java™ Message Service (JMS) oder SOAP over the RMI/IIOP.
Was noch wichtiger ist, Web-Services werden häufig als Servlets mit einer EJB-Datei (Enterprise JavaBeans) implementiert. Daher können Sie für Web- und EJB-Komponenten das Web-Services-Security-Modell nach Bedarf zusammen mit dem Java EE-Sicherheitsmodell (Java Platform, Enterprise Edition) einsetzen. Web Services Security soll die Java EE-rollenbasierte Sicherheit und die Sicherheitslaufzeit für WebSphere Application Server Version 6 und höher ergänzen.
- LocalOS, Lightweight Directory Access Protocol (LDAP) und angepasste Registrys für die Authentifizierung des Benutzernamenstokens verwenden
- LTPA-Sicherheitstoken (Lightweight Third Party Authentication) in der SOAP-Nachricht weitergeben
- Identitätszusicherung verwenden
- Einen Trust Association Interceptor (TAI) verwenden
- Weitergabe von Sicherheitsattributen aktivieren
- Die Java EE-rollenbasierte Berechtigung verwenden
- Einen JAAC-Berechtigungsprovider (Java Authorization Contract for Containers) wie Tivoli Access Manager verwenden
Die folgende Abbildung zeigt, dass unterschiedliche Sicherheitsprotokolle verwendet werden, um Authentifizierungsinformationen an den Anwendungsserver zu senden. Für einen Web-Service könnten Sie entweder die HTTP-Basisauthentifizierung mit Secure Sockets Layer (SSL) oder einen Benutzernamenstoken von Web Services Security mit Signatur und Verschlüsselung verwenden. In der folgenden Abbildung wird Folgendes dargestellt: Nachdem die WS-Security-Identität bob authentifiziert und als Aufrufidentität der SOAP-Nachrichtenanforderung festgelegt wurde, führt der Java EE-EJB-Container (Enterprise JavaBeans) mit der Identität bob die Berechtigung aus, bevor der Aufruf an die Serviceimplementierung, in diesem Fall die Enterprise-Bean, gesendet wird.
Sie können einen Web-Service sichern, indem Sie die Sicherheit auf der Ebene der Transportschicht verwenden. Wenn Sie beispielsweise SOAP über HTTP verwenden, können Sie den Web-Service mit HTTPS sichern. Die Sicherheit auf der Ebene der Transportschicht ist jedoch nur eine Punkt-zu-Punkt-Sicherheit. Diese Sicherheitsebene kann für bestimmte Szenarien adäquat sein. Wenn die SOAP-Nachricht jedoch über Zwischenserver (Multi-Hop) weitergeleitet werden muss, bis sie am Zielendpunkt empfangen wird, sollten Sie eher SOAP über Java Message Service (JMS) verwenden. Die Einsatzszenarien und Sicherheitsvorgaben bestimmen, wie die Web-Services gesichert werden müssen. Die Sicherheitsvorgaben sind abhängig von der Betriebsumgebung und den Geschäftsanforderungen. Einer der wichtigsten Vorteile von Web Services Security ist jedoch die Unabhängigkeit von der Transportschicht. Sie können dieselben Web-Services-Security-Vorgaben für SOAP über HTTP, SOAP über JMS oder SOAP über RMI/IIOP verwenden.