Eine Web-Service-Operation durch ein Kennwort schützen

Sie können einzelne Operationen (Methoden) in einem Web-Service durch ein Kennwort schützen, indem Sie eine Enterprise-Bean mit Methoden erstellen, die den Web-Service-Operationen entsprechen, und anschließend die Authentifizierungsverfahren von WebSphere Application Server so auf die Enterprise-Bean anwenden, dass vor dem Aufruf einer Web-Service-Operation ein Berechtigungsaufruf an die EJB-Methode abgesetzt wird.

Vorbereitende Schritte

Zusätzlich zu den in diesem Artikel beschriebenen Schritten zum Schützen eine Web-Service-Operation durch ein Kennwort müssen Sie den Server als eingehenden oder abgehenden Service konfigurieren und die Option Sicherheit auf Operationsebene aktivieren auswählen. Diesbezügliche Anweisungen finden Sie in den Artikeln Die Konfiguration eines vorhandenen Service für eingehende Daten ändern und Die Konfiguration eines vorhandenen Service für abgehende Daten ändern.

Damit eine im Service Integration Bus implementierte Anwendung die Sicherheit auf Operationsebene verwendet, müssen Sie die Klassenladerrichtlinie des Anwendungsservers auf "Einer" setzen. Nähere Informationen hierzu finden Sie im Artikel Klassenlader eines Servers konfigurieren.

Informationen zu diesem Vorgang

Für die Berechtigung auf Operationsebene erstellen Sie eine Enterprise-Bean mit Methoden, die den Operationen des Web-Service entsprechen. Diese EJB-Methoden führen keine Operationen aus. Sie sind lediglich Definitionseinheiten zur Gewährleistung der Sicherheit. Anschließend wenden Sie vorhandene Authentifizierungsverfahren von WebSphere Application Server auf die Enterprise-Bean anwenden. Bevor eine Web-Service-Operation aufgerufen wird, wird die EJB-Methode aufgerufen. Nach Erteilung der Berechtigung wird der Web-Service aufgerufen.

Ihr Ziel-Web-Service ist geschützt, da er in eine EAR-Datei (Ihr_Web-Service.ear) eingebettet ist, auf die die rollenbasierte Berechtigung angewendet wird. Eine allgemein verständliche Erläuterung dieses Prozesses finden Sie im Artikel Sicherheit auf Operationsebene: Rollenbasierte Berechtigung. Die Datei Ihr_Web_Service.ear wird in die Datei sibwsauthbean.ear importiert. Anschließend werden in der Datei sibwsauthbean.ear die Rollen festgelegt und Methoden zugeordnet. Die geänderte Datei sibwsauthbean.ear wird in WebSphere Application Server implementiert und anschließend werden den zuvor definierten Rollen Benutzer zugeordnet.

Die Installationsversion der Datei sibwsauthbean.ear befindet sich im Verzeichnis Stammverzeichnis_des_Anwendungsservers/installableApps, wobei Stammverzeichnis_des_Anwendungsservers für das Stammverzeichnis der Installation von WebSphere Application Server steht.

Die Datei sibwsauthbean.ear enthält für jeden Web-Service, den Sie schützen, eine EAR-Datei. Für den ersten Web-Service, den Sie mit Berechtigung auf Operationsebene schützen, kopieren Sie die Installationsversion der Datei sibwsauthbean.ear und speichern Sie Ihre Kopie außerhalb des Dateisystems des Anwendungsservers. Für alle nachfolgenden Web-Services, die Sie schützen möchten, ändern Sie dieselbe Kopie der Datei sibwsauthbean.ear.

[z/OS]Zum Aktivieren der Berechtigung auf Operationsebene verwenden Sie den Befehl sibwsAuthGen und ein Assembliertool. Sie können diese Tools nur auf einem Windows-System verwenden. Deshalb müssen Sie alle Dateien, die Sie für diese Task benötigen, zunächst im Binärformat auf ein Windows-System kopieren. Dort erstellen und ändern Sie die EAR-Dateien und kopieren die geänderte Datei sibwsauthbean.ear dann im Binärformat zurück auf das z/OS-System.

