Impostazione della voce di configurazione del login di sistema per JAAS (Java Authentication and Authorization Service)

Utilizzare questa pagina per specificare un elenco di configurazioni di login di sistema JAAS (Java Authentication and Authorization Service).

Per visualizzare questa pagina della console di gestione, completare le seguenti operazioni:
  1. Fare clic su Sicurezza > Sicurezza globale.
  2. In Autenticazione, fare clic su Java Authentication and Authorization Service > Log di sistema.
Leggere la documentazione JAAS (Java Authentication and Authorization Service) prima di definire ulteriori moduli di login utilizzati per l'autenticazione del runtime di sicurezza del server delle applicazioni. Non rimuovere i seguenti moduli di login del sistema:
ICSF [z/OS]

Elabora le richieste di login quando ICFS (Integrated Cryptographic Services Facility) viene utilizzato come meccanismo di autenticazione.

RMI_INBOUND, WEB_INBOUND, DEFAULT

Richieste di login in entrata dei processi per RMI (Remote Method Invocation), per le applicazioni Web e per la maggior parte degli altri protocolli di login.

RMI_INBOUND
Questa configurazione login gestisce i login delle richieste RMI in entrata. Normalmente, questi login rappresentano delle richieste per un accesso autenticato ai file EJB (Enterprise JavaBean). Quando si usa il connettore RMI, questi login potrebbero essere anche richieste per JMX (Java Management Extension).
WEB_INBOUND
Questa configurazione di login gestisce i login per richieste dell'applicazione Web, che includono servlet e file JSP (JavaServer Page). Questa configurazione login può interagire con l'output generato da un TAI (trust association interceptor), se configurato. L'Oggetto inoltrato alla configurazione login WEB_INBOUND può contenere oggetti generati dal TAI.
DEFAULT
Questa configurazione di login gestisce i login per le richieste in entrata eseguite dalla maggior parte degli altri protocolli e autenticazioni interne.

Queste tre configurazioni di login verranno trasmesse alle seguenti informazioni relative alla richiamata, gestite dai moduli di login all'interno delle suddette configurazioni. Tali richiamate non vengono inoltrate nello stesso momento. Tuttavia, la combinazione di queste richiamate determina la modalità che verrà utilizzata dal server delle applicazioni per autenticare l'utente.

Richiamata

callbacks[0] = new
javax.security.auth.callback.NameCallback("Username: ");

Responsabilità
Raccoglie il nome utente che viene fornito durante un login. Queste informazioni possono essere rappresentate dal nome utente per i seguenti tipi di login:
  • Login con nome utente e password, nota come autenticazione di base.
  • Solo nome utente per l'asserzione d'identità.
Richiamata

callbacks[1] = new
javax.security.auth.callback.PasswordCallback("Password: ", false);

Responsabilità
Raccoglie la password che viene fornita durante un login.
Richiamata

