Tutoriel : Configurer SSO entre Microsoft Entra ID et BIG-IP Easy Button de F5 pour SSO basée sur l’en-tête
Dans ce tutoriel, vous apprenez à intégrer F5 à Microsoft Entra ID. Quand vous intégrez F5 à Microsoft Entra ID, vous pouvez :
- Contrôler dans Microsoft Entra ID qui a accès à F5.
- Permettre à vos utilisateurs d’être automatiquement connectés à F5 avec leur compte Microsoft Entra.
- Gérer vos comptes à partir d’un emplacement central.
Remarque
F5 BIG-IP APM Acheter maintenant.
Description du scénario
Ce scénario se penche sur l’application classique héritée qui utilise les en-têtes d’autorisation HTTP pour gérer l’accès au contenu protégé.
L’application étant héritée, elle n’a pas les protocoles modernes permettant la prise en charge d’une intégration directe à Microsoft Entra ID. L’application peut être modernisée, mais cette initiative est coûteuse, nécessite une planification soignée et présente un risque de temps d’arrêt potentiel. Au lieu de cela, un contrôleur de remise d’application (ADC) BIG-IP F5 est utilisé pour combler le manque entre l’ancienne application et le plan de contrôle d’ID moderne, par le biais de la transition de protocole.
Avoir un service BIG-IP devant l’application nous permet de superposer le service avec la pré-authentification Microsoft Entra et l’authentification unique basée sur l’en-tête, ce qui améliore de manière significative la posture de sécurité générale de l’application.
Remarque
Les organisations peuvent également bénéficier d’un accès à distance à ce type d’application avec le proxy d’application Microsoft Entra.
Architecture du scénario
La solution SHA pour ce scénario est constituée des éléments suivants :
Application : service publié BIG-IP assurant la protection par SHA Microsoft Entra.
Microsoft Entra ID : fournisseur d’identité (IdP) SAML (Security Assertion Markup Language) chargé de vérifier les informations d’identification utilisateur, l’accès conditionnel et l’authentification unique basée sur SAML auprès de BIG-IP. Avec SSO, Microsoft Entra ID fournit à BIG-IP tous les attributs de session nécessaires.
BIG-IP : Proxy inverse et fournisseur de services SAML pour l’application, déléguant l’authentification au fournisseur d’identité SAML avant d’effectuer une authentification unique basée sur en-têtes auprès de l’application back-end.
Le SHA pour ce scénario prend en charge les flux lancés par le fournisseur de services et le fournisseur d’identité. L’image suivante montre le flux lancé par le fournisseur de services.
Étapes | Description |
---|---|
1 | L’utilisateur se connecte au point de terminaison d’application (BIG-IP) |
2 | La stratégie d'accès BIG-IP APM redirige l'utilisateur vers Microsoft Entra ID (SAML IdP) |
3 | Microsoft Entra ID pré-authentifie l’utilisateur et applique les stratégies d’accès conditionnel en vigueur |
4 | L’utilisateur est redirigé vers BIG-IP (SAML SP) et SSO est exécuté à l’aide du jeton SAML émis |
5 | BIG-IP injecte les attributs Microsoft Entra sous forme d’en-têtes dans la demande envoyée à l’application |
6 | L’application autorise la demande et retourne une charge utile |
Prérequis
Aucune expérience préalable de BIG-IP n’est nécessaire, mais vous aurez besoin des éléments suivants :
Un abonnement Microsoft Entra ID Gratuit ou supérieur.
Un BIG-IP existant ou déploiement d’une BIG-IP Virtual Edition (VE) dans Azure.
L’une des références SKU de licence F5 BIG-IP suivantes.
F5 BIG-IP® Best bundle.
Licence autonome F5 BIG-IP Access Policy Manager™ (APM).
Licence de composant additionnel F5 BIG-IP Access Policy Manager™ (APM) sur une instance existante de BIG-IP F5 BIG-IP® Local Traffic Manager™ (LTM).
Licence d’essai de 90 jours des fonctionnalités complètes BIG-IP.
Des identités utilisateur synchronisées à partir d’un annuaire local vers Microsoft Entra ID.
Un compte avec des autorisations Administrateur d’application Microsoft Entra.
Un certificat web SSL pour les services de publication sur HTTPS, ou utilisez les certificats BIG-IP par défaut lors des tests.
Une application existante basée sur l’en-tête ou la configuration d’une simple application IIS basée sur l’en-tête à des fins de test.
Méthodes de configuration BIG-IP
Il existe de nombreuses méthodes pour configurer BIG-IP pour ce scénario, y compris deux options basées sur un modèle et une configuration avancée. Ce tutoriel couvre la dernière version de Configuration guidée, la version 16.1, qui offre un modèle Easy Button. Avec Easy Button, les administrateurs n’ont plus besoin d’aller et venir entre Microsoft Entra ID et BIG-IP afin d’activer les services pour SHA. La gestion des déploiements et des stratégies est directement assurée entre l’Assistant de configuration guidée d’APM et Microsoft Graph. Cette intégration enrichie entre BIG-IP APM et Microsoft Entra ID garantit que les applications peuvent rapidement et facilement prendre en charge la fédération des identités, l’authentification unique et l’accès conditionnel Microsoft Entra, ce qui réduit la surcharge administrative.
Remarque
Tous les exemples de chaînes et de valeurs référencés dans ce guide doivent être remplacés par ceux de votre environnement réel.
Inscrire Easy Button
Avant qu’un client ou un service puisse accéder à Microsoft Graph, il doit être approuvé par la plateforme d’identités Microsoft.
Cette première étape crée une inscription d’application cliente qui sera utilisée pour autoriser l’accès d’Easy Button à Graph. Grâce à ces autorisations, BIG-IP est autorisé à pousser les configurations nécessaires pour établir une relation d’approbation entre une instance de fournisseur de services SAML pour une application publiée et Microsoft Entra ID en tant qu’IdP SAML.
Connectez-vous au portail Azure à l’aide d’un compte disposant des droits d’administrateur d’application.
Dans le volet de navigation gauche, sélectionnez le service Microsoft Entra ID.
Sous Gérer, sélectionnez Inscriptions d’applications>Nouvelle inscription.
Entrez un nom d’affichage pour votre application, tel que
F5 BIG-IP Easy Button
.Spécifiez qui peut utiliser l’application >Comptes dans cet annuaire organisationnel uniquement.
Sélectionnez Inscrire pour procéder à l’inscription d’application initiale.
Accédez à Autorisations des API et accordez les autorisations d’application Microsoft Graph suivantes :
- Application.Read.All
- Application.ReadWrite.All
- Application.ReadWrite.OwnedBy
- Directory.Read.All
- Group.Read.All
- IdentityRiskyUser.Read.All
- Policy.Read.All
- Policy.ReadWrite.ApplicationConfiguration
- Policy.ReadWrite.ConditionalAccess
- User.Read.All
Accorder le consentement administrateur pour votre organisation.
Dans le panneau Certificats et secrets, générez un nouveau secret client et notez-le.
Dans le panneau Vue d’ensemble, notez l’ID de clientet l’ID de locataire.
Configurer Easy Button
Démarrez la Configuration guidée de l’APM pour lancer le modèle Easy Button.
Accédez à Accès, Configuration guidée, puis Intégration Microsoft et sélectionnez Application Microsoft Entra.
Sous La configuration de la solution à l’aide des étapes ci-dessous entraînera la création des objets nécessaires, passez en revue la liste des étapes de configuration, puis sélectionnez Suivant.
Sous Configuration guidée, suivez la séquence d’étapes nécessaires à la publication de votre application.
Configuration Properties
L’onglet Propriétés de la configuration crée une configuration d’application BIG-IP et un objet d’authentification unique. Considérez que la section Détails du compte de service Azure correspond au client que vous avez inscrit dans votre locataire Microsoft Entra précédemment en tant qu’application. Ces paramètres permettent au client OAuth de BIG-IP d’inscrire individuellement SAML SP directement dans votre locataire, avec les propriétés d’authentification unique que vous auriez normalement configurées manuellement. Easy Button effectue cette opération pour chaque service BIG-IP publié et activé pour SHA.
Certains d’entre eux sont des paramètres globaux qui peuvent être réutilisés pour publier d’autres applications, ce qui réduit encore le temps et l’effort de déploiement.
Entrez un Nom de configuration unique afin que les administrateurs puissent facilement distinguer les configurations Easy Button.
Activez Authentification unique (SSO) et en-têtes HTTP.
Entrez l’ID de locataire, l’ID de client et la clé secrète client que vous avez notés lors de l’inscription du client de bouton facile dans votre locataire.
Vérifiez que BIG-IP peut se connecter correctement à votre locataire avant de sélectionner Next (Suivant).
Fournisseur de services
Les paramètres Fournisseur de services définissent les propriétés de l’instance SAML SP de l’application protégée via SHA.
Entrez l’Hôte. Il s’agit du nom de domaine complet public de l’application en cours de sécurisation.
Entrez l’ID d’entité. Il s’agit de l’identificateur utilisé par Microsoft Entra ID pour identifier le fournisseur de services SAML qui demande un jeton.
Les paramètres de sécurité facultatifs, spécifient si Microsoft Entra ID doit chiffrer les assertions SAML émises. Le chiffrement des assertions entre Microsoft Entra ID et BIG-IP APM offre une garantie supplémentaire que les jetons du contenu ne peuvent pas être interceptés, et que ni les données personnelles ni les données professionnelles ne peuvent être compromises.
Dans la liste Clé privée de déchiffrement d’assertion, sélectionnez Créer un nouveau.
Sélectionnez OK. La boîte de dialogue Importer le certificat SSL et les clés s’ouvre dans un nouvel onglet.
Sélectionnez PKCS 12 (IIS) pour importer votre certificat et votre clé privée. Une fois l’approvisionnement effectué, fermez l’onglet du navigateur pour revenir à l’onglet principal.
Cochez Enable Encrypted Assertion.
Si vous avez activé le chiffrement, sélectionnez votre certificat dans la liste Clé privée de déchiffrement d’assertion. Il s’agit de la clé privée du certificat que BIG-IP APM utilise pour déchiffrer les assertions Microsoft Entra.
Si vous avez activé le chiffrement, sélectionnez votre certificat dans la liste Certificat de déchiffrement d’assertion. Il s’agit du certificat que BIG-IP charge sur Microsoft Entra ID pour le chiffrement des assertions SAML émises.
Microsoft Entra ID
Cette section définit toutes les propriétés que vous utilisez normalement pour configurer manuellement une nouvelle application SAML BIG-IP dans votre locataire Microsoft Entra. Easy Button fournit un ensemble de modèles d’applications prédéfinis pour Oracle PeopleSoft, Oracle E-business Suite, Oracle JD Edwards, SAP ERP ainsi que des modèles SHA génériques pour toute autre application.
Pour ce scénario, dans la page Configuration Azure, sélectionnez Intégration F5 BIG-IP APM Azure AD>Ajouter.
Configuration d’Azure
Dans la page Configuration Azure, suivez ces étapes :
Sous Propriétés de configuration, entrez le Nom d’affichage de l’application que crée BIG-IP dans votre locataire Microsoft Entra et l’icône que les utilisateurs voient dans le portail Mes applications.
N’entrez rien dans Sign On URL (facultatif) pour activer l’authentification lancée par le fournisseur d’identité.
Sélectionnez l’icône d’actualisation à côté de Clé de signature et Certificat de signature pour localiser le certificat que vous avez importé précédemment.
Entrez le mot de passe du certificat dans Phrase secrète de la clé de signature.
Activez l’Option de signature (facultatif). Cela garantit que BIG-IP accepte uniquement les jetons et revendications signés par Microsoft Entra ID.
Les utilisateurs et groupes d’utilisateurs sont interrogés de manière dynamique à partir de votre locataire Microsoft Entra et utilisés pour autoriser l’accès à l’application. Ajoutez un utilisateur ou un groupe que vous pouvez utiliser ultérieurement pour les tests ; sinon, tous les accès seront refusés.
Attributs utilisateur et revendications
Quand un utilisateur s’authentifie, Microsoft Entra ID émet un jeton SAML avec un ensemble par défaut de revendications et d’attributs qui identifient de manière unique l’utilisateur. L’onglet Attributs utilisateur et revendications montre les revendications par défaut à émettre pour la nouvelle application. Il vous permet également de configurer d’autres revendications.
Pour cet exemple, vous pouvez inclure un attribut de plus :
Pour Header Name (Nom d’en-tête), entrez employeeid.
Pour Source Attribute (Attribut source), entrez user.employeeid.
Attributs utilisateur supplémentaires
Dans l’onglet Additional User Attributes (Attributs utilisateur supplémentaires), vous pouvez activer l’augmentation de sessions requise par divers systèmes distribués comme Oracle, SAP et autres implémentations basées sur Java qui nécessitent des attributs stockés dans d’autres répertoires. Les attributs récupérés à partir d’une source LDAP peuvent ensuite être injectés en tant qu’en-têtes SSO supplémentaires pour contrôler davantage l’accès en fonction des rôles, des ID de partenaire, etc.
Remarque
Cette fonctionnalité n’a pas de corrélation avec Microsoft Entra ID, mais constitue une autre source d’attributs.
Stratégie d’accès conditionnel
Les stratégies d’accès conditionnel sont appliquées après la pré-authentification Microsoft Entra, pour contrôler l’accès en fonction de l’appareil, de l’application, de l’emplacement et des signaux de risque.
Par défaut, l’affichage Stratégies disponibles répertorie toutes les stratégies d’accès conditionnel qui n’incluent pas d’actions basées sur l’utilisateur.
La vue Stratégies sélectionnées, par défaut, affiche toutes les stratégies ciblant toutes les ressources. Ces stratégies ne peuvent pas être désélectionnées ou déplacées vers la liste des stratégies disponibles, car elles sont appliquées au niveau du locataire.
Pour sélectionner une stratégie à appliquer à l’application en cours de publication :
- Sélectionnez la stratégie souhaitée dans la liste des stratégies disponibles.
- Sélectionnez la flèche vers la droite et déplacez-la vers la liste des stratégies sélectionnées.
Les stratégies sélectionnées doivent avoir la case Include ou Exclude cochée. Si les deux options sont cochées, la stratégie sélectionnée n’est pas appliquée.
Notes
La liste de stratégies n’est énumérée qu’une seule fois, lors du premier accès à cet onglet. Un bouton d’actualisation est disponible pour forcer manuellement l’Assistant à interroger votre locataire, mais ce bouton s’affiche uniquement lorsque l’application a été déployée.
Propriétés du serveur virtuel
Un serveur virtuel est un objet de plan de données BIG-IP représenté par une adresse IP virtuelle écoutant les requêtes des clients adressées à l’application. Tout trafic reçu est traité et évalué par rapport au profil APM associé au serveur virtuel avant d’être dirigé en fonction des résultats et des paramètres de la stratégie.
Entrez l’adresse de destination. Cela peut être n’importe quelle adresse IPv4/IPv6 disponible que BIG-IP peut utiliser pour recevoir le trafic client. Un enregistrement correspondant doit également exister dans DNS, ce qui permet aux clients de résoudre l’URL externe de votre application BIG-IP publiée sur cette adresse IP au lieu de l’application proprement dite. L’utilisation du DNS localhost d’un PC de test convient pour des tests.
Pour Service Port, entrez 443 pour HTTPS.
Cochez Enable Redirect Port, puis entrez le Port de redirection. Il redirige le trafic entrant du client HTTP vers HTTPS.
Le profil SSL du client permet d’activer le serveur virtuel pour HTTPS afin que les connexions clientes soient chiffrées sur TLS. Sélectionnez le profil SSL client que vous avez créé dans le cadre des prérequis ou laissez la valeur par défaut si vous effectuez des tests.
Propriétés du pool
L’onglet Application Pool détaille les services derrière BIG-IP qui sont représentés sous la forme d’un pool contenant un ou plusieurs serveurs d’application.
Faites votre choix dans Select a Pool. Créez un pool ou sélectionnez-en un qui existe déjà.
Pour Load Balancing Method, choisissez
Round Robin
.Pour Pool Servers, sélectionnez un nœud existant ou spécifiez une adresse IP et un port pour le serveur hébergeant l’application basée sur en-têtes.
Notre application back-end se trouve sur le port HTTP 80 mais cela bascule évidemment sur 443 si la vôtre est HTTPS.
Authentification unique et en-têtes HTTP
L’activation de l’authentification unique permet aux utilisateurs d’accéder aux services publiés BIG-IP sans avoir à entrer leurs informations d’identification. L’Assistant Easy Buttonprend en charge Kerberos, OAuth Bearer et les en-têtes d’autorisation HTTP pour l’authentification unique, dont nous allons justement configurer les éléments suivants.
Opération d’en-tête :
Insert
Nom de l’en-tête :
upn
Valeur de l’en-tête :
%{session.saml.last.identity}
Opération d’en-tête :
Insert
Nom de l’en-tête :
employeeid
Valeur de l’en-tête :
%{session.saml.last.attr.name.employeeid}
Notes
Les variables de session APM définies entre accolades respectent la CASSE. Par exemple, si vous entrez OrclGUID alors que le nom de l’attribut Microsoft Entra est défini comme orclguid, le mappage de l’attribut échoue.
Gestion des sessions
Les paramètres de gestion d’une session BIG-IP servent à définir les conditions dans lesquelles les sessions utilisateur sont arrêtées ou autorisées à poursuivre, les limites des utilisateurs et des adresses IP, ainsi que les informations utilisateur correspondantes. Pour plus d’informations sur ces paramètres, consultez la documentation de F5.
Ce qui n’est toutefois pas abordé ici, c’est la fonctionnalité Single Log-Out (SLO) qui garantit l’arrêt de toutes les sessions entre le fournisseur d’identité, BIG-IP et l’agent utilisateur quand les utilisateurs se déconnectent. Quand Easy Button instancie une application SAML sur votre locataire Microsoft Entra, il renseigne également l’URL de déconnexion avec le point de terminaison SLO d’APM. De cette façon, les déconnexions lancées par l’IdP à partir du portail Mes applications Microsoft Entra mettent également fin à la session entre BIG-IP et le client.
Parallèlement, les métadonnées de fédération SAML de l’application publiée sont également importées à partir de votre locataire, fournissant à APM le point de terminaison de déconnexion SAML pour Microsoft Entra ID. Cela garantit que les déconnexions lancées par le fournisseur de services mettent fin à la session entre le client et Microsoft Entra ID. Mais pour que cela soit vraiment efficace, APM doit savoir exactement quand un utilisateur se déconnecte de l’application.
Si le portail webtop de BIG-IP est utilisé pour accéder aux applications publiées, la déconnexion à partir de là est traitée par APM pour appeler également le point de terminaison de déconnexion Microsoft Entra. Si le portail webtop de BIG-IP n’est pas utilisé, l’utilisateur n’a aucun moyen de demander à APM de se déconnecter. Même si l’utilisateur se déconnecte de l’application proprement dite, BIG-IP n’en est techniquement pas conscient. Pour cette raison, la déconnexion lancée par le fournisseur de services doit donc être soigneusement étudiée afin de s’assurer que les sessions prennent fin de manière sécurisée lorsqu’elles ne sont plus nécessaires. Pour cela, vous pouvez ajouter une fonction SLO au bouton de déconnexion de votre application afin qu’elle puisse rediriger votre client vers le point de terminaison de déconnexion SAML Microsoft Entra ou BIG-IP. L’URL du point de terminaison de déconnexion SAML de votre locataire se trouve dans Inscriptions d’applications > Points de terminaison.
Si vous ne pouvez pas modifier l’application, vous pouvez demander à BIG-IP d’écouter l’appel de déconnexion de l’application et de déclencher SLO dès qu’il détecte la demande. Reportez-vous à notre Guide Oracle PeopleSoft SLO sur l’utilisation de BIG-IP irules pour y parvenir. Pour plus d’informations sur l’utilisation de BIG-IP iRules, consultez l’article du centre de connaissances de F5 Configuring automatic session termination (logout) based on a URI-referenced file name et Overview of the Logout URI Include option.
Résumé
Cette dernière étape fournit une décomposition de vos configurations. Sélectionnez Déployer pour valider tous les paramètres, puis vérifiez que l’application existe désormais dans la liste des applications d’entreprise de vos locataires.
Votre application devrait maintenant être publiée et accessible via SHA, soit directement via son URL, soit via les portails d'applications de Microsoft.
Étapes suivantes
À partir d’un navigateur, connectez-vous à l’URL externe de l’application ou sélectionnez l’icône de l’application dans le portail Microsoft MyApps. Une fois authentifié dans Microsoft Entra ID, vous êtes redirigé vers le serveur virtuel BIG-IP de l’application et connecté automatiquement avec SSO.
Cette capture montre la sortie des en-têtes injectés affichée par notre application basée sur en-têtes.
Pour une sécurité accrue, les entreprises qui utilisent ce modèle pourraient également envisager de bloquer tout accès direct à l’application, forçant ainsi un chemin strict via BIG-IP.
Déploiement avancé
Dans certains cas, les modèles de Configuration guidée ne disposent pas de la flexibilité nécessaire pour répondre à des conditions plus spécifiques. Pour es scénarios, consultez Configuration avancée de l’authentification unique basée sur les en-têtes.
BIG-IP vous donne aussi la possibilité de désactiver le mode de gestion strict de la configuration guidée. Cela vous permet de modifier manuellement vos configurations, même si la plupart de vos configurations sont automatisées par le biais des modèles basés sur l’assistant.
Vous pouvez accéder à Accès> Configuration guidée et sélectionner l’icône représentant un petit cadenas à l’extrême droite de la ligne des configurations de votre application.
À ce stade, les modifications effectuées via l’interface utilisateur de l’Assistant ne sont plus possibles, mais tous les objets BIG-IP associés à l’instance publiée de l’application seront déverrouillés pour une gestion directe.
Notes
La réactivation du mode strict et le déploiement d’une configuration remplacent tous les paramètres appliqués en dehors de l’interface utilisateur de la Configuration guidée, c’est pourquoi nous recommandons d’utiliser la méthode de configuration avancée pour les services en production.
Dépannage
L’échec de l’accès à une application protégée par SHA peut être dû à un nombre quelconque de facteurs. La journalisation BIG-IP peut vous aider à isoler rapidement toutes sortes de problèmes liés à la connectivité, à l’authentification unique, aux violations de stratégies ou aux mappages de variables mal configurés. Démarrez la résolution des problèmes en augmentant le niveau de verbosité du journal.
Accédez à Access Policy > Overview > Event Logs > Settings.
Sélectionnez la ligne correspondant à votre application publiée, puis accédez à Edit > Access System Logs.
Sélectionnez Debug (Déboguer) dans la liste d’authentification unique, puis OK.
Reproduisez votre problème, puis examinez les journaux, mais n’oubliez pas de rétablir le niveau de journalisation quand vous avez terminé en mode détaillé pour éviter de générer un grand nombre de données.
Si vous voyez une erreur BIG-IP immédiatement après la pré-authentification Microsoft Entra, le problème est peut-être lié à l’authentification unique entre Microsoft Entra ID et BIG-IP.
Accéder à Access > Overview > Access reports.
Exécutez le rapport qui porte sur la dernière heure afin de voir si les journaux fournissent des indices. Le lien Voir les variables de session pour votre session vous aide aussi à comprendre si APM reçoit les revendications attendues de Microsoft Entra ID.
Si vous ne voyez pas de page d’erreur BIG-IP, le problème est probablement davantage lié à la demande principale ou à l’authentification unique entre BIG-IP et l’application.
Dans ce cas, accédez à Stratégie d’accès > Vue d’ensemble > Sessions actives et sélectionnez le lien correspondant à votre session active.
Le lien Voir les variables à cet endroit peut aussi vous aider à déterminer la cause racine des problèmes SSO, en particulier si BIG-IP APM ne parvient pas à obtenir les bons attributs de Microsoft Entra ID ou d’une autre source.
Pour plus d’informations, consultez cet article du centre de connaissances de F5 Configuring LDAP remote authentication for Active Directory. Il existe également un grand tableau de référence BIG-IP pour aider à diagnostiquer les problèmes liés à LDAP dans cet article de base de connaissances F5 sur la requête LDAP.