Führen Sie für jeden Web-Service, den Sie schützen möchten, die folgenden Schritte aus, um Web-Service-Operationen durch ein Kennwort zu schützen:

Vorgehensweise

  1. [IBM i][AIX Solaris HP-UX Linux Windows]Für den ersten Web-Service, den Sie schützen, erstellen Sie eine Kopie der Datei Stammverzeichnis_des_Anwendungsservers/installableApps/SIBWSauthbean.ear in einem Verzeichnis außerhalb des Application-Server-Dateisystems.
  2. [z/OS]Für den ersten Web-Service, den Sie schützen, führen Sie die folgenden Schritte aus:
    1. Erstellen Sie eine Kopie der Datei Stammverzeichnis_des_Anwendungsservers/installableApps/SIBWSauthbean.ear in einem Verzeichnis außerhalb des Application-Server-Dateisystems.
    2. Installieren Sie auf Ihrem Windows-System das Assembliertool.
    3. Erstellen Sie auf Ihrem Windows-System ein Verzeichnis mit einem Namen, den Sie frei wählen können (z. B. /Ihr_Verzeichnis), und erstellen Sie dann in diesem Verzeichnis ein Unterverzeichnis mit dem Namen lib.
    4. Kopieren Sie mit File Transport Protocol (FTP) die folgenden Dateien im Binärformat aus Ihrem Ziel-Application-Server auf der z/OS-Plattform auf Ihr Windows-System:
      Kopieren Sie die folgenden Dateien in das neue Verzeichnis (z. B. /Ihr_Verzeichnis):
      • Stammverzeichnis_des_Anwendungsservers/util/SIBWSAuthGen.bat
      Kopieren Sie die folgenden Dateien in das neue Unterverzeichnis lib (z. B. /Ihr_Verzeichnis/lib):
      • Stammverzeichnis_des_Anwendungsservers/lib/commons-logging-api.jar
      • Stammverzeichnis_des_Anwendungsservers/lib/qname.jar
      • Stammverzeichnis_des_Anwendungsservers/lib/wsdl4j.jar
      • Stammverzeichnis_des_Anwendungsservers/lib/wsif.jar
      • Stammverzeichnis_des_Anwendungsservers/lib/xerces.jar
  3. [z/OS]Kopieren Sie mit File Transport Protocol (FTP) Ihre Kopie der Datei sibwsauthbean.ear im Binärformat von Ihrem z/OS-System in das Verzeichnis (z. B. /Ihr_Verzeichnis) auf Ihrem Windows-System.
  4. Führen Sie zum Erstellen der Datei Ihr_Web_Service.ear die folgenden Schritte aus:
    1. [IBM i][AIX Solaris HP-UX Linux Windows]Öffnen Sie eine Eingabeaufforderung.
    2. [IBM i][AIX Solaris HP-UX Linux Windows]Wechseln Sie in das Verzeichnis Stammverzeichnis_des_Anwendungsservers/util.
    3. [z/OS]Öffnen Sie auf dem Windows-System eine Eingabeaufforderung.
    4. [z/OS]Wechseln Sie in das Verzeichnis (z. B. Ihr_Verzeichnis).
    5. [z/OS]Geben Sie einen der folgenden Befehle ein, um die Umgebungsvariable WAS_HOME so zu setzen, dass Sie auf das neue Verzeichnis zeigt:
      set WAS_HOME=Pfad_des_neuen_Verzeichnisses
      oder
      set WAS_HOME=.
      Pfad_des_neuen_Verzeichnisses steht für den vollständigen Pfad des neuen Verzeichnisses.
    6. [z/OS]Setzen Sie den Pfad so, dass er auf die mit dem Assembliertool bereitgestellte Java Virtual Machine (JVM) zeigt.
    7. [z/OS]Geben Sie den folgenden Pfad ein, um den Klassenpfad zu aktualisieren:
      set classpath=lib\commons-logging-api.jar;lib\j2ee.jar;lib\qname.jar;lib\wsdl4j.jar;lib\wsif.jar;lib\xerces.jar;
    8. Geben Sie den folgenden Befehl ein:
      sibwsAuthGen Position Name_Ihres_Web_Service
      Für diese Angaben gilt Folgendes:
      • Position steht für die Position der Service-WSDL. Für einen Service für abgehende Daten benötigen Sie die WSDL-Zieldatei, die sich an einer externen Webadresse befindet. Für einen Service für eingehende Daten benötigen Sie die WSDL-Schablonendatei, die sich am Endpunktlistenerendpunkt für den Service befindet.
      • Name_Ihres_Web_Service steht für den Namen des Service, den Sie sichern und der im Feld "location" der WSDL-Datei angegeben ist. Bei der Eingabe des Namens ist die Groß-/Kleinschreibung zu beachten.
      Anmerkung: Um die Positionsdetails für die WSDL-Datei eines bestimmten Service für eingehende Daten abzurufen, veröffentlichen Sie die WSDL-Datei, wie im Artikel Die Konfiguration eines vorhandenen Service für eingehende Daten ändern beschrieben, in einer Datei mit der Erweiterung .zip. Anschließend suchen Sie die Position innerhalb der exportierten WSDL-Datei. Alternativ können Sie die WSDL-Datei des Service für eingehende Daten mit der folgenden Web-Service-Standardabfrage abrufen:
      http://Hostname:Portnummer/EPL-Kontextstamm/soaphttpengine/Busname/Name_des_Service_für_eingehende_Daten/Name_des_Port_für_eingehende_Daten?wsdl
      Hostname und Portnummer stehen für den Hostnamen bzw. die Portnummer dieses Anwendungsservers und EPL-Kontextstamm für das Kontextstammverzeichnis der Endpunktlisteneranwendung. Nähere Informationen hierzu finden Sie im Artikel Die Konfiguration eines vorhandenen Endpunktlistener ändern.

      Beispiele für die Verwendung des Befehls sibwsAuthGen:

      (Service für abgehende Daten):
      sibwsAuthGen http://www.einefirma.com/Zielservice/wsdl/Zielservice.wsdl Name_des_Zielservice
      (Service für eingehende Daten):
      sibwsAuthGen http://Name.Ihres.Servers:9080/wsgwsoaphttp1/soaphttpengine/IhrBus/IhrService/inboundport1?wsdl NameIhresService
    Die Datei Ihr_Web_Service.ear wurde im aktuellen Verzeichnis erstellt. Es wurde außerdem ein temporäres Verzeichnis aktuelles_Verzeichnis/ejb erstellt, das Sie löschen können.
  5. Wenn Sie die Zuordnung von Rollen und Schützen von Methoden abschließen möchten, führen Sie die im Artikel Mit Assembliertools eine Web-Service-Operation durch ein Kennwort schützen beschriebenen Schritte aus.
  6. Führen Sie zum Installieren der geänderten Kopie der Datei sibwsauthbean.ear die folgenden Schritte aus:
    1. [IBM i][AIX Solaris HP-UX Linux Windows]Überprüfen Sie, ob die geänderte Datei sibwsauthbean.ear in dem Verzeichnis außerhalb des Application-Server-Dateisystems gespeichert ist, das Sie in Schritt 1 ausgewählt haben. Bewahren Sie die Datei sibwsauthbean.ear in diesem Verzeichnis für spätere Wiederverwendung und weitere Änderungen auf.
    2. [z/OS]Kopieren Sie mit FTP die geänderte Datei sibwsauthbean.ear im Binärformat in das Verzeichnis auf Ihrem z/OS-System, das Sie in Schritt 1 ausgewählt haben. Bewahren Sie die geänderte Datei sibwsauthbean.ear für spätere Wiederverwendung und weitere Änderungen in diesem Verzeichnis auf.
    3. Starten Sie die Administrationskonsole von WebSphere Application Server.
    4. Klicken Sie im Navigationsfenster auf Anwendungen -> Neue Anwendung.
    5. Verwenden Sie die Option Neue Unternehmensanwendung, um die geänderte Kopie der Datei sibwsauthbean.ear zu installieren. Wählen Sie auf die entsprechende Aufforderung hin die Benutzer und Gruppen aus, die Sie den Rollen zuordnen möchten.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjw_security_wslevel
Dateiname:tjw_security_wslevel.html