AuthnRequest Paramètres dans OAM et SP

Cet article répertorie les différents paramètres OAM/SP qui affectent la façon dont un message AuthnRequest est créé dans OAM dans un flux SSO de fédération. Le message AuthnRequest est utilisé par un SP pour démarrer une opération SSO de fédération et pour indiquer à IdP comment l'opération doit être exécutée :

Protocoles

Les protocoles SAML 2.0, SAML 1.1 et OpenID 2.0 définissent différents éléments de message et règles qui permettent à un administrateur d'influencer les flux SSO de fédération de différentes manières, lorsque le fournisseur de services déclenche une opération SSO :

SAML 2.0

OAM/SP permet de personnaliser le message AuthnRequest SAML 2.0 pour les éléments suivants :

ForceAuthn :

IsPassive

RequestedAuthnContext

NameIDPolicy

ProtocolBinding

OAM/SP permet également à l'administrateur de configurer le serveur pour :

SAML 1.1

Les SPécifications SAML 1.1 ne définissent pas de message que le fournisseur de services doit envoyer à IdP lorsqu'une opération SSO de fédération est démarrée. Par conséquent, il n'est pas possible de configurer OAM/SP pour déterminer comment affecter le démarrage du flux SSO de fédération.

OpenID 2.0

OpenID 2.0 définit plusieurs extensions qui peuvent être utilisées par le fournisseur de services/RP pour affecter la façon dont l'opération SSO de fédération a lieu :

Demande OpenID :

Extension PAPE :

preferred_auth_policies

Extension d'interface utilisateur

Préférence de langue

Icône :

ForceAuthn et IsPassive

Commande WLST

OAM/SP fournit la commande WLST configureIdPAuthnRequest() permettant de définir les éléments suivants :

ForceAuthn en tant que booléen :

IsPassive en tant que booléen :

Tester

Dans ce test, OAM/SP est intégré à un partenaire SAML 2.0 IdP distant, avec la configuration OOTB. Selon cette configuration, lorsqu'OAM/SP démarre un flux SSO de fédération, le fichier AuthnRequest SAML 2.0 suivant est généré :

<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>

Configurons OAM/SP pour ce partenaire IdP, de sorte que le SP exige que IdP réponde à l'utilisateur, même si l'utilisateur est déjà authentifié :

  1. Entrez dans l'environnement WLST en exécutant :$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Connectez-vous au serveur d'administration WLS : connect()
  3. Accédez au branchement d'exécution de domaine : domainRuntime()
  4. Exécutez la commande configureIdPAuthnRequest() : configureIdPAuthnRequest(partner="AcmeIdP", forceAuthn="true")
  5. Quittez l'environnement WLST : exit()

Après les modifications, le fichier AuthnRequest SAML 2.0 suivant est généré :

<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>

Pour afficher ou supprimer les paramètres ForceAuthn/IsPassive, effectuez les opérations suivantes :

  1. Entrez dans l'environnement WLST en exécutant : $IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Connectez-vous au serveur d'administration WLS : connect()
  3. Accédez au branchement d'exécution de domaine : domainRuntime()
  4. Exécutez la commande configureIdPAuthnRequest() pour afficher les paramètres ForceAuthn/IsPassive sur le partenaire configureIdPAuthnRequest(partner="AcmeIdP", displayOnly="true")
  5. Pour supprimer les paramètres ForceAuthn/IsPassive du partenaire configureIdPAuthnRequest(partner="AcmeIdP", delete="true")
  6. Quittez l'environnement WLST : exit()

Méthode Fed Authn demandée

Dans l'article "Fed Authentication Method Requests in OAM / SP", nous avons expliqué comment OAM/SP peut être configuré pour demander une méthode d'authentification de fédération spécifique à partir de IdP lors du démarrage d'une opération SSO de fédération, en définissant des éléments dans le message de demande SSO.

Commande WLST

Les commandes WLST OAM pouvant être utilisées sont les suivantes :

Cela s'applique aux protocoles SAML 2.0 et OpenID 2.0. Pour plus d'informations, reportez-vous à l'article "Fed Authentication Method Requests in OAM / SP".

Tester

