Notes de version de la mise à jour 2 de OpenSSO d'Oracle

Chapitre 5 Intégration de la mise à jour 2 de OpenSSO 8.0 à Oracle Access Manager

Ce chapitre donne des instructions sur l'implémentation de la connexion unique à l'aide de la mise à jour 2 de OpenSSO 8.0 et d'Oracle Access Manager 10g ou 11g. Ces informations complètent les informations conceptuelles contenues dans le Chapitre 3, Integrating Oracle Access Manager du Sun OpenSSO Enterprise 8.0 Integration Guide. Ce cas d'utilisation offre une expérience de connexion unique aux applications protégées par OpenSSO en honorant une session Oracle Access Manager. Le module d'authentification OpenSSO configuré génère une session OpenSSO basée sur la session Oracle Access Manager.

Présentation des étapes de l'intégration

  1. Avant de commencer

  2. Décompression des bits d'intégration

  3. Création de fichiers source pour Oracle Access Manager dans OpenSSO

  4. (facultatif) Créer un plan d'authentification pour OpenSSO dans Oracle Access Manager

  5. Configuration d'une connexion unique à l'aide d'Oracle Access Manager et d'Oracle OpenSSO STS

  6. Pour tester la connexion unique

  7. (facultatif) Installation du plan d'authentification Oblix dans Oracle Access Manager

Avant de commencer

Veillez à avoir accès aux composants suivants avant de tenter d'installer la mise à jour 2 de OpenSSO 8.0 pour l'intégrer à Oracle Access Manager :

opensso.zip

Ce fichier zip contient le fichier opensso.war, le code source d'intégration, les fichiers de configuration et autres outils nécessaires pour l'installation et la configuration de la mise à jour 2 de OpenSSO 8.0.

Agent OpenSSO

L'Agent OpenSSO est utilisé lorsqu'une application protégée par OpenSSO peut réellement utiliser la session d'authentification établie par Oracle Access Manager.

Oracle Access Manager 10g ou 11g

Téléchargez Oracle Access Manager depuis le site Web d'Oracle. Consultez la page Téléchargements logiciels Oracle Fusion Middleware 11gR1.

Oracle Web Gate 10g ou 11g

Téléchargez Oracle Webgate pour disposer d'un conteneur pris en charge par OpenSSO et Oracle Webgate à la fois. Pour l'instant, Sun Web Server 7.x est le seul conteneur pris en charge par les deux produits. Consultez la page Téléchargements logiciels Oracle Fusion Middleware 11gR1

Oracle Access Manager SDK 10g ou 11g

Téléchargez Oracle Access Manager. Le SDK est nécessaire pour compiler et créer des modules d'authentification OpenSSO pour l'intégration d'Oracle Access Manager.

Consultez la page Téléchargements logiciels Oracle Fusion Middleware 11gR1

OpenSSO C-SDK 2.2

(facultatif) Le C-SDK OpenSSO est nécessaire pour créer un module d'authentification dans Oracle Access Manager lui-même afin de générer une session OAM. Ceci peut ne pas être un cas d'utilisation courant du point de vue de OpenSSO. Voir Where is the C SDK? du Sun OpenSSO Enterprise 8.0 C API Reference for Application and Web Policy Agent Developers

Décompression des bits d'intégration

Le répertoire opensso/integrations/oracle contient la source et des configurations pour compiler et créer des modules d'authentification et autres plugins. Consultez le Chapitre 3, Integrating Oracle Access Manager du Sun OpenSSO Enterprise 8.0 Integration Guide pour connaître les options des cas d'utilisation et les informations associées. Le tableau suivant résume les fichiers sous le répertoire opensso/integrations/oracle et les descriptions de chaque fichier.

LISEZMOI.html

C'est le fichier que vous êtes en train de lire.

build.xml

Un fichier de création ant pour créer un module d'authentification personnalisé pour Oracle Access Manager dans OpenSSO

config

Fichiers de configuration nécessaires pour créer un module d'authentification pour Oracle Access Manager dans OpenSSO.

  • OblixAuthService.xml

    Fichier de service d'authentification pour le module d'authentification d'Oracle Access Manager

  • OblixAuthModule.xml

    Rappels du module d'authentification pour Oracle Access Manager.

    C'est un fichier vide par défaut, mais il doit être présent aux fins de configuration.

  • OblixAuth.properties

    Fichier de propriétés qui stocke les clés d'internationalisation pour l'authentification

