AuthnRequest Impostazioni in OAM e SP

In questo articolo vengono elencate le varie impostazioni OAM/SP che influiscono sulla modalità di creazione di un messaggio AuthnRequest in OAM in un flusso SSO Federation. Il messaggio AuthnRequest viene utilizzato da un SP per avviare un'operazione SSO Federation e per indicare all'indirizzo IdP la modalità di esecuzione dell'operazione:

Protocolli

I protocolli SAML 2.0, SAML 1.1 e OpenID 2.0 definiscono elementi messaggio e regole diversi che consentono a un amministratore di influenzare i flussi SSO Federation in modi diversi, quando l'SP attiva un'operazione SSO:

SAML 2.0

OAM/SP consente la personalizzazione del messaggio AuthnRequest SAML 2.0 per i seguenti elementi:

ForceAuthn:

IsPassive

RequestedAuthnContext

NameIDPolicy

ProtocolBinding

OAM/SP consente inoltre all'amministratore di configurare il server per:

SAML 1.1

Le specifiche SAML 1.1 non definiscono un messaggio per l'SP da inviare a IdP quando viene avviata un'operazione SSO Federation. Pertanto, non è possibile configurare OAM/SP su come influenzare l'avvio del flusso SSO Federation.

OpenID 2.0

OpenID 2.0 definisce diverse estensioni che possono essere utilizzate da SP/RP per influenzare l'esecuzione dell'operazione SSO Federation:

Richiesta OpenID:

Estensione PAPE:

preferred_auth_policies

Estensione interfaccia utente

Preferenza lingua

Icona:

ForceAuthn e IsPassive

Comando WLST

OAM/SP fornisce il comando WLST configureIdPAuthnRequest() per impostare:

ForceAuthn come valore booleano:

IsPassive come valore booleano:

Test

In questo test, OAM/SP è integrato con un partner SAML 2.0 IdP remoto, con la configurazione OOTB. In base a questa impostazione, quando OAM/SP avvia un flusso SSO Federation, viene generato il seguente SAML 2.0 AuthnRequest:

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

Configurare OAM/SP per il partner IdP in modo che il provider di servizi richieda a IdP di eseguire di nuovo la verifica dell'utente, anche se l'utente è già autenticato:

  1. Immettere l'ambiente WLST eseguendo:$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Connetti al server di amministrazione WLS: connect()
  3. Passare alla diramazione Runtime dominio: domainRuntime()
  4. Eseguire il comando configureIdPAuthnRequest(): configureIdPAuthnRequest(partner="AcmeIdP", forceAuthn="true")
  5. Uscire dall'ambiente WLST: exit()

Dopo le modifiche, viene generato il seguente SAML 2.0 AuthnRequest:

<samlp:AuthnRequest ForceAuthn="true" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP- POST" ID="id- E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4" Version="2.0" IssueInstant="2014-04-01T21:39:14Z" Destination="https://acme.com/saml20/sso">
   <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

Per visualizzare o eliminare le impostazioni ForceAuthn/IsPassive, effettuare le operazioni riportate di seguito.

  1. Immettere l'ambiente WLST eseguendo: $IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Connetti al server di amministrazione WLS: connect()
  3. Passare alla diramazione Runtime dominio: domainRuntime()
  4. Eseguire il comando configureIdPAuthnRequest() per visualizzare le impostazioni di ForceAuthn/IsPassive sul partner configureIdPAuthnRequest(partner="AcmeIdP", displayOnly="true")
  5. Per eliminare le impostazioni ForceAuthn/IsPassive dal partner configureIdPAuthnRequest(partner="AcmeIdP", delete="true")
  6. Uscire dall'ambiente WLST: exit()

Metodo di autenticazione federale richiesto

Nell'articolo "Fed Authentication Method Requests in OAM / SP" si è discusso di come OAM/SP potrebbe essere configurato per richiedere uno specifico metodo di autenticazione Federation dal IdP quando si avvia un'operazione SSO Federation, impostando gli elementi nel messaggio di richiesta SSO.

Comando WLST

I comandi WLST OAM che possono essere utilizzati sono:

Ciò è valido per i protocolli SAML 2.0 e OpenID 2.0. Per ulteriori informazioni, vedere l'articolo "Fed Authentication Method Requests in OAM / SP".

Test