Dans ce test, OAM/SP est intégré à un partenaire SAML 2.0 IdP distant, avec la configuration OOTB. Selon cette configuration, lorsqu'OAM/SP démarre un flux SSO de fédération, le fichier AuthnRequest SAML 2.0 suivant est généré :

<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>

Configurons OAM/SP pour ce partenaire IdP afin que le fournisseur de services demande à IdP d'utiliser un mécanisme mis en correspondance avec la méthode d'authentification de fédération urn:oasis:names:tc:SAML:2.0:ac:classes:X509 pour authentifier l'utilisateur :

  1. Entrez dans l'environnement WLST en exécutant : $IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Connectez-vous au serveur d'administration WLS : connect()
  3. Accédez au branchement d'exécution de domaine : domainRuntime()
  4. Exécutez la commande setIdPPartnerRequestAuthnMethod() : setIdPPartnerRequestAuthnMethod("AcmeIdP", "urn:oasis:names:tc:SAML:2.0:ac:classes:X509")
  5. Quittez l'environnement WLST : exit()

Après les modifications, le fichier AuthnRequest SAML 2.0 suivant est généré :

<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>

Format de NameID

Le protocole SAML 2.0 permet au fournisseur de services de demander à partir de IdP un format NameID SPécifique à utiliser lorsque l'assertion est émise par IdP.

Remarque : SAML 1.1 et OpenID 2.0 ne fournissent pas un tel mécanisme.

Configuration d'OAM

L'administrateur peut configurer OAM/SP pour demander un format NameID dans SAML 2.0 AuthnRequest via :

Console d'administration OAM

Pour configurer le format NameID demandé via la console d'administration OAM, procédez comme suit :

  1. Accédez à la console d'administration OAM : http(s)://oam-admin-host:oam-adminport/oamconsole
  2. Accédez à Fédération d'identités, Administration de fournisseur de services
  3. Ouvrez le partenaire IdP que vous souhaitez modifier
  4. Dans la liste déroulante Format de la demande d'authentification NameID, entrez l'une des valeurs suivantes :
    • None : le format NameID est défini par défaut
    • Email Address : le format NameID sera défini sur urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress
    • X.509 Subject : le format NameID sera défini sur urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName
    • Windows Name Qualifier : le format NameID sera défini sur urn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualifiedName
    • Kerberos : le format NameID sera défini sur urn:oasis:names:tc:SAML:2.0:nameidformat:kerberos
    • Transient : le format NameID sera défini sur urn:oasis:names:tc:SAML:2.0:nameidformat:transient
    • Unspecified : le format NameID sera défini sur urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified
    • Custom : dans ce cas, un champ apparaît, permettant à l'administrateur d'indiquer le format personnalisé NameID à utiliser. Le format NameID sera défini sur le format spécifié
    • Persistent: The NameID format will be set urn:oasis:names:tc:SAML :2.0 :nameidformat:persistent we selected Email Address dans cet exemple
  5. Cliquez sur Enregistrer.

Description de l'image OAM_Administration_Console.jpg

Description de l'illustration Administration OAM Console.jpg

Commande WLST

Pour configurer le format NameID demandé via la commande OAM WLST setIdPPartnerNameIDFormat(), procédez comme suit :

  1. Entrez dans l'environnement WLST en exécutant : $IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Connectez-vous au serveur d'administration WLS : connect()
  3. Accédez au branchement d'exécution de domaine : domainRuntime()
  4. Exécutez la commande setIdPPartnerNameIDFormat() : setIdPPartnerNameIDFormat("PARTNER", "FORMAT", customFormat="CUSTOM")
    • Remplacez PARTNER par le nom de partenaire IdP
    • Remplacez FORMAT par l'un des éléments suivants :
    • orafed-none : le format NameID sera défini comme valeur par défaut
    • orafed-emailaddress : le format NameID sera défini sur urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress
    • orafed-x509 : le format NameID sera défini sur urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName
    • orafed-windowsnamequalifier : le format NameID sera défini sur urn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualifiedName
    • orafed-kerberos : le format NameID sera défini sur urn:oasis:names:tc:SAML:2.0:nameidformat:Kerberos
    • orafed-transient : le format NameID sera défini sur urn:oasis:names:tc:SAML:2.0:nameidformat:transient
    • orafed-unspecified : le format NameID sera défini sur urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified
    • orafed-custom : dans ce cas, un champ apparaît pour permettre à l'administrateur d'indiquer le format personnalisé NameID à utiliser. Le format NameID sera défini sur le format indiqué
      • orafed-persistent : le format NameID sera défini sur urn:oasis:names:tc:SAML:2.0:nameidformat:persistent
      • customFormat doit être défini si FORMAT est défini sur orafed-custom Exemple : setIdPPartnerNameIDFormat("AcmeIdP", "orafed-emailaddress")
  5. Quittez l'environnement WLST : exit()