lib

Ce répertoire est vide par défaut. Ce répertoire lib doit contenir les bibliothèques suivantes pour compiler les bibliothèques source.

  • jobaccess.jar

    Copiez ce fichier depuis le SDK Oracle Access Manager.

  • openfedlib.jar, amserver.jar et opensso-sharedlib.jar

    Copiez ces fichiers depuis opensso.war

  • servlet.jar or javaee.jar

    Copiez le répertoire lib GlassFish. Dans l'idéal, tout fichier JAR qui dispose de catégories EE Java standard telles que javax.servlet.http.Cookie est correct.

source

Répertoire contenant les fichiers source suivants :

  • com/sun/identity/authentication/oblix/OblixAuthModule.java

  • com/sun/identity/authentication/oblix/OblixAuthModule.java

  • com/sun/identity/authentication/oblix/OblixPrincipal.java

  • com/sun/identity/saml2/plugins/OAMAdapter.java

    Cette catégorie est un adaptateur d'extension SAML2 pour les fournisseurs de services SAML. Cette catégorie effectue l'authentification à distance à Oracle Access Manager à l'aide du service de session OpenSSO.

oamauth (facultatif)

Ce répertoire contient les fichiers source pour le plan d'authentification Oblix pour OpenSSO. C'est un module d'authentification basé sur C qui exploite le C-SDK OpenSSo pour la validation.

  • oam/solaris/authn_api.c

    Ce fichier implémente le plan d'authentification personnalisé Oblix pour OpenSSO.

  • oam/solaris/include/*.h

    Tous les fichiers d'en-têtes nécessaires pour compiler un plan d'authentification.

  • oam/solaris/AMAgent.properties

    Exemple de fichier de configuration de l'Agent OpenSSO. Il est nécessaire pour que le plan d'authentification puisse valider la session OpenSSO.

Création de fichiers source pour Oracle Access Manager dans OpenSSO

Utilisez le script ant pour créer les fichiers source. Un script ant compatible doit être installé et configuré dans le PATH.

ProcedurePour créer les fichiers source pour Oracle Access Manager

  1. Exécutez la commande suivante :

    cd $openssozipdir/integrations/oracle; ant -f build.xml

    Cette commande crée des fichiers source et génère fam_oam_integration.jar dans le répertoire $openssozipdir/integrations/oracle/dist.

  2. Intégrez le module d'authentification au fichier WAR OpenSSO.

    1. Créez un répertoire temporaire et décompressez le fichier opensso.war. Exemple :

      # mkdir /export/tmp
      # cd /export/tmp
      # jar -xvf opensso.war

      A partir de là, /export/tmp est utilisé comme zone de transit WAR et est représenté avec une marque $WAR_DIR.

    2. Copiez $openssozipdir/integrations/oracle/dist/fam_oam_integration.jar dans $WAR_DIR/WEB-INF/lib.

    3. Copiez $openssozipdir/integrations/oracle/config/OblixAuth.properties dans $WAR_DIR/WEB-INF/classes.

    4. Copiez $openssozipdir/integrations/oracle/config/OblixAuthModule.xml dans $WAR_DIR/config/auth/default, ainsi que dans le répertoire $WAR_DIR/config/auth/default_en.

    5. Recompressez opensso.war à l'aide de jar cvf opensso.war à partir de $WAR_DIR.

    Exemple non disponible

(facultatif) Créer un plan d'authentification pour OpenSSO dans Oracle Access Manager

Note : il ne s'agit pas d'un cas d'utilisation courant. Vous n'avez pas à le créer à moins d'y être obligé, comme dans un cas d'utilisation de fournisseur de services SAML2.

Pour créer le plan d'authentification Oblix, vous devez personnaliser le makefile . Comme il s'agit d'un module d'authentification basé sur C, il dépend également du système d'exploitation.

ProcedurePour créer un plan d'authentification pour OpenSSO dans Oracle Access Manager

Avant de commencer

Les fichiers du plan d'authentification se trouvent sous le répertoire $openssozipdir/integrations/oracle/oamauth/solaris .

  1. Téléchargez et configurez la version C-SDK 2.2 de OpenSSO.

    Le fichier authn_api.c contient une référence au fichier AMAgent.properties. Modifiez le fichier en conséquence.

  2. Personnalisez makefile selon votre environnement.

    Par exemple, indiquez l'emplacement de compilation de gcc. Modifiez également le LDFLAGS pour qu'il pointe vers votre répertoire lib du C-SDK OpenSSO.

  3. Exécutez la commande make.

    La commande make doit donner un fichier authn_api.so.

Configuration d'une connexion unique à l'aide d'Oracle Access Manager et d'Oracle OpenSSO STS

ProcedurePour configurer une connexion unique à l'aide d'Oracle Access Manager et de la mise à jour 2 de OpenSSO 8.0 d'Oracle

Avant de commencer :Le serveur Web 7.x de Sun Java System doit déjà être installé et configuré. Consultez Wiki de documentation du serveur Web Sun Java System pour obtenir des instructions sur l'installation du serveur Web.

  1. Installez OpenSSO sur le serveur Web Sun Java System 7.x.

  2. Installez un agent de règles OpenSSO sur un conteneur pris en charge et configurez l'agent pour qu'il fonctionne avec OpenSSO.

    Consultez le Sun OpenSSO Enterprise Policy Agent 3.0 User’s Guide for J2EE Agents ou le Sun OpenSSO Enterprise Policy Agent 3.0 User’s Guide for Web AgentsSun OpenSSO Enterprise Policy Agent 3.0 User’s Guide for Web Agents pour obtenir des instructions sur l'installation.

  3. Installez et configurez Oracle Access Manager.

    Consultez la page Guide d'installation d'Oracle Access Manager 10g (10.1.4.3)

  4. Installez et configurez Oracle Access Manager SDK avec Oracle Access Manager.

    Consultez la page Guide d'installation d'Oracle Access Manager 10g (10.1.4.3)

  5. Installez Oracle Webgate sur le même conteneur Web sur lequel le serveur OpenSSO est installé. (Serveur Web Sun 7.x)

    Configurez OpenSSO de façon à ce qu'il protège uniquement deployURI/UI/* de l'application Web OpenSSO. Exemple :/opensso/UI/.../*

    Pour connaître les règles, ressources et autres détails de la configuration d'Oracle Access Manager, consultez le guide d'administration d'Oracle Access Manager. Annulez la protection de toute autre URL dans OpenSSO Enterprise. Ceci correspond à un simple scénario d'intégration de connexion unique, mais évalue les règles basées sur une intégration totale et d'autres dépendances de déploiement.

  6. Configurez le module d'authentification dans OpenSSO.

    1. Accédez à la console OpenSSO.

      Le navigateur redirige vers Oracle Access Manager pour l'authentification. Après une authentification réussie, OpenSSO présente une page de connexion. Connectez-vous à l'aide du nom d'utilisateur et du mot de passe administrateur de OpenSSO.

    2. Importez le fichier XML du service du module d'authentification Oracle dans la configuration OpenSSO.

      Le service du module d'authentification peut être chargé depuis l'utilitaire de ligne de commande ssoadm, ainsi que ssoadm.jsp basé sur le navigateur.

    3. Accédez à http://host:port/opensso/ssoadm.jsp.

    4. Choisissez l'option Créer un service.

    5. Copiez et collez le fichier XML à partir de $openssozipdir/integrations/oracle/config/OblixAuthService.xml et cliquez sur Soumettre.

      Ceci charge le service du module d'authentification dans la configuration de OpenSSO.

    6. Enregistrez le module d'authentification dans le service de base d'authentification.

      Le service de base contient une liste d'authentificateurs. Choisissez l'option register-auth-module dans http://host:port/opensso/ssoadm.jsp . Saisissez com.sun.identity.authentication.oblix.OblixAuthModule comme nom de classe de module d'authentification.

    7. Vérifiez que le module d'authentification est enregistré dans le domaine par défaut.

      Accédez à OpenSSO à l'aide de l'URL http://host:port/opensso. Dans la console OpenSSO, cliquez sur le domaine par défaut, puis cliquez sur l'onglet Authentification. Cliquez sur Nouveau pour créer un nouveau module d'authentification nommé OblixAuth.

    8. Sur l'onglet Authentification, sélectionnez le module d'authentification OblixAuth.

      Configurez le répertoire Oblix SDK. Activez Vérifier l'en-tête utilisateur distant uniquement, et nommez le nom de l'en-tête distant OAM_REMOTE_USER . Ce paramètre est configurable selon le déploiement.

  7. (facultatif) Activez l'option Ignorer le profil dans le service d'authentification de base OpenSSO.

    Dans la console OpenSSO, allez à Configuration > Base > Attributs du domaine > Profil utilisateur. Choisissez Ignoré, puis cliquez sur Enregistrer.

    Cette configuration empêche OpenSSO de rechercher un profil utilisateur existant après une authentification réussie. Cependant, si le référentiel utilisateur utilisé par OpenSSO et Oracle Access Manager est exactement le même, cette étape n'est pas nécessaire. Allez à Console d'administration -> Configuration -> Base -> Attributs du domaine -> Profil utilisateur. Choisissez Ignoré, puis cliquez sur Enregistrer.

  8. Modifiez le script de démarrage du serveur Web pour inclure les bibliothèques partagées du SDK d'Oracle Access Manager.

    Mettez à jour LD_LIBRARY_PATH dans le script startserv pour inclure les bibliothèques partagées depuis $ACCESSDKDIR/oblix/lib.

  9. Redémarrez le serveur Web Sun qui contient OpenSSO et Oracle Webgate.

  10. Mettez à jour l'URL de connexion pour la valeur Agent Web : http://openssohost:openssoport/deployURI/UI/Login?module=OblixAuth .

Pour tester la connexion unique

Accédez à la ressource protégée depuis l'application protégée par OpenSSO. Le navigateur doit vous rediriger vers la page de connexion à Oracle Access Manager si vous n'êtes pas déjà authentifié. Après une connexion réussie, il crée une session OpenSSO, et vous redirige finalement vers l'URL de l'application protégée par l'Agent de règles. En fonction de la règle, l'accès à l'application protégée vous est accordé ou refusé.

(facultatif) Installation du plan d'authentification Oblix dans Oracle Access Manager

Ceci est utile lorsque la session Oracle Access Manager doit être générée sur validation de la session OpenSSO. Consultez le Chapitre 3, Integrating Oracle Access Manager du Sun OpenSSO Enterprise 8.0 Integration Guidepour obtenir des informations sur les cas d'utilisation pertinents.

Les plans d'authentification Oblix sont exposés comme modules d'authentification C, et ce plan utilise la version 2.2 du C-SDK OpenSSO pour valider la session OpenSSO. Le plan d'authentification OpenSSO dans Oblix utilise une configuration pour la configuration côté client de OpenSSO dans AMAgent.properties. Ce fichier doit être personnalisé avant de configurer le module d'authentification. Les instructions de création indiquent l'emplacement de ce fichier. Le fichier compilé authn_api.so et autres bibliothèques C-SDK doivent être copiées dans le répertoire $OAM_INSTALL_DIR/access/oblix/lib avant de configurer le plan d'authentification. Le Guide d'intégation de Sun OpenSSO 8.0 montre un exemple de capture d'écran illustrant comment configurer le plan d'authentification d'Oracle ; ceci doit être utilisé à titre de référence uniquement. Pour en savoir plus, consultez la dernière documentation sur Oracle Access Manager.

Intégration de la mise à jour 2 de OpenSSO 8.0 à Oracle Access Manager

Cette section donne des instructions sur l'implémentation de la connexion unique à l'aide de la mise à jour 2 de OpenSSO 8.0 et des versions 10.1.4.0.1 et 11g d'Oracle Access Manager. Ces informations complètent les informations conceptuelles contenues dans le Chapitre 3, Integrating Oracle Access Manager du Sun OpenSSO Enterprise 8.0 Integration Guide. Ce cas d'utilisation offre une expérience de connexion unique aux applications protégées par OpenSSO en honorant une session Oracle Access Manager. Le module d'authentification OpenSSO configuré génère une session OpenSSO basée sur la session Oracle Access Manager.