Metodi di autenticazione Fed in OAM e IdP

Questo articolo descrive come IdP può essere configurato per mappare i metodi di autenticazione Federation agli schemi di autenticazione OAM:

Panoramica

I vari protocolli della Federazione supportano meccanismi che consentono ai partner di scambiare informazioni su:

Quando un partner SP remoto reindirizza l'utente a IdP per SSO Federation, il messaggio potrebbe contenere dati che richiedono la modalità di richiesta di verifica dell'utente da parte di IdP: questo metodo viene considerato come metodo di autenticazione Federation richiesto.

IdP deve mappare il metodo di autenticazione federativa richiesto a uno schema di autenticazione locale, quindi richiamare OAM per l'autenticazione o la verifica dell'utente con lo schema di autenticazione mappato. OAM esegue l'autenticazione dell'utente se necessario con lo schema specificato da IdP.

Analogamente, quando un IdP emette una risposta SSO, nella maggior parte dei casi deve includere un identificativo che rappresenti il modo in cui l'utente è stato sfidato. Questo viene considerato come il metodo di autenticazione Federation.

Quando IdP esegue un'asserzione, valuta lo schema di autenticazione con cui OAM ha identificato l'utente:

Mapping

In IdP, il mapping tra i metodi di autenticazione Federation e gli schemi di autenticazione prevede le regole riportate di seguito.

Esaminiamo l'esempio seguente e i vari casi d'uso, basati sul protocollo SAML 2.0:

Mapping definiti come:

Casi d'uso:

Configurazione

Il mapping dei metodi di autenticazione della federazione agli schemi di autenticazione OAM dipende dal protocollo in quanto i metodi sono definiti nei vari protocolli (SAML 2.0, SAML 1.1, OpenID 2.0).

Di conseguenza, i comandi WLST per impostare tali mapping comprendono:

Nota: se un partner SP è configurato per definire uno o più mapping del metodo di autenticazione federativo allo schema di autenticazione OAM, tutti i mapping de2ned nel profilo partner SP verranno ignorati.

Schema di autenticazione

Durante SSO Federation, IdP inoltra internamente l'utente a OAM per l'autenticazione/verifica e specifica lo schema di autenticazione da utilizzare.

OAM determina se è necessario eseguire la richiesta di verifica di un utente:

Pertanto, anche se un provider di servizi richiede un metodo di autenticazione federativo specifico da utilizzare per contestare l'utente, se tale metodo è mappato a uno schema di autenticazione e se in fase di esecuzione OAM ritiene che non sia necessario sottoporre a verifica l'utente. con tale schema (poiché l'utente è già autenticato, la sessione non è scaduta e il livello di autenticazione della sessione è uguale o superiore a quello per lo schema di autenticazione specificato), l'intervallo non comporta un'operazione di richiesta di verifica.

Protocolli

SAML 2.0

Le specifiche SAML 2.0 definiscono i seguenti metodi di autenticazione federativa per i flussi SAML 2.0:

Per impostazione predefinita, IdP dispone dei seguenti mapping per il protocollo SAML 2.0:

Un esempio di messaggio AuthnRequest inviato da un provider di servizi a un IdP con il provider di servizi che richiede un metodo di autenticazione federativo specifico da utilizzare per contestare l'utente sarà:

<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
Destination="https://idp.com/oamfed/idp/samlv20" ID="id-8bWn
A9o4aoMl3Nhx1DuPOOjawc-" IssueInstant="2014-03-21T20:51:11Z" Version="2.0">
  <saml:Issuer ...>https://acme.com/sp</saml:Issuer>
  <samlp:NameIDPolicy AllowCreate="false"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspeciGed"/>   <samlp:RequestedAuthnContext Comparison="minimum">
    <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
      urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
  </samlp:RequestedAuthnContext>
</samlp:AuthnRequest>

Un esempio di asserzione eseguita da un IdP sarà:

<samlp:Response ...>
    <saml:Issuer ...>https://idp.com/oam/fed</saml:Issuer>
    <samlp:Status>
        <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
    </samlp:Status>
    <saml:Assertion ...>
        <saml:Issuer ...>https://idp.com/oam/fed</saml:Issuer>
        <dsig:Signature>
            ...
        </dsig:Signature>
        <saml:Subject>
            <saml:NameID ...>bob@oracle.com</saml:NameID>
            <saml:SubjectConGrmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
                <saml:SubjectConGrmationData .../>
            </saml:SubjectConGrmation>         </saml:Subject>
        <saml:Conditions ...>
            <saml:AudienceRestriction>
                <saml:Audience>https://acme.com/sp</saml:Audience>
            </saml:AudienceRestriction>
        </saml:Conditions>
        <saml:AuthnStatement AuthnInstant="2014-03-21T20:53:55Z" SessionIndex="id6i-Dm0yB-HekG6cejktwcKIFMzYE8Yrmqwfd0azz"
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>

Un amministratore deve essere in grado di specificare un mapping tra un metodo di autenticazione federativo SAML 2.0 e uno o più schemi di autenticazione OAM

SAML 1.1

Le specifiche SAML 1.1 definiscono i seguenti metodi di autenticazione federativa per i flussi SAML 1.1:

Per impostazione predefinita, IdP dispone dei seguenti mapping per il protocollo SAML 1.1:

Questo mapping è definito nel profilo partner SP saml11-sp-partner-profile, che è il profilo partner SP OOTB predefinito per SAML 1.1

Un esempio di asserzione eseguita da un IdP sarà:

<samlp:Response ...>
    <samlp:Status>
        <samlp:StatusCode Value="samlp:Success"/>
    </samlp:Status>
    <saml:Assertion Issuer="https://idp.com/oam/fed" ...>
        <saml:Conditions ...>
            <saml:AudienceRestriction>
                <saml:Audience>https://acme.com/sp/ssov11</saml:Audience>
            </saml:AudienceRestriction>
        </saml:Conditions>
        <saml:AuthnStatement AuthenticationInstant="2014-03-21T20:53:55Z"
AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password">
            <saml:Subject>
                <saml:NameIdentiGer ...>bob@oracle.com</saml:NameIdentiGer>
                <saml:SubjectConGrmation>
                   <saml:ConGrmationMethod>
                       urn:oasis:names:tc:SAML:1.0:cm:bearer
                   </saml:ConGrmationMethod>
                </saml:SubjectConGrmation>
            </saml:Subject>
        </saml:AuthnStatement>
        <dsig:Signature>
            ...
        </dsig:Signature>     </saml:Assertion> </samlp:Response>

Nota: SAML 1.1 non definisce un messaggio AuthnRequest.

Un amministratore può specificare un mapping tra un metodo di autenticazione federativo SAML 1.1 e uno o più schemi di autenticazione OAM.

OpenID 2.0

Le specifiche PAPE OpenID 2.0 definiscono i metodi di autenticazione della federazione riportati di seguito per i flussi OpenID 2.0.

Per impostazione predefinita, IdP non definisce alcun mapping per i metodi di autenticazione Federation OpenID 2.0.

Per OpenID 2.0, la configurazione prevede il mapping di una lista di criteri OpenID 2.0 a una lista di schemi di autenticazione.

Un esempio di messaggio di richiesta OpenID 2.0 inviato da un SP/RP a un IdP/OP sarà:

https://idp.com/openid?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=checkid_setup&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2FidentiGer_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2FidentiGer_select&openid.assoc_handle=id-6a5S6zhAKaRwQNUnjTKROREdAGSjWodG1el4xyz3&openid.return_to=https%3A%2F%2Facme.com%2Fopenid%3FreGd%3Did9PKVXZmRxAeDYcgLqPm36ClzOMA-&openid.realm=https%3A%2F%2Facme.com%2Fopenid&openid.ns.ax=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ax.mode=fetch_request&openid.ax.type.aer0=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ax.if_available=aer0&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.max_auth_age=0

Un esempio di risposta SSO Open ID 2.0 emessa da un IdP/OP sarà:

https://acme.com/openid?reGd=id-9PKVXZmRxAeDYcgLqPm36ClzOMA-&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fidp.com%2Fopenid&openid.claimed_id=https%3A%2F%2Fidp.com%2Fopenid%3Fid%3Did-38iCmmlAVEXPsFjnFVKArfn5RIiF75D5doorhEgqqPM%3D&openid.identity=https%3A%2F%2Fidp.com%2Fopenid%3Fid%3Did-38iCmmlAVEXPsFjnFVKArfn5RIiF75D5doorhEgqqPM%3D&openid.return_to=https%3A%2F%2Facme.com%2Fopenid%3FreGd%3Did9PKVXZmRxAeDYcgLqPm36ClzOMA-&openid.response_nonce=2014-03-24T19%3A20%3A06Zid-YPa2kTNNFftZkgBb460jxJGblk2g--iNwPpDI7M1&openid.assoc_handle=id6a5S6zhAKaRwQNUnjTKROREdAGSjWodG1el4xyz3&openid.ns.ax=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ax.mode=fetch_response&openid.ax.type.aer0=http%3A%2F%2Fsession%2Fcount&openid.ax.value.aer0=1&openid.ax.type.aer1=http%3A%2F%2Fopenid.net%2Fschema%2FnamePerson%2Ffriendly&openid.ax.value.aer1=My+name+is+Bobby+Smith&openid.ax.type.aer2=http%3A%2F%2Fschemas.openid.net%2Fax%2Fapi%2Fuser_id&openid.ax.value.aer2=bob&openid.ax.type.aer3=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ax.value.aer3=bob%40oracle.com&openid.ax.type.aer4=http%3A%2F%2Fsession%2Fipaddress&openid.ax.value.aer4=10.145.120.253&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.auth_time=2014-03-24T19%3A20%3A05Z&openid.pape.auth_policies=http%3A%2F%2Fschemas.openid.net%2Fpape%2Fpolicies%2F2007%2F06%2Fphishing-resistant&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle%2Cns.ax%2Cax.mode%2Cax.type.aer0%2Cax.value.aer0%2Cax.type.aer1%2Cax.value.aer1%2Cax.type.aer2%2Cax.value.aer2%openid.sig=mYMgbGYSs22l8e%2FDom9NRPw15u8%3D

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.