Tester

Dans ce test, OAM/SP est intégré à un partenaire SAML 2.0 IdP distant, avec la configuration OOTB. Selon cette configuration, lorsqu'OAM/SP démarre un flux SSO de fédération, le fichier AuthnRequest SAML 2.0 suivant est généré :

<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>

Une fois les modifications effectuées via la console d'administration OAM ou la commande OAM WLST setIdPPartnerNameIDFormat() où l'adresse électronique est demandée au format NameID, le SAML 2.0 AuthnRequest suivant est généré :

<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>

Liaison de protocole

Les SPécifications SAML 2.0 définissent un moyen pour le fournisseur de services de demander quelle liaison doit être utilisée par IdP pour rediriger l'utilisateur vers le fournisseur de services avec l'assertion SAML 2.0 : l'attribut ProtocolBinding indique la liaison que IdP doit utiliser. Elle est définie sur :

Les SPécifications SAML 2.0 définissent également différentes manières de rediriger l'utilisateur du fournisseur de services vers IdP avec le message SAML 2.0 AuthnRequest, car le fournisseur de services peut envoyer le message :

Configuration d'OAM

OAM peut être configuré :

Remarque : la liaison pour l'envoi du message SAML 2.0 AuthnRequest sera également utilisée pour envoyer les messages SAML 2.0 LogoutRequest et LogoutResponse.

Console d'administration OAM

Pour configurer la liaison réponse/assertion SSO via la console d'administration OAM, procédez comme suit :

  1. Accédez à la console d'administration OAM : http(s)://oam-admin-host:oam-adminport/oamconsole.
  2. Accédez à Fédération d'identités, Administration de fournisseur de services.
  3. Ouvrez le partenaire IdP que vous souhaitez modifier.
  4. Cochez la case "HTTP POST SSO Response Binding" pour demander à IdP de renvoyer la réponse SSO via HTTP POST, ou désélectionnez-la pour demander l'artefact.
  5. Cliquez sur Enregistrer.

Description de l'image SSO_Response_Assertion_Configuration.jpg

Commande WLST

Pour configurer la liaison d'assertion/réponse SSO ainsi que la liaison AuthnRequest via la commande OAM WLST configureSAMLBinding(), procédez comme suit :

  1. Entrez dans l'environnement WLST en exécutant : $IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Connectez-vous au serveur d'administration WLS : connect()
  3. Accédez au branchement d'exécution de domaine : domainRuntime()
  4. Exécutez la commande configureSAMLBinding() : configureSAMLBinding("PARTNER", "PARTNER_TYPE", binding, ssoResponseBinding="httppost")
  5. Remplacer le PARTENAIRE par le nom du partenaire
  6. Remplacez PARTNER_TYPE par le type de partenaire (idp ou sp).
  7. Remplacez la liaison par la liaison à utiliser pour envoyer les messages AuthnRequest et LogoutRequest/LogoutResponse (il doit s'agir de httpredirect dans la plupart des cas ; par défaut)
  8. Indiquez éventuellement ssoResponseBinding pour indiquer comment renvoyer l'assertion SSO
  9. Quittez l'environnement WLST : exit()

Tester

Dans ce test, OAM/SP est intégré à un partenaire SAML 2.0 IdP distant, avec la configuration OOTB qui demande à HTTP-POST à partir de IdP d'envoyer l'assertion SSO. Selon cette configuration, lorsqu'OAM/SP démarre un flux SSO de fédération, le fichier AuthnRequest SAML 2.0 suivant est généré :

<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>

Ressources de formation supplémentaires

Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuite sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour consulter la documentation du produit, visitez le site Oracle Help Center.