Configurazione di un criterio di autenticazione SSO
Creare un criterio di autenticazione per ogni risorsa creata per l'applicazione enterprise.
- Nella pagina elenco Applicazioni integrate selezionare l'applicazione enterprise da modificare. Per assistenza nella ricerca della pagina di elenco, vedere Elenco delle applicazioni.
-
Nella pagina Dettagli applicazione, selezionare Configurazione SSO, quindi Modifica configurazione SSO. Nella sezione Criteri di autenticazione, selezionare Convalida audience, Consenti CORS o Richiedi cookie sicuri, se necessario.
- Convalida del pubblico: per motivi di sicurezza, assicurarsi che la casella di controllo Convalida del pubblico sia selezionata. La casella di controllo di convalida dell'audience viene utilizzata per assicurarsi che il token sia stato emesso dall'emittente noto di Gateway applicazioni, in questo caso IAM. Se si cancella la convalida dell'audience, Gateway applicazioni non convalida l'audience del token, il che rende l'applicazione vulnerabile agli attacchi.
- Consenti CORS: selezionare questa opzione per abilitare la condivisione CORS ( Cross-Origin Resource Sharing) in modo che le applicazioni eseguite in un dominio di Identity possano ottenere dati da un altro dominio di Identity.
- Richiedi cookie sicuri: se il gateway applicazioni è configurato in modalità SSL (HTTP), confermare che è selezionata l'opzione Richiedi cookie sicuri. Questo flag imposta l'intestazione sicura per evitare che i cookie vengano utilizzati in comunicazioni HTTP non sicure. Se Gateway applicazioni è configurato in modalità non SSL (HTTP), deselezionare Richiedi cookie sicuri.
- Selezionare Aggiungi risorse gestite.
- Nella finestra Aggiungi risorsa gestita selezionare la risorsa per la quale si desidera configurare un criterio di autenticazione dalla lista di risorse create nella sezione Risorse o aggiungere una risorsa gestita.
-
Utilizzare la tabella riportata di seguito per definire il metodo di autenticazione per la risorsa selezionata.
Metodo di autenticazione
descrizione;
Autenticazione Basic
Il metodo Autenticazione di base esegue l'autenticazione Basic HTTP. Se la richiesta non contiene un'intestazione
Auntication Basic
, il browser dell'utente richiederà le credenziali.Le credenziali inviate nell'intestazione sono nella
AuthenticationBasic
convalidata in IAM.Base Auth+Logout
Questo metodo viene utilizzato per proteggere la risorsa (URL) dell'applicazione che rappresenta il processo di logout dell'applicazione.
Quando il gateway applicazioni intercetta una richiesta a questa risorsa, viene avviato il processo di logout HTTP. Questo processo elimina qualsiasi cookie di sessione HTTP creato dal metodo di autenticazione Basic Auth+Session.
Al termine del processo di logout, Gateway applicazioni inoltra il browser utente alla risorsa dell'applicazione richiesta.
Il processo di logout HTTP non cancella le credenziali inserite nella cache dal browser nella sessione corrente del browser e quindi all'utente potrebbe non essere richiesto di nuovo per le richieste successive.
Base Auth+Session
Funziona come Autorizzazione di base. Una volta convalidata, la credenziale crea un cookie di sessione HTTP (
ORA_OCIS_CG_BA_SESSION
).Form o token di accesso
In questo metodo di autenticazione, Gateway applicazioni delega la raccolta e la convalida delle credenziali a IAM.
Se nella richiesta è presente un'intestazione
Authorization Bearer
, l'autenticazione è simile a un flusso del server delle risorse. Se è presente un'intestazioneuser-agent
, viene eseguito un flusso del browser utente.Il flusso del browser utente reindirizza il browser utente a IAM per la raccolta e la convalida delle credenziali, quindi crea un cookie di sessione OAuth (
ORA_OCIS_CG_SESSION_*
).Se nella richiesta è presente un'intestazione
Authorization session
e il cookie di sessione OAuth è mancante o non valido, viene eliminato il normale flusso di login OAuth e viene restituito un codice di errore HTTP401
insieme a un'intestazioneWWW-Authenticate: Bearer error="invalid_session"
. Questo viene utilizzato dalle applicazioni che possono attivare un login indesiderato quando le loro richieste contengono un'intestazioneuser-agent
, ma non un'intestazioneAuthorization Bearer
, consentendo loro di gestire la riautenticazione.Form+Logout
Questo metodo viene utilizzato per proteggere la risorsa (URL) dell'applicazione che rappresenta il processo di logout dell'applicazione.
L'URL di questa risorsa non deve essere esposto dall'applicazione, poiché Gateway applicazioni reindirizza il browser utente all'endpoint di logout OAuth IAM (
/oauth2/v1/userlogout
), invece di inoltrare la richiesta all'URL dell'applicazione.Nella finestra Aggiungi risorsa, l'URL successivo al logout è l'URL che Gateway applicazioni reindirizza al browser utente dopo il logout dell'utente. È inoltre possibile fornire un valore di parametro Stato successivo al logout da utilizzare nella pagina URL successiva al logout dell'applicazione.
Più token
Esegue l'autenticazione in base al contenuto dell'intestazione
Authorization
della richiesta:- Se la richiesta contiene un'intestazione
Authorization Basic
, Gateway applicazioni gestisce questa autenticazione come Autenticazione di base. - Se la richiesta contiene un'intestazione
Authorization Bearer
oAuthorization Session
, Gateway applicazioni gestisce questa autenticazione come Form o Token di accesso. - Se l'intestazione Authorization risulta mancante o contiene un altro valore, viene restituito un errore HTTP
401 Unauthoized
.
Multitoken+Fallthrough
Uguale a Multitoken, ma se l'intestazione
Authorization
non èBasic
,Bearer
osession
, invece di presentare l'errore HTTP401 Unauthoized
, la richiesta Gateway applicazioni agisce come metodo di autenticazione Autenticazione di base.Anonimo
- Se è presente un cookie di sessione OAuth valido, le intestazioni configurate nel criterio di autenticazione vengono aggiunte alla richiesta e la richiesta viene inoltrata all'applicazione.
- Se il cookie di sessione OAuth è mancante o scaduto, funziona come il metodo di autenticazione Pubblico. In questo caso, alla richiesta viene aggiunta un'intestazione
REMOTE_USER
con valoreanonymous
.
Per entrambe le opzioni, le intestazioni configurate nel criterio di autenticazione vengono aggiunte alla richiesta, ma l'autenticazione non viene eseguita.
Pubblica
Non viene eseguita alcuna autenticazione. La richiesta viene inoltrata all'applicazione così com'è.
Non supportato
Questo metodo restituisce sempre il codice di errore HTTP
500 Not Supported
.Ad esempio, è possibile utilizzare questo metodo per disabilitare l'accesso a un URL protetto disponibile nell'applicazione, ma non si desidera che gli utenti vi accedano.
- Se la richiesta contiene un'intestazione
-
Il metodo di autenticazione selezionato nel passo precedente è valido per tutti i metodi HTTP (
GET
,HEAD
,DELETE
,PUT
,OPTIONS
,CONNECT
,POST
oPATCH
). Se si desidera specificare metodi di autenticazione diversi per i metodi HTTP (ad esempio, il metodo di autenticazione Form + Token di accesso per il metodoGET
HTTP e il metodo di autenticazione Multitoken per il metodoPOST
HTTP), è possibile farlo utilizzando il menu Sostituzioni del metodo di autenticazione. Selezionare il metodo HTTP, quindi il metodo di autenticazione desiderato. Se è necessario eseguire l'override di più metodi HTTP, ripetere questo passo più volte. -
Se si desidera aggiungere una variabile di intestazione alla richiesta in modo che Gateway applicazioni la inoltri all'applicazione, selezionare l'icona più + per Intestazioni, fornire il nome, quindi selezionare il valore per la variabile di intestazione dall'elenco degli attributi utente, immettere un valore fisso o fornire un'espressione. Per aggiungere più di una variabile di intestazione, selezionare più volte l'icona + per Intestazioni.
Si supponga, ad esempio, che l'applicazione richieda la presenza di una variabile di intestazione denominata
USERLOGGEDIN
in ogni richiesta in modo che l'applicazione conosca l'ID dell'utente connesso a IAM. È necessario aggiungere una variabile di intestazione, immettereUSERLOGGEDIN
per il campo Nome, quindi selezionare Nome utente dalla lista o immettere$subject.user.userName
per Valore.Nota
È possibile selezionare un attributo utente dal menu o fornire un'espressione utilizzando qualsiasi attributo dello schema utente SCIM di IAM come valore di variabile di intestazione. Vedere Espressioni dei valori di intestazione supportate per i criteri di autenticazione.
- Selezionare Aggiungi risorsa gestita.
- Selezionare Salva modifiche.