Mapping dei metodi di autenticazione federale ai livelli di autenticazione in OAM e SP
In questo articolo, esaminiamo OAM/SP e come può essere impostato per richiedere un metodo di autenticazione federativo specifico da utilizzare dal partner remoto IdP in fase di esecuzione per sfidare l'utente.
Livello di autenticazione
OAM definisce il concetto di livello di autenticazione nello schema di autenticazione. Indica a OAM il livello di efficacia di un particolare schema sotto forma di numero (1, 2, 3...) e viene utilizzato in runtime quando un utente già autenticato tenta di accedere a una risorsa protetta.
Quando un utente viene autenticato da OAM tramite uno schema di autenticazione, OAM crea una sessione per tale utente e memorizza nella sessione:
-
Il nome dello schema di autenticazione utilizzato per autenticare l'utente
-
Il livello di autenticazione utilizzato per l'operazione di autenticazione
Quando l'utente tenta di accedere a una risorsa protetta, OAM esegue le operazioni riportate di seguito.
-
Garantisce che la sessione dell'utente non sia scaduta
-
Individua la risorsa nell'area di memorizzazione dei criteri OAM Determinare il criterio di autenticazione che protegge la risorsa
-
Determina lo schema di autenticazione utilizzato per questo criterio di autenticazione
-
Recupera il livello di autenticazione per questo schema di autenticazione
-
Confronta il livello di autenticazione con quello utilizzato per creare la sessione dell'utente durante l'operazione di autenticazione precedente.
-
Se il livello di autenticazione della sessione è uguale o superiore a quello della risorsa protetta corrente, OAM concede l'accesso all'utente.
-
In caso contrario, OAM sfida l'utente con lo schema di autenticazione della risorsa
Metodi di autenticazione federazione
I messaggi di risposta SSO Federation emessi da un IdP/OP per SAML 2.0/SAML 1.1/OpenID 2.0 contengono un metodo di autenticazione Federation che indica la modalità di richiesta di verifica dell'utente in IdP.
Per impostazione predefinita, quando OAM/SP utilizza una risposta SSO, viene creata una sessione OAM con il livello di autenticazione della sessione impostato sul livello di autenticazione dello schema di autenticazione. Questa operazione è piuttosto statica e ignora la modalità di richiesta di verifica dell'utente in IdP.
Il metodo di autenticazione federativo contenuto nella risposta SSO indica come l'utente è stato identificato in IdP ed è talvolta preferibile basare il livello di autenticazione della sessione OAM su tali informazioni invece di basarsi sul livello contenuto nello schema di autenticazione federativo.
Quando si utilizzano le risposte SSO Federation, OAM/SP consente il mapping dinamico dei metodi di autenticazione Federation contenuti nella risposta ai livelli di autenticazione personalizzati, con conseguente creazione di una sessione OAM con un livello che riflette la modalità di richiesta di verifica dell'utente in IdP.
Comandi WLST
È possibile configurare OAM/SP per mappare un metodo di autenticazione federativo specifico a un livello di autenticazione tramite
-
Un profilo partner IdP che si applicherebbe a tutti i partner IdP associati a questo profilo
-
Un partner IdP, che in questo caso si applicherebbe solo a questo partner
I comandi WLST OAM che possono essere utilizzati sono:
-
addIdPPartnerProfileAuthnMethod()che mappa il metodo di autenticazione federativo specificato in un profilo partner IdP specifico al livello specificato. Accetta i parametri riportati di seguito.-
partnerProfile: nome del profilo partner IdP -
authnMethod: il metodo di autenticazione Federation da mappare -
authnLevel: il livello da mappare al metodo di autenticazione Federation
-
-
addIdPPartnerAuthnMethod()che configura la voce partner IdP specificata per mappare il metodo di autenticazione Federation specificato al livello specificato. Accetta i parametri riportati di seguito.-
partner: nome del partner IdP -
authnMethod: il metodo di autenticazione Federation da mappare -
authnLevel: il livello da mappare al metodo di autenticazione Federation
-
Test
Impostazione
In questa impostazione, OAM funge da SP ed è integrato con un partner SAML 2.0 IdP remoto identificato da AcmeIdP:
-
Per impostazione predefinita, OAM/SP non è configurato per richiedere un metodo di autenticazione Federation
-
In OAM/SP esistono due risorse e sono protette da WebGate:
-
Resource1 è protetto tramite FederationScheme, impostato sul livello 2
-
Resource2 è protetto tramite LDAPScheme, impostato sul livello 3
-
Il file remoto IdP supporta i seguenti metodi di autenticazione Federation
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport(metodo predefinito indicato dal IdP fuori banda) -
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
Nei test riportati di seguito, eseguire SSO Federation con OAM/SP configurato per accedere a entrambe le risorse e accedervi.
-
Eseguire SSO Federation con IdP che richiede l'utente tramite nome utente/password
-
Eseguire SSO Federation con IdP che richiede all'utente il certificato
X.509 -
Configurare OAM/SP per mappare
urn:oasis:names:tc:SAML:2.0:ac:classes:X509al livello 3 -
Eseguire SSO Federation con IdP che richiede l'utente tramite nome utente/password
-
Eseguire SSO Federation con IdP che richiede all'utente il certificato
X.509
SSO con nome utente/password
IdP sfida l'utente con il suo meccanismo di autenticazione predefinito (in questo caso con un meccanismo mappato a urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport). La risposta SSO SAML 2.0 è simile a:
<samlp:Response ...>
<saml:Issuer ...>hTps://acmeidp.com</saml:Issuer>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ...>
<saml:Issuer
...>hTps://acmeidp.com</saml:Issuer>
<dsig:Signature>
...
</dsig:Signature>
<saml:Subject>
<saml:NameID
...>bob@oracle.com</saml:NameID>
<saml:SubjectCon=rmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectCon=rmationData .../>
</saml:SubjectCon=rmation>
</saml:Subject>
<saml:Conditions ...>
<saml:AudienceRestriction>
<saml:Audience>hTps://sp.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement
AuthnInstant="2014-03-21T20:53:55Z"
SessionIndex="id-6i-Dm0yBHekG6cejktwcKIFMzYE8Yrmqwfd0azz"
SessionNotOnOrAfter="2014-03-21T21:53:55Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
Dopo che OAM/SP ha utilizzato l'asserzione SAML 2.0 e creato una sessione OAM con il livello di autenticazione impostato sul livello di autenticazione (2) di FederationScheme, poiché non esiste alcun mapping per urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport:
-
Quando si accede a Resource1, l'accesso verrà concesso perché il livello della sessione OAM è 2, che equivale al livello dello schema che protegge tale risorsa (2)
-
Quando si accede a Resource2, OAM sfida l'utente tramite LDAPScheme, perché il livello della sessione OAM è 2, che è inferiore al livello dello schema che protegge tale risorsa (3)
SSO con certificato X.509
Il file IdP richiede il certificato X.509 dell'utente (mappato a urn:oasis:names:tc:SAML:2.0:ac:classes:X509)
La risposta SSO SAML 2.0 è simile alla seguente:
<samlp:Response ...>
<saml:Issuer ...>hTps://acmeidp.com</saml:Issuer>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ...>
<saml:Issuer
...>hTps://acmeidp.com</saml:Issuer>
<dsig:Signature>
...
</dsig:Signature>
<saml:Subject>
<saml:NameID
...>bob@oracle.com</saml:NameID>
<saml:SubjectCon=rmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectCon=rmationData .../>
</saml:SubjectCon=rmation>
</saml:Subject>
<saml:Conditions ...>
<saml:AudienceRestriction>
<saml:Audience>hTps://sp.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement
AuthnInstant="2014-03-21T20:53:55Z"
SessionIndex="id-6i-Dm0yBHekG6cejktwcKIFMzYE8Yrmqwfd0azz"
SessionNotOnOrAfter="2014-03-21T21:53:55Z"> <saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
Dopo che OAM/SP ha utilizzato l'asserzione SAML 2.0 e creato una sessione OAM con il livello di autenticazione impostato sul livello di autenticazione (2) di FederationScheme, poiché non esiste alcun mapping per urn:oasis:names:tc:SAML:2.0:ac:classes:X509:
-
Quando si accede a Resource1, l'accesso verrà concesso perché il livello della sessione OAM è 2, che equivale al livello dello schema che protegge tale risorsa (2)
-
Quando si accede a Resource2, OAM sfida l'utente tramite LDAPScheme, perché il livello della sessione OAM è 2, che è inferiore al livello dello schema che protegge tale risorsa (3)
Mapping del metodo di autenticazione federale X.509 al livello 3
Per configurare OAM/SP per mappare urn:oasis:names:tc:SAML:2.0:ac:classes:X509 al livello di autenticazione 3, utilizzare addIdPPartnerAuthnMethod() per configurare il partner IdP:
-
Immettere l'ambiente WLST eseguendo:
$IAM_ORACLE_HOME/common/bin/wlst.sh -
Connetti al server di amministrazione WLS:
connect() -
Passare alla diramazione Runtime dominio:
domainRuntime() -
Eseguire il comando
addIdPPartnerAuthnMethod():addIdPPartnerAuthnMethod("AcmeIdP", "3") -
Uscire dall'ambiente WLST:
exit()
SSO con nome utente/password
IdP sfida l'utente con il meccanismo di autenticazione predefinito (in questo caso con un meccanismo mappato a urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport)
Dopo che OAM/SP ha utilizzato l'asserzione SAML 2.0 e creato una sessione OAM con il livello di autenticazione impostato sul livello di autenticazione (2) di FederationScheme, poiché non esiste alcun mapping per urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport:
-
Quando si accede a Resource1, l'accesso verrà concesso perché il livello della sessione OAM è 2, che equivale al livello dello schema che protegge tale risorsa (2)
-
Quando si accede a Resource2, OAM sfida l'utente tramite LDAPScheme, perché il livello della sessione OAM è 2, che è inferiore al livello dello schema che protegge tale risorsa (3)
SSO con certificato X.509
Il file IdP richiede il certificato X.509 dell'utente (mappato a urn:oasis:names:tc:SAML:2.0:ac:classes:X509)
Dopo che OAM/SP ha utilizzato l'asserzione SAML 2.0 e creato una sessione OAM con il livello di autenticazione impostato su 3, poiché esiste un mapping per urn:oasis:names:tc:SAML:2.0:ac:classes:X509:
-
Quando si accede a Resource1, l'accesso verrà concesso perché il livello della sessione OAM è 3, che è maggiore del livello dello schema che protegge tale risorsa (2)
-
Quando si accede a Resource2, l'accesso verrà concesso perché il livello della sessione OAM è 3, che equivale al livello dello schema che protegge tale risorsa (3)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o visita altri contenuti di formazione gratuiti sul canale Oracle Learning YouTube. Inoltre, visitare education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione sul prodotto, visitare Oracle Help Center.
Mapping Fed Authn Methods to Authn Levels in OAM and SP
F61371-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.