Intégrer ADFS 2.0 et 3.0 à OAM : Condition préalable
Cet article explique comment intégrer OAM à ADFS 2.0/3.0 pour Federation SSO à l'aide du protocole SAML 2.0. L'intégration couvre les aspects suivants :
-
Conditions préalables (cet article)
-
ADFS 2.0/3.0 en tant que IdP et OAM en tant que SP
-
ADFS 2.0/3.0 en tant que SP et OAM en tant que IdP
L'intégration SAML 2.0 est basée sur :
-
Adresse électronique qui sera utilisée comme format
NameID
-
La valeur
NameID
contient l'adresse électronique de l'utilisateur. -
La liaison HTTP POST sera utilisée pour envoyer l'assertion SAML au fournisseur de services
-
Les utilisateurs existent dans les deux systèmes, chaque utilisateur ayant la même adresse e-mail pour pouvoir être utilisé comme attribut utilisateur commun.
ADFS 2.0 est disponible sous Windows 2008 R2, tandis que ADFS 3.0 est disponible sous Windows 2012 R2. Les articles présentent des captures d'écran pour ADFS 3.0, tandis que les étapes documentées s'appliquent aux deux versions.
Prérequis
Pour effectuer une intégration à ADFS à l'aide du protocole SAML 2.0, OAM doit être configuré pour utiliser HTTPS/SSL en tant qu'adresses. Si vous ne le faites pas, ADFS n'accepte pas les métadonnées OAM SAML 2.0 lors de l'établissement de l'approbation de fédération.
Lors de l'intégration d'ADFS en tant que IdP avec OAM en tant que SP, les points suivants doivent être pris en compte :
-
Par défaut, ADFS IdP crypte l'assertion SAML lorsqu'elle est envoyée au fournisseur de services à l'aide de AES-256. Par défaut, le JDK utilisé dans le déploiement OAM ne peut pas utiliser une cryptographie forte telle que AES-256. Ainsi :
-
Le JDK doit être configuré pour une cryptographie fiable
-
Ou ADFS IdP doit être configuré pour désactiver le cryptage
-
-
Si ADFS IdP est configuré pour l'authentification via l'authentification de base HTTP ou l'authentification native Windows, l'utilisateur ne peut jamais être déconnecté en tant que :
- Les informations d'identification HTTP Basic Auth ne peuvent pas être supprimées du navigateur une fois qu'elles ont été saisies, sauf si le navigateur est fermé
Remarque : cela s'applique aux autres utilisateurs IdPs qui utilisent l'authentification de base HTTP pour mettre en question l'utilisateur.
-
Le navigateur est toujours connecté à ADFS lors de l'utilisation de l'authentification native Windows.
-
Par défaut, ADFS exige que les messages soient signés à l'aide de SHA-256, tandis qu'OAM utilise par défaut SHA-1 :
-
Configurez ADFS pour utiliser/accepter SHA-1
-
Ou configurez OAM pour qu'il utilise SHA-256 pour les signatures
-
Enfin, avant d'intégrer OAM et ADFS pour SAML 2.0, les métadonnées des deux serveurs doivent avoir été téléchargées.
Activation SSL
Il existe plusieurs façons d'activer SSL sur les adresses publiques pour OAM :
-
Si un équilibreur de charge est en tête d'OAM, SSL/HTTPS peut être activé/configuré sur celui-ci
-
Si OHS fait face à OAM, OHS sera configuré pour SSL
-
Si aucun composant ne fait face à OAM, le serveur WLS sur lequel OAM est exécuté peut être configuré pour SSL/HTTPS
Une fois le composant (équilibreur de charge, OHS ou WLS) configuré pour SSL, la configuration OAM doit être mise à jour pour référencer la nouvelle adresse en tant qu'URL publique :
-
Accédez à la console d'administration OAM :
http(s)://oam-admin-host:oam-adminport/oamconsole
-
Accédez à Configuration, Paramètres Access Manager.
-
Définir l'hôte du serveur OAM sur le nom d'hôte de l'adresse publique
-
Définir la publication du serveur OAM sur le port SSL de l'adresse publique
-
Définir le protocole du serveur OAM sur HTTPS
-
Cliquez sur Appliquer
Description de l'image Access_Manager_Settings.jpg
Remarque : une fois ces modifications effectuées, l'extraction des métadonnées OAM SAML 2.0 contient les nouvelles URL HTTPS.
Cryptage renforcé
Comme indiqué, par défaut, ADFS IdP crypte l'assertion SAML lors de son envoi au SP à l'aide de AES-256, considéré par Java comme un cryptage renforcé (par opposition à la "résistance normale", telle que AES-128, AES-192, 3DES...).
Pour des raisons d'exportation légales, le JDK ne peut pas être expédié avec les chiffrements forts activés dans JCE : le administrator/integrator/developer
doit télécharger et installer la stratégie JCE (Java Cryptography Extension) Unlimited Strength Jurisdiction.
Pour mettre à jour les fichiers de stratégie JCE Unlimited Strength Jurisdiction afin de prendre en charge le cryptage renforcé, tel que AES-256, procédez comme suit :
-
Déterminez la version principale de Java utilisée dans le déploiement OAM.
-
Localisez le dossier JDK utilisé par OAM Execute :
$JDK_HOME/bin/java -version
. -
La version principale sera imprimée (6 ou 7).
-
Téléchargez la politique JCE Unlimited Strength Jurisdiction.
-
Si vous utilisez JDK 7 :
http://www.oracle.com/technetwork/java/javas%20/downloads/index.htm
-
Si vous utilisez JDK 6 :
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archivedownloads-java-plat-419418.html
-
Déconnectez le contenu du fichier ZIP téléchargé dans un dossier temporaire.
-
Copiez les fichiers
local_policy.jar
etUS_export_policy.jar
décompressés dans le répertoire du JDK suivant (cette opération écrase les fichierslocal_policy.jar
etUS_export_policy.jar
présents dans ce dossier) :$JDK_HOME/jre/lib/security
. -
Redémarrez les serveurs WLS du domaine WLS pour appliquer les modifications.
Pour configurer ADFS afin de désactiver le cryptage lors de l'envoi de l'assertion SAML à un fournisseur de services, procédez comme suit :
-
Accédez à l'ordinateur sur lequel ADFS est déployé.
-
Si ADFS 2.0 est utilisé, cliquez sur Menu Démarrer, Programmes, Outils d'administration, Modules PowerShell Windows.
-
Si ADFS 3.0 est utilisé, cliquez sur Démarrer Menu, Outils d'administration, Module Active Directory pour Windows PowerShell.
-
Exécutez la commande suivante (remplacez
RP_NAME
par le nom de processeur de service utilisé pour créer le partenaire dans ADFS) :set-ADFSRelyingPartyTrust –TargetName“RP_NAME” –EncryptClaims $False
.
Déconnexion ADFS
Le protocole SAML 2.0 définit un profil de déconnexion dans lequel chaque partenaire Federation impliqué dans une connexion unique de fédération pour la session de l'utilisateur en cours est informé de la déconnexion de l'utilisateur. Les différents partenaires Federation peuvent ainsi mettre fin à la session de l'utilisateur dans leur domaine SSO.
ADFS IdP fournit différentes méthodes pour authentifier l'utilisateur lorsqu'une connexion unique (SSO) Federation est exécutée :
-
Authentification basée sur FORM où
-
Le serveur affiche une page de connexion
-
L'utilisateur saisit les informations d'identification et les soumet
-
-
Authentification de base HTTP
-
Où le serveur renvoie un code d'état 401 au navigateur
-
Le navigateur collecte les informations d'identification de l'utilisateur
-
Le navigateur présente les informations d'identification au serveur ADFS.
-
Remarque : Le navigateur conserve les informations d'identification et les fournit au serveur ADFS chaque fois que le navigateur accède à ADFS, jusqu'à la fermeture du navigateur.
- Authentification Windows intégrée où ADFS tire parti de l'état d'authentification de l'utilisateur dans l'environnement Windows : dans ce cas, étant donné que l'utilisateur est déjà connecté à Windows, il est automatiquement authentifié sans aucune interaction de l'utilisateur.
Examinons l'effet (ou non-effet) de la déconnexion SAML 2.0 en fonction de la manière dont l'utilisateur est authentifié :
-
Le fournisseur de services démarre une opération SSO de fédération avec ADFS IdP
-
ADFS IdP doit authentifier/identifier l'utilisateur
-
Si l'authentification basée sur FORM est utilisée, ADFS affiche une page de connexion et l'utilisateur saisit ses informations d'identification.
-
Si l'authentification de base HTTP est utilisée, ADFS renvoie le code de réponse 401, le navigateur collecte les informations d'identification de l'utilisateur et les présente à ADFS
-
Si l'authentification Windows intégrée est utilisée, le navigateur obtient automatiquement un jeton Kerberos/NTLMSSP du contrôleur de domaine Windows/KDC qu'il présente au serveur ADFS. Aucune interaction de l'utilisateur.
-
-
L'utilisateur est redirigé vers le fournisseur de services avec une assertion SAML
-
L'utilisateur lance la déconnexion SAML 2.0 à partir du fournisseur de services
-
Le fournisseur de services redirige l'utilisateur vers ADFS IdP pour la déconnexion SAML 2.0
-
ADFS efface les cookies du navigateur de l'utilisateur (mais ne met pas en cache les informations d'identification HTTP Basic Auth si elles sont utilisées précédemment).
-
Dans le même navigateur, SP démarre une opération SSO de fédération avec ADFS IdP
-
ADFS IdP doit authentifier/identifier l'utilisateur
-
Si l'authentification basée sur FORM est utilisée, ADFS affiche une page de connexion et l'utilisateur saisit ses informations d'identification : l'utilisateur est interrogé et doit fournir ses informations d'identification.
-
Si l'authentification de base HTTP est utilisée, ADFS renvoie le code de réponse 401, le navigateur met en cache les informations d'identification collectées précédemment et les présente automatiquement à ADFS. Aucune interaction de l'utilisateur
-
Si l'authentification Windows intégrée est utilisée, le navigateur obtient automatiquement un jeton Kerberos/NTLMSSP du contrôleur de domaine Windows/KDC qu'il présente au serveur ADFS. Aucune interaction de l'utilisateur.
-
Ainsi, si l'authentification HTTP de base ou l'authentification Windows intégrée est utilisée comme mécanisme d'authentification dans ADFS 2.0 IdP, après une déconnexion, l'utilisateur reste "connecté" dans IdP et l'exécution d'une nouvelle authentification SSO de fédération ne déclenche pas la question de vérification de l'utilisateur et n'entraîne pas l'authentification automatique de l'utilisateur au niveau du SP, une fois l'authentification SSO de fédération terminée.
Remarque importante : le comportement constaté avec la déconnexion s'applique également à d'autres éléments IdPs (OAM par exemple), qui utilisent l'authentification de base HTTP comme mécanisme d'authentification
Métadonnées SAML 2.0
Pour télécharger les métadonnées SAML 2.0 à partir du serveur ADFS 2.0/3.0 :
-
Ouvrez un navigateur.
-
Accédez au service de publication des métadonnées ADFS 2.0/3.0 :
https://adfs-host:adfs-port/FederationMetadata/2007-06/FederationMetadata.xml
. -
Enregistrez les métadonnées localement à l'aide du bouton Enregistrer sous du navigateur.
Pour télécharger les métadonnées SAML 2.0 à partir d'OAM, procédez comme suit :
-
Ouvrez un navigateur.
-
Accédez au service de publication des métadonnées OAM :
http(s)://oam-runtime-host:oam-runtimeport/oamfed/idp/metadata
ouhttp(s)://oam-runtime-host:oam-runtimeport/oamfed/sp/metadata
. -
Enregistrez les métadonnées localement à l'aide du bouton Enregistrer sous du navigateur.
Remarque : assurez-vous d'avoir activé SSL dans OAM avant de télécharger les métadonnées OAM, car les métadonnées contiennent les URL OAM.
SHA-256 et SHA-1
Après avoir configuré la fédération entre OAM et ADFS, vous devez :
-
Configurez ADFS 2.0 pour utiliser/accepter SHA-1
-
Ou configurez OAM pour qu'il utilise SHA-256 pour les signatures
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.
Integrating ADFS 2.0 and 3.0 with OAM Pre-requisite
F60452-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.