In questo test, OAM/SP è integrato con un partner SAML 2.0 IdP remoto, con la configurazione OOTB. In base a questa impostazione, quando OAM/SP avvia un flusso SSO Federation, viene generato il seguente SAML 2.0 AuthnRequest:

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

Configurare OAM/SP per il partner IdP in modo che il provider di servizi richieda a IdP di utilizzare un meccanismo mappato al metodo di autenticazione Federation urn:oasis:names:tc:SAML:2.0:ac:classes:X509 per autenticare l'utente.

  1. Immettere l'ambiente WLST eseguendo: $IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Connetti al server di amministrazione WLS: connect()
  3. Passare alla diramazione Runtime dominio: domainRuntime()
  4. Eseguire il comando setIdPPartnerRequestAuthnMethod(): setIdPPartnerRequestAuthnMethod("AcmeIdP", "urn:oasis:names:tc:SAML:2.0:ac:classes:X509")
  5. Uscire dall'ambiente WLST: exit()

Dopo le modifiche, viene generato il seguente SAML 2.0 AuthnRequest:

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com /oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/>
   <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:X509
      </saml:AuthnContextClassRef>
   </samlp:RequestedAuthnContext> </samlp:AuthnRequest>

Formato NameID

Il protocollo SAML 2.0 consente all'SP di richiedere da IdP un formato NameID specifico da utilizzare quando l'asserzione viene emessa da IdP.

Nota: SAML 1.1 e OpenID 2.0 non forniscono un meccanismo di questo tipo

Configurazione di OAM

L'amministratore può configurare OAM/SP per richiedere un formato NameID in SAML 2.0 AuthnRequest tramite:

Console di amministrazione di OAM

