Protezione con password di un'operazione del servizio web

Proteggere con password singole operazioni (metodi) in un servizio Web creando un bean enterprise con metodi corrispondenti alle operazioni del servizio Web, quindi applicando i meccanismi di autenticazione WebSphere® Application Server al bean enterprise in modo che, prima di richiamare un'operazione del servizio Web, venga effettuata una chiamata al metodo EJB per l'autorizzazione.

Prima di iniziare

Oltre a proteggere con password un'operazione del servizio Web come descritto in questo argomento, è necessario anche configurare il servizio come un servizio in entrata o in uscita e selezionare l'opzione Abilita sicurezza a livello di operazione come descritto in Modifica di una configurazione del servizio in entrata esistente o Modifica di una configurazione del servizio in uscita esistente.

Per un'applicazione distribuita sul SIB (Service Integration Bus) per utilizzare la sicurezza a livello di operazione, è necessario impostare la politica del programma di caricamento classi del server delle applicazioni su singolo.

Informazioni su questa attività

Per l'autorizzazione a livello di operazione, creare un bean enterprise con metodi corrispondenti alle operazioni del servizio Web. Questi metodi EJB non eseguono operazioni e sono solo entità per l'applicazione della sicurezza. Applicare quindi i meccanismi di autenticazione WebSphere Application Server esistenti al bean enterprise. Prima di richiamare qualsiasi operazione del servizio Web, viene effettuata una chiamata al metodo EJB. Se viene concessa l'autorizzazione, viene richiamato il servizio Web.

Il servizio Web di destinazione è protetto inserendolo in un file EAR (your_webservice.ear), quindi applicando l'autorizzazione basata sul ruolo al file EAR. Questo processo viene spiegato in termini generali in Sicurezza a livello di operazione: autorizzazione basata sul ruolo. Il file your_webservice.ear viene quindi importato in sibwsauthbean.ear e il file sibwsauthbean.ear viene modificato per impostare i ruoli e assegnarli ai metodi. Il file sibwsauthbean.ear modificato viene quindi distribuito in WebSphere Application Servere gli utenti vengono assegnati ai ruoli precedentemente definiti.

La versione di installazione del file sibwsauthbean.ear si trova nella directory app_server_root/installableApps , dove root_server_app è la directory root per l'installazione di WebSphere Application Server.

Il file sibwsauthbean.ear contiene un file EAR per ogni servizio web protetto. Per il primo servizio Web che si protegge mediante l'autorizzazione a livello di operazione, si copia la versione di installazione del file sibwsauthbean.ear e si memorizza la copia all'esterno del file system del server delle applicazioni. Per ogni successivo servizio Web che si protegge, si modifica ulteriormente la stessa copia del file sibwsauthbean.ear .

[z/OS]Per abilitare l'autorizzazione a livello di operazione, utilizzare il comando sibwsAuthGen e un strumento di assemblaggio. È possibile utilizzare questi strumenti solo su un sistema Windows, quindi è necessario copiare (in binario) su un sistema Windows tutti i file necessari per questa attività, quindi creare e modificare i file EAR sul sistema Windows, quindi copiare (in binario) il file sibwsauthbean.ear modificato di nuovo sul sistema z/OS® .

Per proteggere con password le operazioni del servizio Web, completare la seguente procedura per ogni servizio Web che si desidera proteggere:

Procedura

  1. [AIX Solaris HP-UX Linux Windows][IBM i]Per il primo servizio web che si protegge, creare una propria copia del file app_server_root/installableApps/SIBWSauthbean.ear in una comoda ubicazione all'esterno del file system del server delle applicazioni.
  2. [z/OS]Per il primo servizio Web protetto, completare la seguente procedura:
    1. Effettuare la propria copia del file app_server_root/installableApps/SIBWSauthbean.ear in un'ubicazione appropriata all'esterno del filesystem del server delle applicazioni
    2. Sul sistema Windows, installare lo strumento di assemblaggio.
    3. Nel sistema Windows, creare una directory con un proprio nome (ad esempio /your_dir) e in tale directory creare una directory secondaria denominata lib.
    4. Utilizzare FTP (File Transport Protocol) per copiare (in binario) i seguenti file dal server delle applicazioni di destinazione in z/OS sul sistema Windows:
      Copiare i seguenti file nella nuova directory (ad esempio, /your_dir):
      • app_server_root/util/SIBWSAuthGen.bat
      Copiare i seguenti file nella nuova sottodirectory lib (ad esempio /your_dir/lib):
      • app_server_root/lib/commons-logging-api.jar
      • app_server_root/lib/qname.jar
      • app_server_root/lib/wsdl4j.jar
      • app_server_root/lib/wsif.jar
      • app_server_root/lib/xerces.jar
  3. [z/OS]Utilizzare FTP (File Transport Protocol) per copiare (in formato binario) la propria copia del file sibwsauthbean.ear dal proprio sistema z/OS nella directory (ad esempio /your_dir) sul proprio sistema Windows.
  4. Per creare il file your_webservice.ear , completare la seguente procedura:
    1. [AIX Solaris HP-UX Linux Windows][IBM i]Aprire un prompt dei comandi.
    2. [AIX Solaris HP-UX Linux Windows][IBM i]Andare alla directory app_server_root/util .
    3. [z/OS]Aprire un prompt dei comandi sul sistema Windows
    4. [z/OS]Andare alla directory (ad esempio, your_dir)
    5. [z/OS]Immettere uno dei seguenti comandi per impostare la variabile d'ambiente WAS_HOME in modo che punti alla nuova directory:
      set WAS_HOME=path_to_new_directory
      o
      set WAS_HOME=.
      dove path_to_new_directory è il percorso completo della nuova directory.
    6. [z/OS]Impostare il percorso in modo che punti alla JVM (Java™ virtual machine) fornita con lo strumento di assemblaggio.
    7. [z/OS]Immettere il seguente comando per aggiornare il percorso classe:
      set classpath=lib\commons-logging-api.jar;lib\j2ee.jar;lib\qname.jar;lib\wsdl4j.jar;lib\wsif.jar;lib\xerces.jar;
    8. Immetti il seguente comando:
      sibwsAuthGen location your_webservice_name
      Dove
      • location è l'ubicazione WSDL del servizio. Per un servizio in uscita, è necessario il file WSDL di destinazione ubicato in un indirizzo Web esterno. Per un servizio in entrata, è necessario il file WSDL del modello che si trova sull'endpoint del listener dell'endpoint per il servizio.
      • your_webservice_name è il nome del servizio che si sta proteggendo, come definito nel campo di ubicazione del file WSDL. È sensibile al maiuscolo / minuscolo.
      Nota: per ottenere i dettagli dell'ubicazione per un determinato file WSDL del servizio in entrata, pubblicare il file WSDL in un file compresso, quindi ricercare l'ubicazione nel file WSDL esportato. In alternativa, è possibile recuperare il file WSDL del servizio in ingresso utilizzando la query dei servizi Web standard riportata di seguito:
      http://host_name:port_number/epl_context_root/soaphttpengine/bus_name/inbound_service_name/inbound_port_name?wsdl
      dove host_name e port_number sono il nome host e il numero di porta per questo server delle applicazioni e epl_context_root è la root di contesto dell'applicazione listener dell'endpoint come descritto in Modifica di una configurazione del listener dell'endpoint esistente.

      Esempi di utilizzo del comando sibwsAuthGen :

      (servizio in uscita):
      sibwsAuthGen http://www.somecompany.com/targetservice/wsdl/targetservice.wsdl targetServiceName
      (servizio in entrata):
      sibwsAuthGen http://your.server.name:9080/wsgwsoaphttp1/soaphttpengine/yourbus/yourservice/inboundport1?wsdl yourservicename
    Il file your_webservice.ear viene creato nella directory corrente. Esiste anche una directory temporanea current_directory/ejb che è possibile eliminare.
  5. Per terminare l'assegnazione dei ruoli e la protezione dei metodi, completare la procedura fornita nell'argomento Utilizzo degli strumenti di assemblaggio per proteggere con password un'operazione del servizio Web.
  6. Per installare la copia modificata del file sibwsauthbean.ear , completare la seguente procedura:
    1. [AIX Solaris HP-UX Linux Windows][IBM i]Verificare che il file sibwsauthbean.ear modificato sia memorizzato nell'ubicazione appropriata all'esterno del file system del server delle applicazioni scelto al passo 1. Conservare il file sibwsauthbean.ear in questa ubicazione per un successivo riutilizzo e ulteriori modifiche.
    2. [z/OS]Utilizzare FTP per copiare (in binario) il file sibwsauthbean.ear modificato nell'ubicazione appropriata sul sistema z/OS scelto nel passo 1. Memorizzare il file sibwsauthbean.ear modificato in questa ubicazione per un successivo riutilizzo e ulteriori modifiche.
    3. Avviare la console di gestione di WebSphere Application Server .
    4. Nel riquadro di navigazione, fare clic su Applicazioni -> Nuova applicazione.
    5. Utilizzare l'opzione Nuova applicazione enterprise per installare la copia modificata del file sibwsauthbean.ear . Selezionare gli utenti o i gruppi da assegnare ai ruoli quando richiesto.