A propos de la configuration de SSO entre Azure AD et Oracle Access Manager pour Oracle E-Business Suite

Vous allez maintenant effectuer les étapes nécessaires pour inscrire un nouveau fournisseur de services fédérés dans Azure AD, enregistrer un nouveau fournisseur d'identités (E-Business Suite) dans Oracle Access Manager et apporter les modifications de configuration requises pour effectuer l'authentification SSO fédérée avec Azure AD et E-Business Suite à l'aide d'Oracle Access Manager.

Comprendre le flux de fédération Azure AD et E-Business Suite

Avant de poursuivre la configuration, vous devez comprendre le flux de fédération Azure AD et E-Business Suite.

Description de l'image ebiz-federation-flow.png
Description de l'illustration ebiz-federation-flow.png

Dans ce scénario, les utilisateurs accèdent à E-Business Suite avec des informations d'identification stockées dans Azure AD. Cet accès est obtenu via une configuration d'authentification fédérée avec le protocole SAML 2.0, dans laquelle Azure AD est le fournisseur d'identités et E-Business Suite est le fournisseur de services. Oracle Access Manager étant déployé devant E-Business Suite pour SSO, il s'agit également du composant qui fournit les fonctionnalités de fédération à E-Business Suite. Cette section fournit les étapes requises pour implémenter la fédération d'identités entre Azure AD et Oracle Access Manager.

Notez que nous sommes principalement intéressés par un flux de fédération lancé sur l'accès à une adresse protégée par E-Business Suite. En termes de protocole SAML, il s'agit d'un flux initié par un fournisseur de services (initié par un fournisseur de services) qui est illustré dans la figure 2. Dans ce flux, le serveur Oracle Access Manager (OAM) détecte l'accès à une ressource protégée par E-Business Suite, crée une demande d'authentification (SAMLRequest) et redirige le navigateur vers Azure AD pour authentification. Azure AD demande à l'utilisateur des informations d'identification, les valide, crée un élément SAMLResponse en réponse à la demande d'authentification reçue et l'envoie à Oracle Access Manager. A son tour, Oracle Access Manager valide l'assertion et associe les informations d'identification utilisateur imbriquées dans l'assertion, en accordant l'accès à la ressource protégée.

La configuration présentée dans cette section prend également en compte le flux initié par le fournisseur d'identités (IdP), dans lequel une demande est initialement adressée à l'URL intersite SAML Azure AD, qui envoie à son tour un élément SAMLResponse non sollicité au serveur Oracle Access Manager.

La déconnexion unique initiée par le SP (où le flux de déconnexion est lancé par E-Business Suite) est également prise en charge par la configuration présentée. Au moment de la publication initiale de ce document, la déconnexion unique initiée par le fournisseur d'identités (où le flux de déconnexion est initié par le portail Azure) n'est pas prise en charge. Pour plus d'informations, reportez-vous à la section "Problème connu" à la fin de ce document.

Configurer Azure AD en tant que fournisseur d'identités