Per configurare il formato NameID richiesto tramite la console di amministrazione OAM, effettuare le operazioni riportate di seguito.

  1. Andare alla console di amministrazione OAM: http(s)://oam-admin-host:oam-adminport/oamconsole
  2. Passare a Identity Federation, Amministrazione provider di servizi
  3. Apri il partner IdP che desideri modificare
  4. Nella casella a discesa Formato richiesta di autenticazione NameID con uno dei valori riportati di seguito.
    • None: il formato NameID è impostato su Predefinito
    • Email Address: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress
    • X.509 Subject: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName
    • Windows Name Qualifier: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualifiedName
    • Kerberos: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:2.0:nameidformat:kerberos
    • Transient: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:2.0:nameidformat:transient
    • Unspecified: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified
    • Custom: in questo caso viene visualizzato un campo che consente all'amministratore di indicare il formato NameID personalizzato da utilizzare. Il formato NameID verrà impostato sul formato specificato.
    • Persistent: The NameID format will be set urn:oasis:names:tc:SAML:2.0:nameidformat:persistent we selected Indirizzo e-mail` in questo esempio
  5. Fare clic su Salva

Descrizione dell'immagine OAM_Administration_Console.jpg

Descrizione dell'immagine OAM Administration Console.jpg

Comando WLST

Per configurare il formato NameID richiesto tramite il comando OAM WLST setIdPPartnerNameIDFormat(), attenersi alla procedura riportata di seguito.

  1. Immettere l'ambiente WLST eseguendo: $IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Connetti al server di amministrazione WLS: connect()
  3. Passare alla diramazione Runtime dominio: domainRuntime()
  4. Eseguire il comando setIdPPartnerNameIDFormat(): setIdPPartnerNameIDFormat("PARTNER", "FORMAT", customFormat="CUSTOM")
    • Sostituire PARTNER con il nome partner IdP
    • Sostituire FORMAT con uno dei seguenti elementi:
    • orafed-none: il formato NameID verrà impostato come predefinito
    • orafed-emailaddress: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress
    • orafed-x509: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName
    • orafed-windowsnamequalifier: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualifiedName
    • orafed-kerberos: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:2.0:nameidformat:Kerberos
    • orafed-transient: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:2.0:nameidformat:transient
    • orafed-unspecified: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified
    • orafed-custom: in questo caso viene visualizzato un campo che consente all'amministratore di indicare il formato NameID personalizzato da utilizzare. Il formato NameID verrà impostato sul formato specificato
      • orafed-persistent: il formato NameID verrà impostato su urn:oasis:names:tc:SAML:2.0:nameidformat:persistent
      • customFormat dovrà essere impostato se FORMAT è impostato su orafed-custom Un esempio è: setIdPPartnerNameIDFormat("AcmeIdP", "orafed-emailaddress")
  5. Uscire dall'ambiente WLST: exit()

Test

In questo test, OAM/SP è integrato con un partner SAML 2.0 IdP remoto, con la configurazione OOTB. In base a questa impostazione, quando OAM/SP avvia un flusso SSO Federation, viene generato il seguente SAML 2.0 AuthnRequest:

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true"/>
</samlp:AuthnRequest>

Dopo l'esecuzione delle modifiche mediante la console di amministrazione OAM o tramite il comando OAM WLST setIdPPartnerNameIDFormat() in cui è richiesto l'indirizzo e-mail come formato NameID, viene generato il seguente SAML 2.0 AuthnRequest:

<samlp:AuthnRequest ForceAuthn="false"
IsPassive="false"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
<samlp:NameIDPolicy
Format="urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress" AllowCreate="true"/> </samlp:AuthnRequest>

Associazione di protocollo

Le specifiche SAML 2.0 definiscono un modo in cui l'SP può richiedere l'associazione che deve essere utilizzata da IdP per reindirizzare l'utente all'SP con l'asserzione SAML 2.0: l'attributo ProtocolBinding indica l'associazione che IdP deve utilizzare. È impostato su:

Le specifiche SAML 2.0 definiscono inoltre modi diversi per reindirizzare l'utente dall'SP al IdP con il messaggio SAML 2.0 AuthnRequest, in quanto l'SP può inviare il messaggio:

Configurazione di OAM

È possibile configurare OAM:

Nota: per inviare i messaggi LogoutRequest e LogoutResponse SAML 2.0 verrà utilizzata anche l'associazione per l'invio del messaggio AuthnRequest SAML 2.0.

Console di amministrazione di OAM

Per configurare l'associazione di risposte/asserzioni SSO tramite la console di amministrazione OAM, effettuare le operazioni riportate di seguito.

  1. Andare alla console di amministrazione OAM: http(s)://oam-admin-host:oam-adminport/oamconsole.
  2. Passare a Identity Federation, Service Provider Administration.
  3. Aprire il partner IdP che si desidera modificare.
  4. Selezionare la casella "Associazione risposta SSO POST HTTP" per richiedere a IdP di restituire la risposta SSO tramite POST HTTP, altrimenti deselezionarla per richiedere l'artifact.
  5. Fare clic su Salva.

Descrizione dell'immagine SSO_Response_Assertion_Configuration.jpg

Comando WLST

Per configurare l'associazione risposta/asserzione SSO e l'associazione AuthnRequest tramite il comando OAM WLST configureSAMLBinding(), effettuare le operazioni riportate di seguito.

  1. Immettere l'ambiente WLST eseguendo: $IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Connetti al server di amministrazione WLS: connect()
  3. Passare alla diramazione Runtime dominio: domainRuntime()
  4. Eseguire il comando configureSAMLBinding(): configureSAMLBinding("PARTNER", "PARTNER_TYPE", binding, ssoResponseBinding="httppost")
  5. Sostituisci PARTNER con nome partner
  6. Sostituire PARTNER_TYPE con il tipo di partner (idp o sp)
  7. Sostituire l'associazione con l'associazione da utilizzare per inviare i messaggi AuthnRequest e LogoutRequest/LogoutResponse (dovrebbe essere httpredirect nella maggior parte dei casi; predefinito)
  8. Specificare facoltativamente ssoResponseBinding per indicare come deve essere inviata l'asserzione SSO
  9. Uscire dall'ambiente WLST: exit()

Test

In questo test, OAM/SP è integrato con un partner SAML 2.0 IdP remoto, con la configurazione OOTB che richiede HTTP-POST da IdP per inviare l'asserzione SSO. In base a questa impostazione, quando OAM/SP avvia un flusso SSO Federation, viene generato il seguente SAML 2.0 AuthnRequest:

<samlp:AuthnRequest
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-
POST" ID="id-
E4BOT7lwbYK56lO57dBaqGUFq01WJSjAHiSR60Q4"
Version="2.0" IssueInstant="2014-04-01T21:39:14Z"
Destination="https://acme.com/saml20/sso">
   <saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://sp.com
/oam/fed</saml:Issuer>
   <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>

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.