callbacks[2] = new com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl("Credential
Token: ");

Responsabilità
Raccoglie il token LTPA (Lightweight Third Party Authentication) o un altro tipo di token durante un login. Generalmente, queste informazioni sono presenti in mancanza di un nome utente e di una password.
Richiamata

callbacks[3] = new
com.ibm.wsspi.security.auth.callback.WSTokenHolderCallback("Authz Token List: ");

Responsabilità
Raccoglie l'elenco ArrayList di oggetti TokenHolder restituiti dalla chiamata a WSOpaqueTokenHelper. La richiamata utilizza il metodo createTokenHolderListFromOpaqueToken con il token di autorizzazione CSIv2 (Common Secure Interoperability version 2) come input.
Limitazione: Questa richiamata è presente solo se l'opzione Propagazione attributi di sicurezza è abilitata e questo è un login di propagazione. In un login di propagazione un numero sufficiente di attributi di sicurezza viene diffuso insieme alla richiesta evitando così l'accesso al registro utenti per ottenere altri attributi. Occorre abilitare la propagazione dell'attributo di sicurezza sia per l'autenticazione in entrata che in uscita.
È possibile abilitare l'opzione Propagazione attributo di sicurezza per autenticazione in uscita CSIv2, completando la seguente procedura:
  1. Fare clic su Sicurezza > Sicurezza globale.
  2. In Autenticazione, espandere la sicurezza RMI/IIOP e fare clic su Autenticazione in uscita CSIv2.
  3. Abilitare l'opzione Propagazione attributo sicurezza.
È possibile abilitare l'opzione Propagazione attributo di sicurezza per autenticazione in entrata CSIv2, completando la seguente procedura:
  1. Fare clic su Sicurezza > Sicurezza globale.
  2. In Autenticazione, espandere la sicurezza RMI/IIOP e fare clic su Autenticazione in entrata CSIv2.
  3. Abilitare l'opzione Propagazione attributo sicurezza.

Nelle configurazioni di login del sistema, il server delle applicazioni autentica l'utente in base alle informazioni raccolte dalle richiamate. Tuttavia, un modulo di login personalizzato non deve agire su alcuna di queste richiamate. L'elenco riportato di seguito illustra le combinazioni tipiche di queste richiamate:

  • Solo richiamata callbacks[0] = new javax.security.auth.callback.NameCallback("Username: ");

    Questa richiamata si verifica per l'asserzione di identità CSIv2, Web e login del certificato CSIv2 X509, vecchi login TAI (trust association interceptor) e così via. Nel Web e nei login del certificato CSIv2 X509, il server delle applicazioni mappa il certificato su un nome utente. Questa richiamata viene utilizzata da qualsiasi tipo di login che mostra affidabilità con il solo nome utente.

  • Entrambe le richiamate callbacks[0] = new javax.security.auth.callback.NameCallback("Username: "); e callbacks[1] = new javax.security.auth.callback.PasswordCallback("Password: ", false);.

    Questa combinazione di richiamate è tipica per i login di autenticazione di base. La maggior parte delle autenticazioni utente avvengono utilizzando queste due richiamate.

  • Solo callbacks[2] = new com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl("Credential Token: ");
    Questa richiamata viene utilizzata per convalidare un token LTPA (Lightweight Third Party Authentication). Tale convalida si verifica in genere durante un login a valle o SSO (Single Sign-On). Ogni volta che un server delle applicazioni crea una richiesta, il token viene generalmente inoltrato al server di destinazione, anziché a un client semplice. Per SSO (Single Sign On), il token LTPA viene ricevuto nel cookie e il token viene utilizzato per il login. Se un modulo di login personalizzato ha bisogno del nome utente di un token LTPA, può utilizzare il seguente metodo per richiamare l'ID univoco dal token:

    com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
    validateLTPAToken(byte[])

    Dopo aver richiamato l'ID univoco, utilizzare il seguente metodo per ottenere il nome utente:

    com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
    getUserFromUniqueID(uniqueID)

    Importante: ogni volta che un modulo di login personalizzato viene collegato prima dei moduli di login del server delle applicazioni e modifica l'identità utilizzando i servizi di mappatura credenziale, è importante che tale modulo di login convalidi il token LTPA, se presente. Per convalidare la sicurezza nel token LTPA, è sufficiente richiamare il seguente metodo:

    com.ibm.wsspi.security.token.WSSecurityPropagationHelper.
    validateLTPAToken(byte[])

    Il server ricevente deve disporre delle stesse chiavi LTPA del server trasmittente, affinché l'operazione riesca. Se non si convalida questo token LTPA, se presente, si possono correre dei rischi di sicurezza.
  • Una qualsiasi combinazione delle richiamate menzionate in precedenza più la richiamata callbacks[3] = new com.ibm.wsspi.security.auth.callback.WSTokenHolderCallback("Authz Token List: ");.
    Questa richiamata indica che alcuni attributi diffusi hanno raggiunto il server. Gli attributi diffusi richiedono ancora uno dei seguenti metodi di autenticazione:
    • callbacks[0] = new
      javax.security.auth.callback.NameCallback("Username: ");

    • callbacks[1] = new
      javax.security.auth.callback.PasswordCallback("Password: ", false);

    • callbacks[2] = new com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl("Credential
      Token: ");

    Se gli attributi vengono aggiunti a Subject da un client semplice, le richiamate NameCallback e PasswordCallback autenticano le informazioni e gli oggetti serializzati nel supporto token aggiunti al Subject autenticato.

    Se la propagazione e l'asserzione identità CSIv2 sono abilitati, il server delle applicazioni utilizza la richiamata NameCallback e il possessore token, che contiene tutti gli attributi estesi, per deserializzare la maggior parte degli oggetti. Tale server utilizza la richiamata NameCallback perché è stata determinata la sicurezza con i server indicati nell'elenco dei server sicuri CSIv2. Per specificare i server sicuri, completare le seguenti operazioni:
    1. Fare clic su Sicurezza > Sicurezza globale.
    2. In Autenticazione, fare clic su Autenticazione in entrata CSIv2.

    Un modulo di login personalizzato necessita della gestione della serializzazione personalizzata. Per ulteriori informazioni, vedere "Propagazione degli attributi di sicurezza" nell'Information Center.

Oltre alle richiamate definite in precedenza, la configurazione di login WEB_INBOUND può contenere solo le seguenti richiamate supplementari:
Richiamata

callbacks[4] = new com.ibm.websphere.security.auth.callback.WSServletRequestCallback("HttpServletRequest:
");

Responsabilità
Raccoglie l'oggetto richiesta del servlet HTTP, se presentato. Queste richiamate consentono ai moduli di login di richiamare le informazioni da una richiesta HTTP, da utilizzare durante un login.
Richiamata

callbacks[5] = new com.ibm.websphere.security.auth.callback.WSServletResponseCallback("HttpServletResponse:
");

Responsabilità
Raccoglie l'oggetto risposta del servlet HTTP, se presentato. Queste richiamate consentono ai moduli di login di aggiungere le informazioni alla risposta HTTP come risultato del login. Ad esempio, i moduli di login potrebbero aggiungere il cookie SingleSignonCookie alla risposta.
Richiamata

callbacks[6] = new com.ibm.websphere.security.auth.callback.WSAppContextCallback("ApplicationContextCallback:
");

Responsabilità
Raccoglie il contesto dell'applicazione Web utilizzato durante il login. Questa richiamata è composta da una tabella hash, che contiene il nome dell'applicazione e l'indirizzo Web per il reindirizzamento.
Richiamata

callbacks[7] = new WSRealmNameCallbackImpl("Realm Name: ", <default_realm>);

Responsabilità
Raccoglie il nome dell'ambito per le informazioni di login. Tali informazioni potrebbero non essere fornite pertanto verrà utilizzato l'ambito corrente.
Richiamata

callbacks[8] = new WSX509CertificateChainCallback("X509Certificate[]: ");

Responsabilità
Se l'origine di login è X509Certificate dall'autenticazione client SSL, questa richiamata contiene il certificato convalidato da SSL. ltpaLoginModule richiama le stesse funzioni di associazione come nei release precedenti. Una volta eseguito il login, essa fornisce un modulo di login personalizzato con la possibilità di associare il certificato in maniera personalizzata. Quindi esegue il login a una tabella hash (vedere il collegamento relativo, modulo di login personalizzato per la mappatura in entrata, per un esempio di login di tabella hash.).
Per utilizzare la propagazione dell'attributo di sicurezza con la configurazione di login WEB_INBOUND, è possibile abilitare l'opzione Propagazione dell'attributo di sicurezza in entrata Web nel pannello SSO (Single sign-on).
  1. Fare clic su Sicurezza > Sicurezza globale.
  2. In Autenticazione, espandere la sicurezza Web e fare clic su SSO (Single sign-on).
  3. Selezionare l'opzione Propagazione attributo sicurezza Web in entrata.
I seguenti moduli di login sono predefiniti per le configurazioni login di sistema RMI_INBOUND, WEB_INBOUND e DEFAULT. È possibile aggiungere i moduli di login personalizzati prima, tra o dopo uno di questi moduli di login, ma non è possibile rimuovere i moduli di login predefiniti:
  • com.ibm.ws.security.server.lm.ltpaLoginModule
    Esegue il login principale, a prescindere dall'abilitazione o meno della propagazione attributi. Un login principale utilizza normali informazioni sull'autenticazione come l'ID utente e la password, un token LTPA, un intercettatore associazioni sicure (Trust Association Interceptor, TAI) e un Nome distinto (DN, Distinguished Name) del certificato. Se uno dei seguenti scenari è valido, questo modulo di login non viene utilizzato e il modulo com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule esegue il login principale:
    • L'oggetto java.util.Hashtable con gli attributi utente richiesti è contenuto in Subject.
    • L'oggetto java.util.Hashtable con gli attributi utente richiesti è presente nella HashMap sharedState di LoginContext.
    • La richiamata WSTokenHolderCallback è presente senza una password specificata. Se un nome utente e una password sono presenti con una richiamata WSTokenHolderCallback, la quale indica le informazioni diffuse, probabilmente la richiesta viene originata da un client puro o un server di un dominio diverso che ha mappato un'identità esistente su un'ID utente ed una password.
  • com.ibm.ws.security.server.lm.wsMapDefaultInboundLoginModule
    Questo modulo di login esegue il login principale utilizzando le normali informazioni sull'autenticazione nel caso in cui si verifichi una delle seguenti condizioni:
    • Un oggetto java.util.Hashtable con gli attributi utente richiesti è contenuto in Subject.
    • Un oggetto java.util.Hashtable con gli attributi utente richiesti è presente nella HashMap sharedState di LoginContext.
    • La richiamata WSTokenHolderCallback è presente senza una richiamata PasswordCallback.

    In presenza dell'oggetto java.util.Hashtable, il modulo di login mappa gli attributi degli oggetti in un Subject valido. Se la richiamata WSTokenHolderCallback è presente, il modulo di login deserializza gli oggetti token byte e ricrea i contenuti serializzati dell'Oggetto. java.util.Hashtable ha la precedenza su tutte le altre forme di login. Prestare molta attenzione ed evitare di duplicare o sovrascrivere ciò che il server delle applicazioni potrebbe aver diffuso in precedenza.

    Specificando la precedenza di java.util.Hashtable sulle altre informazioni di autenticazione, il modulo di login personalizzato deve aver già verificato il token LTPA, se presente, in modo da stabilire una sicurezza sufficiente. Il modulo login personalizzato può utilizzare il metodo com.ibm.wsspi.security.token.WSSecurityPropagationHelper.validationLTPAToken(byte[]) per convalidare il token LTPA presente nella richiamata WSCredTokenCallback. Errori nella convalida del token LTPA potrebbero determinare dei rischi.

    Per ulteriori informazioni sull'aggiunta di una hashtable contenente attributi noti e corretti usati dal server delle applicazioni come informazioni di login sufficienti, consultare "Configurazione della mappatura dell'identità in entrata" nell'Information center.

RMI_OUTBOUND

Elabora le richieste RMI (Remote Method Invocation) inviate in uscita su un altro server quando le proprietà com.ibm.CSI.rmiOutboundLoginEnabled o com.ibm.CSIOutboundPropagationEnabled sono impostate su true.

Queste proprietà sono impostate nel pannello di autenticazione CSIv2. Per accedere al pannello, completare le seguenti operazioni:
  1. Fare clic su Sicurezza > Sicurezza globale.
  2. In Autenticazione, espandere la sicurezza RMI/IIOP e fare clic su Autenticazione in uscita CSIv2.
Per impostare la proprietà com.ibm.CSI.rmiOutboundLoginEnabled, selezionare Mappatura in uscita personalizzata. Per impostare la proprietà com.ibm.CSIOutboundPropagationEnabled, selezionare l'opzione Propagazione attributi di sicurezza.

Questa configurazione di login determina le funzioni di sicurezza del server di destinazione e del relativo dominio di sicurezza. Ad esempio, se il server delle applicazioni, versione 5.1.1 o successiva (o 5.1.0.2 per z/OS), comunica con un server delle applicazioni versione 5.x, il server delle applicazioni versione 5.1.1 invia solo le informazioni di autenticazione, tramite un token LTPA, al server delle applicazioni versione 5.x. Tuttavia, se WebSphere Application Server versione 5.1.1 o successiva, comunica con un server delle applicazioni versione 5.1.x, le informazioni di autenticazione e autorizzazione vengono inviate al server delle applicazioni ricevente nel caso in cui la propagazione sia abilitata su entrambi i server, il trasmittente e il ricevente. Quando il server delle applicazioni invia le informazioni di autenticazione e autorizzazione a valle, elimina la necessità di riaccedere al registro utenti e di ricercare gli attributi di sicurezza dell'utente per scopi di autorizzazione. Inoltre, qualsiasi oggetto personalizzato aggiunto al server trasmittente è presente nell'Oggetto sul server a valle.

La seguente richiamata è disponibile nella configurazione di login RMI_OUTBOUND. È possibile utilizzare l'oggetto com.ibm.wsspi.security.csiv2.CSIv2PerformPolicy restituito da questa richiamata per interrogare la politica di sicurezza per questa particolare richiesta in uscita. Questa interrogazione può aiutare a determinare se l'ambito di destinazione è diverso da quello corrente e se il server delle applicazioni deve mapparlo. Per ulteriori informazioni, consultare "Configurazione della mappatura in uscita su un dominio di destinazione diverso" nell'Information center.

Richiamata
callbacks[0] = new WSProtocolPolicyCallback("Protocol Policy Callback: ");
Responsabilità

Fornisce le informazioni sulla politica, specifiche del protocollo, per i moduli di login su questa chiamata in uscita. Tali informazioni sono utilizzate per determinare il livello di sicurezza, inclusi l'ambito di destinazione, i requisiti di sicurezza di destinazione e i requisiti di sicurezza assimilati.

Il metodo riportato di seguito ottiene la politica CSIv2PerformPolicy da questo specifico modulo di login:

csiv2PerformPolicy = (CSIv2PerformPolicy)
((WSProtocolPolicyCallback)callbacks[0]).getProtocolPolicy();

Un altro protocollo, diverso da RMI, potrebbe disporre di un diverso tipo di oggetto della politica.

Il seguente modulo di login è predefinito nella configurazione login RMI_OUTBOUND. È possibile aggiungere i moduli di login personalizzati prima, tra o dopo uno di questi moduli di login, ma non è possibile rimuovere i moduli di login predefiniti.
com.ibm.ws.security.lm.wsMapCSIv2OutboundLoginModule
Richiama i seguenti token e oggetti prima di creare un byte di tipo opaque da inviare a un altro server utilizzando il livello del token di autorizzazione CSIv2 (Common Secure Interoperability version 2):
  • Implementazioni com.ibm.wsspi.security.token.Token inoltrabili dall'Oggetto
  • Oggetti personalizzati serializzabili dall'Oggetto
  • Token di diffusione dal thread

È possibile utilizzare un modulo di login personalizzato prima di questo modulo di login per eseguire la mappatura delle credenziali. Tuttavia, si consiglia di programmare il modulo di login affinché modifichi i contenuti del Subject inoltrato durante la fase di login. Se si segue questo suggerimento, i moduli di login elaborati dopo questo modulo di login agiscono sui nuovi contenuti di Subject.

Per ulteriori informazioni, consultare "Configurazione della mappatura in uscita su un dominio di destinazione diverso" nell'Information center.

SWAM [AIX Solaris HP-UX Linux Windows] [iSeries]

Elabora le richieste di login in un ambiente a server singolo quando SWAM (Simple WebSphere Authentication Mechanism) viene utilizzato come metodo di autenticazione.

SWAM non supporta le credenziali inoltrabili. Se SWAM è il metodo di autenticazione, il server delle applicazioni non è in grado di inviare le richieste da server a server. In questo caso, è necessario utilizzare LTPA.
Nota: la configurazione di login di SWAM è obsoleta e verrà rimossa in un rilascio futuro.
[z/OS] Nota: SWAM è obsoleto nel server delle applicazioni Versione 7.0 e verrà rimosso in un rilascio futuro.
SWAM [z/OS]

Questa configurazione di login abilita alla mappatura di un ID in un registro utente LDAP (Lightweight Directory Access Protocol) ad un ID utente SAF (System Authorization Facility)

[z/OS] Nota: SWAM è obsoleto nel server delle applicazioni Versione 7.0 e verrà rimosso in un rilascio futuro.
wssecurity.IDAssertion

Elabora le richieste di configurazione login per la sicurezza dei servizi Web tramite l'asserzione identità.

Questa configurazione login riguarda sistemi versione 5.x. Per ulteriori informazioni, vedere "Metodo di autenticazione dell'asserzione di identità" nell'Information Center.

wssecurity.PKCS7

Verifica un certificato X.509 con un CRL (Certificate Revocation List) in un oggetto PKCS7 (Public Key Cryptography Standards #7).

Questa configurazione login riguarda sistemi versione 6.0.x.

wssecurity.PkiPath

Verifica un certificato X.509 mediante un percorso PKI (public key infrastructure).

Questa configurazione login riguarda sistemi versione 6.0.x.

wssecurity.signature

Elabora le richieste di configurazione login per la sicurezza dei servizi Web tramite la convalida della firma digitale.

Questa configurazione login riguarda sistemi versione 5.x.

wssecurity.UsernameToken

Verifica l'autenticazione di base (nome utente e password).

Questa configurazione login riguarda sistemi versione 6.0.x.

wssecurity.X509BST

Verifica un BST (Binary Security Token) X.509 controllando la validità del certificato e il percorso del certificato.

Questa configurazione login riguarda sistemi versione 6.0.x.

LTPA_WEB

Elabora le richieste di login ai componenti nel contenitore Web, come servlet e file JSP (JavaServer pages).

Il modulo di login com.ibm.ws.security.web.AuthenLoginModule è predefinito nella configurazione login LTPA. È possibile aggiungere moduli di login prima o dopo questo modulo nella configurazione di login LTPA_WEB.

La configurazione di login LTPA_WEB può elaborare l'oggetto HttpServletRequest, l'oggetto HttpServletResponse e il nome dell'applicazione Web, trasferiti utilizzando un gestore richiamate. Per ulteriori informazioni, vedere "Esempio: personalizzazione di una configurazione di login e di un'autenticazione JAAS (Java Authentication and Authorization Service) lato server" nel centro informazioni.

LTPA

Elabora le richieste di login non gestite dalla configurazione login LTPA_WEB.

Questa configurazione di login viene utilizzata da WebSphere Application Server Versione 5.1 e da versioni precedenti.

Il modulo di login com.ibm.ws.security.server.lm.ltpaLoginModule è predefinito nella configurazione login LTPA. È possibile aggiungere moduli di login prima o dopo questo modulo nella configurazione di login LTPA. Per ulteriori informazioni, vedere "Esempio: personalizzazione di una configurazione di login e di un'autenticazione JAAS (Java Authentication and Authorization Service) lato server" nel centro informazioni.




I collegamenti contrassegnati (online) richiedono un accesso a Internet.

Concetti correlati
Attività correlate
Riferimenti correlati
Impostazioni delle voci di configurazione per JAAS (Java Authentication and Authorization Service)


Nome file: usec_sysjaas.html