Tout d'abord, vous devez configurer Azure AD en tant que fournisseur d'identités.

  1. Se connecter au portail Azure en tant qu'administrateur de domaine
  2. Dans le volet de navigation de gauche, cliquez sur Azure Active Directory.
  3. Dans le panneau Azure Active Directory, cliquez sur Applications d'entreprise.
  4. Cliquez sur Nouvelle application.
  5. Dans la section Ajouter à partir de la galerie, saisissez Oracle Access Manager pour EBS dans la zone de recherche, sélectionnez Oracle Access Manager pour EBS dans les applications résultantes, puis cliquez sur Ajouter.
  6. Pour configurer Oracle Access Manager en tant que fournisseur de services pour l'application, cliquez sur Accès avec connexion unique.
  7. Sélectionnez SAML comme méthode d'authentification unique.

    La page Configurer l'authentification unique avec SAML apparaît. Vous allez saisir les détails de l'intégration dans les étapes suivantes.

    Certaines des valeurs que vous devez entrer proviennent des métadonnées SAML d'Oracle Access Manager. Pour obtenir les métadonnées, accédez à http(s)://<oam_hostname>:<port>/oamfed/sp/metadata. La sortie est des données XML, dont certaines sont nécessaires dans les étapes suivantes.

  8. Dans la zone Configuration SAML de base de la page Configurer l'accès avec connexion unique (SSO) avec SAML, indiquez des valeurs pour Identificateur (ID d'entité), URL de réponse (URL du service consommateur d'assertion) et URL de déconnexion.
    • L'identificateur (ID d'entité) correspond à l'attribut entityID de l'élément EntityDescriptor dans les métadonnées SAML. Lors de l'exécution, Azure AD ajoute la valeur à l'élément Audience de l'assertion SAML, indiquant le public qui est la destination attendue de l'assertion. Recherchez la valeur suivante dans les métadonnées d'Oracle Access Manager et entrez cette valeur :
      <md:EntityDescriptor
      …
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       ID="id-4TfauRP-ZeWyweEXkrqcBA0w0nRhe64hOPfnY2YR"
       cacheDuration="P30DT0H0M0S"
       entityID="http://myoamserver.mycompany.com:14100/oam/fed"
       validUntil="2029-03-19T21:13:40Z">
      …
    • URL de réponse (URL du service consommateur d'assertion) correspond à l'attribut Location de l'élément AssertionConsumerService dans les métadonnées SAML. Veillez à sélectionner l'attribut Location relatif à la liaison HTTP_POST, comme indiqué dans l'exemple suivant. L'URL de réponse est l'adresse de service SAML du partenaire de fédération qui doit traiter l'assertion.
      <md:AssertionConsumerService
      Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
      Location="https://myoamserver.mycompany.com/oam/server/fed/sp/sso"
      index="1"/>
    • L'URL de déconnexion correspond à l'adresse logout SAML d'Oracle Access Manager. Cette valeur correspond à l'attribut Location de l'élément SingleLogoutService dans les métadonnées SAML d'Oracle Access Manager. Cette valeur est utilisée exclusivement dans le flux de déconnexion initié par IdP.
      <md:SingleLogoutService
      Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
      Location="https://myoamserver.mycompany.com/oamfed/sp/samlv20"
      ResponseLocation="https://myoamserver.mycompany.com/oamfed/sp/samlv20"
      />
      

    Remarque :

    Les propriétés Sign on URL et Relay State ne sont pas pertinentes pour ce scénario. Vous pouvez donc les ignorer.
  9. Dans la zone Attributs et réclamations des utilisateurs, configurez les attributs utilisateur qui seront insérés dans l'assertion SAML et envoyés à Oracle Access Manager. Pour ce scénario, il suffit d'envoyer une forme d'identification d'utilisateur unique.
    Conservez les valeurs par défaut pour l'identificateur de nom value: user.userprincipalname [nameid-format:emailAddress] car userprincipalname est un attribut unique dans Azure AD. L'implication de cette configuration est la nécessité d'importer la valeur userprincipalname dans l'entrée utilisateur dans la banque d'identités d'Oracle Access Manager (la banque de serveurs LDAP).
  10. . Dans la zone Attestation de signature SAML, cliquez sur le lien Télécharger en regard du fichier XML de métadonnées de fédération et enregistrez le fichier sur votre ordinateur. Vous l'utiliserez ultérieurement lors de la configuration d'Oracle Access Manager en tant que fournisseur de services.

Affecter des utilisateurs à l'application

Ensuite, affectez des utilisateurs à l'application. Une fois qu'Azure AD a reçu une demande d'authentification de l'application, seuls les utilisateurs que vous affectez à l'application peuvent se connecter.

  1. Dans l'application Azure AD que vous avez créée dans la section précédente, cliquez sur Utilisateurs et groupes, puis sur Ajouter un utilisateur.
  2. Sélectionnez l'option Utilisateurs et groupes : Aucune sélection et procédez comme suit :
    1. Dans la zone de recherche Sélectionner un membre ou inviter un utilisateur externe, entrez le nom d'un utilisateur, puis appuyez sur Entrée.
    2. Sélectionnez l'utilisateur, puis cliquez sur Sélectionner pour l'ajouter.
    3. Cliquez sur Affecter.
    4. Pour ajouter d'autres utilisateurs ou groupes, procédez comme suit.
  3. Pour empêcher les utilisateurs d'afficher cette application Enterprise destinée uniquement à la configuration SSO, cliquez sur Propriétés, modifiez la valeur de Visible par les utilisateurs en Non, puis cliquez sur Enregistrer.

Création d'un fournisseur d'identités pour Azure AD

Créez ensuite un fournisseur d'identités pour Azure AD. Cette étape suppose que les services de fédération Oracle Access Manager ont été activés.

  1. Connectez-vous à la console Oracle Access Manager en tant qu'administrateur.
  2. Cliquez sur l'onglet Fédération en haut de la console.
  3. Dans la zone Fédération de l'onglet Pavière de lancement, cliquez sur Gestion des fournisseurs de services.
  4. Dans l'onglet Administration de fournisseur de services, cliquez sur Créer un partenaire de fournisseur d'identités.
  5. Dans la zone Général, entrez le nom du partenaire de fournisseur d'identités et sélectionnez Activer le partenaire et Partenaire de fournisseur d'identités par défaut. Passez à l'étape suivante avant d'enregistrer.
  6. . Dans la zone Informations sur le service :
    1. Sélectionnez SAML2.0 comme protocole.
    2. Sélectionnez Charger à partir des métadonnées de fournisseur.
    3. Cliquez sur Parcourir (pour Windows) ou sur Choisir un fichier (pour Mac) et sélectionnez le fichier de métadonnées SAML Azure AD que vous avez enregistré précédemment.
    4. Passez à l'étape suivante avant d'enregistrer.
  7. Dans la zone Options de mappage :
    1. Sélectionnez l'option Banque d'identités utilisateur qui sera utilisée comme banque d'identités LDAP Oracle Access Manager vérifiée pour les utilisateurs E-Business Suite. En général, il est déjà configuré en tant que banque d'identités Oracle Access Manager.
    2. Laissez le champ DN de base de recherche des utilisateurs vide. La base de recherche est automatiquement sélectionnée à partir de la configuration de la banque d'identités.
    3. Sélectionnez Mapper l'ID de nom d'assertion avec la banque d'ID utilisateur attribute et saisissez le courrier dans la zone de texte.

    Remarque :

    Cette configuration définit la correspondance utilisateur entre Azure AD et Oracle Access Manager. Oracle Access Manager prendra la valeur de l'élément NameID dans l'assertion SAML entrante et tentera de rechercher cette valeur par rapport à l'attribut de messagerie dans toutes les entrées utilisateur de la banque d'identités configurée. Par conséquent, il est impératif que le nom du principal d'utilisateur Azure AD (dans la configuration Azure AD illustrée précédemment) soit synchronisé avec l'attribut mail dans la banque d'identités d'Oracle Access Manager.
  8. Cliquez sur Enregistrer pour enregistrer le partenaire de fournisseur d'identités.
  9. Une fois le partenaire enregistré, revenez à la zone Avancé en bas de l'onglet. Assurez-vous que les options sont configurées comme suit :
    • L'option Activer la déconnexion globale est sélectionnée.
    • La liaison de réponse HTTP POST SSO est sélectionnée.
      Il s'agit d'une instruction qu'Oracle Access Manager envoie dans la demande d'authentification indiquant à Azure AD comment elle doit retransmettre l'assertion SAML. Si vous inspectez la demande d'authentification envoyée par Oracle Access Manager, l'exemple suivant s'affiche. Notez l'attribut gras ProtocolBinding de l'élément AuthnRequest dans l'exemple.
      <?xml version="1.0"?>
      <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
      xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
      xmlns:enc="http://www.w3.org/2001/04/xmlenc#"
      xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
      xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      Destination="https://login.microsoftonline.com/4e39517e-7ef9-45a7-
      9751-6ef6f2d43429/saml2" ID="id-y5nmx61xB8QWXtDmYWcH7rPYs5zXtV-fcKRyyM9" IssueInstant="2019-04-23T17:01:25Z"
      ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
      Version="2.0">
      <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">http://myoamserver.mycompany.com:14100/oam/fed</saml:Is
      suer>
      <dsig:Signature>
      <dsig:SignedInfo>
      <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xmlexc-c14n#"/>
      <dsig:SignatureMethod
      Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
      <dsig:Reference URI="#id-y5nmx61xB8QWXtDmYWcH7rPYs5zXtV-fcKRy-yM9">
      <dsig:Transforms>
      <dsig:Transform
      Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
      <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
      </dsig:Transforms>
      <dsig:DigestMethod
      Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
      <dsig:DigestValue>pa00UWdqfywm4Qb59HioA6BhD18=</dsig:DigestValue>
      </dsig:Reference>
      </dsig:SignedInfo>
      <dsig:SignatureValue>X4eZRyFD6sznA0g3BJebU2c6ftunG2UvwbMptO+10wFky0aAL
      nnr0Na+5fF83U4Ut99OvAIZ41K3YMNaR4A8zr37SSlBrb72X7CTtxjh2mAphWDRPmkJx4v
      S0HACzZh0MHimdwq+qVXuFRbSLBE+9XNSGWJzGAh//WqGBlNrKnw=</dsig:SignatureV
      alue>
      </dsig:Signature>
      </samlp:AuthnRequest>
    • L'option Enable HTTP Basic Authentication (SSO artefact binding) n'est pas sélectionnée.

      Ce paramètre demande à Azure AD d'envoyer l'assertion via une demande HTTP POST. Lors de la réception d'une telle demande, les fournisseurs d'identités créent généralement un formulaire HTML avec l'assertion en tant qu'élément de formulaire masqué qui est automatiquement publié dans le service ACS (Assertion Consumer Service) du fournisseur de services.

  10. Dans la zone General, cliquez sur le bouton Create Authentication Scheme and Module.
    Un modèle et un module d'authentification sont créés avec le nom du partenaire. La seule configuration restante est d'attacher le modèle d'authentification aux ressources E-Business Suite qui nécessitent des informations d'identification Azure AD pour l'authentification, ce que vous allez faire dans la section suivante.
  11. Vous pouvez vérifier le module d'authentification créé en procédant comme suit :
    1. Cliquez sur l'onglet Application Security en haut de la console.
    2. Sous Plug-ins, sélectionnez Modules d'authentification, cliquez sur Rechercher et recherchez votre module de fédération.
    3. Sélectionnez le module, puis cliquez sur l'onglet Steps.
    4. La valeur de la propriété FedSSOIdP est le partenaire du fournisseur d'identités.

Associer les ressources E-Business Suite au modèle d'authentification

La dernière étape de configuration consiste à associer les ressources E-Business Suite au modèle d'authentification. Effectuez ces étapes lors de la connexion à la console Oracle Access Manager en tant qu'administrateur.

  1. En haut de la console, cliquez sur Sécurité des applications.
  2. Sous Access Manager, sélectionnez Domaine d'application, cliquez sur Rechercher et sélectionnez le domaine d'application créé lors de l'exécution du script E-Business Suite pour l'intégration qui aurait enregistré E-Business Suite WebGate.
  3. Cliquez sur l'onglet Stratégies d'authentification, puis sur Stratégie de ressources protégées.
    Modifiez le modèle d'authentification en modifiant le modèle d'authentification précédemment créé avec le nouveau modèle d'authentification de fédération. Voici comment Oracle Access Manager lie une ressource protégée à un fournisseur d'identités
  4. Cliquez sur Appliquer pour enregistrer la modification.