Configuration d'Azure AD B2C pour la protection de l'identité client
01/05/2025
Cet article technique et pédagogique vise à guider les analystes de sécurité, les administrateurs informatiques et les ingénieurs système dans la configuration et l'utilisation d'Azure AD B2C (Business-to-Consumer) pour protéger et gérer les identités des clients. Dans un monde numérique où l’expérience client est primordiale, il est crucial de proposer un processus d’inscription et de connexion sécurisé, intuitif et personnalisable. Azure AD B2C est une solution de gestion de l'identité et des accès client (CIAM) qui permet à vos clients de s'inscrire et de se connecter à vos applications et API en utilisant leurs identités sociales (telles que Google, Facebook) ou leurs comptes locaux [1].
Présentation
L’identité du client est le fondement de l’expérience numérique moderne. Les applications Web et mobiles nécessitent un système robuste pour gérer l'enregistrement, la connexion et les profils de millions de clients, garantissant la sécurité, l'évolutivité et le respect des réglementations en matière de confidentialité. Développer et maintenir un système CIAM interne est complexe, coûteux et sujet aux erreurs de sécurité. Des solutions comme Azure AD B2C éliminent cette complexité en fournissant une plateforme en tant que service (PaaS) qui gère tous les aspects de la gestion de l'identité client [2].
Azure AD B2C étend les capacités d'Azure Active Directory pour répondre aux besoins spécifiques des applications destinées aux consommateurs. Il permet aux organisations de personnaliser entièrement l'expérience d'identité des clients, depuis les pages de connexion et d'enregistrement jusqu'aux attributs collectés. De plus, il s'intègre à des fonctionnalités de sécurité avancées telles que l'authentification multifacteur (MFA), l'accès conditionnel et la protection de l'identité pour protéger les comptes clients contre les menaces courantes telles que les attaques par force brute et les informations d'identification compromises [3].
Ce guide pratique couvrira les prérequis, les concepts B2C, comment créer et configurer un locataire B2C, enregistrer des applications, configurer des flux utilisateur personnalisables (inscription, connexion, édition de profil, réinitialisation de mot de passe), comment intégrer des applications et comment tester et valider l'authentification. Des instructions étape par étape, des exemples pratiques et des explications concises seront fournis afin que le lecteur puisse implémenter, tester et valider ces fonctionnalités. De plus, des conseils de sécurité, des contrôles de conformité et des meilleures pratiques seront abordés pour garantir que les identités de vos clients sont protégées et gérées de manière efficace, autonome, professionnelle et fiable.
Pourquoi Azure AD B2C est-il crucial pour protéger les identités des clients ?
- Expérience client améliorée : fournit des options de connexion sociale et une personnalisation complète de l'interface utilisateur, résultant en une expérience utilisateur fluide et cohérente.
- Sécurité robuste : intègre des fonctionnalités de sécurité de niveau entreprise telles que l'authentification multifacteur, l'accès conditionnel et la protection de l'identité pour protéger les comptes clients contre les attaques.
- Évolutivité et fiabilité : conçu pour gérer des millions d'utilisateurs et des milliards d'authentifications, garantissant ainsi une disponibilité et des performances élevées.
- Conformité : permet de respecter les réglementations sur la confidentialité des données telles que le RGPD et la LGPD grâce au contrôle du stockage et du traitement des données des clients.
- Réduction des coûts : élimine le besoin de créer et de maintenir une infrastructure d'identité interne complexe.
- Flexibilité : prend en charge un large éventail de protocoles d'authentification (OpenID Connect, OAuth 2.0, SAML) et peut être intégré à pratiquement n'importe quelle application.
Prérequis
Pour configurer Azure AD B2C, vous aurez besoin des éléments suivants :
- Abonnement Azure actif : un abonnement Azure pour créer et gérer des ressources.
- Accès administrateur : Un compte avec le rôle d'« Administrateur global » ou d'« Administrateur d'utilisateurs » dans l'abonnement Azure.
- Client Azure AD B2C : un nouveau locataire Azure AD B2C, qui est un répertoire distinct de votre locataire Azure AD d'entreprise.
Étape par étape : configuration d'Azure AD B2C
Créons un locataire B2C, enregistrons une application et configurons un flux d'utilisateurs.
1. Création d'un locataire Azure AD B2C
Un locataire B2C est un répertoire distinct qui stocke les identités de vos clients.
- Ouvrez votre navigateur et accédez au portail Azure : « https://portal.azure.com ».
- Connectez-vous avec un compte disposant des autorisationsC'est nécessaire.
- Dans le champ de recherche supérieur, tapez « Azure Active Directory B2C » et sélectionnez-le dans les résultats.
-
Cliquez sur « + Créer un nouveau locataire Azure AD B2C ».
-
Créez un locataire B2C :
- Type de locataire : « Locataire Azure AD B2C ».
- Nom de l'organisation : Donnez un nom à votre organisation (ex :
MyCompanyB2C). - Nom de domaine initial : Choisissez un nom de domaine unique (ex :
mycompanyab2c.onmicrosoft.com). - Pays/Région : Sélectionnez votre pays/région.
- Abonnement : sélectionnez votre abonnement Azure.
- Groupe de ressources : créez un nouveau groupe de ressources (ex :
rg-b2c) ou sélectionnez-en un existant.
-
Cliquez sur « Réviser + créer », puis sur Créer.
- Explication : la création d'un client B2C peut prendre quelques minutes. Une fois créé, vous devrez basculer sur ce nouvel annuaire B2C pour le gérer.
2. Enregistrement d'une application dans Azure AD B2C
Chaque application qui utilisera Azure AD B2C pour l'authentification doit être enregistrée.
- Dans le portail Azure, assurez-vous que vous êtes sur le locataire Azure AD B2C (utilisez le sélecteur de répertoire dans le coin supérieur droit).
- Dans le volet de navigation de gauche, sélectionnez Inscriptions d'application sous « Gérer ».
-
Cliquez sur
+ Nouvelle inscription. -
Enregistrez une candidature :
- Nom : Donnez un nom à votre application (ex :
WebApp-MinhaEmpresa). - Types de comptes pris en charge : sélectionnez « Comptes dans n'importe quel répertoire d'organisation ou répertoire de fournisseur d'identité (pour authentifier les utilisateurs avec des flux d'utilisateurs) ».
- URI de redirection (facultatif) : Sélectionnez
Webet entrez l'URL où le jeton d'authentification sera envoyé après la connexion (par exemplehttps://localhost:5001/signin-oidcpour le développement local ou l'URL de production de votre application). - Autorisations : cochez « Accorder le consentement de l'administrateur pour les autorisations openid et offline_access ».
- Nom : Donnez un nom à votre application (ex :
-
Cliquez sur S'inscrire.
-
Après l'enregistrement, notez l'ID d'application (client) et l'ID de répertoire (locataire). Vous en aurez besoin pour configurer votre application.
3. Création de flux d'utilisateurs
Les flux d'utilisateurs sont des expériences d'identité prédéfinies et personnalisables pour l'enregistrement, la connexion, la modification du profil et la réinitialisation du mot de passe.
- Dans le volet de navigation de gauche de votre locataire Azure AD B2C, sélectionnez Flux d'utilisateurs sous « Politiques ».
-
Cliquez sur « +Nouveau flux d'utilisateurs ».
-
Créez un flux d'utilisateurs :
- Type de flux utilisateur : sélectionnez « S'inscrire et se connecter ».
- Version : « Recommandé ».
- Nom : Donnez un nom (ex :
B2C_1_signup_signin). - Fournisseurs d'identité : sélectionnez « E-mail du compte local » (et d'autres comme « Google », « Facebook » si vous souhaitez intégrer des fournisseurs sociaux).
- Attributs utilisateur et revendications de jeton : sélectionnez les attributs que vous souhaitez collecter lors de l'inscription (par exemple, « Adresse e-mail », « Prénom », « Nom de famille ») et les revendications qui seront incluses dans le jeton.
- Authentification multifacteur (MFA) : « Désactivée » (pour cet exemple, mais peut être activée pour plus de sécurité).
- Accès conditionnel : « Désactivé » (pour cet exemple).
-
Cliquez sur Créer.
-
Répétez le processus pour créer d'autres flux d'utilisateurs, tels que « Réinitialisation du mot de passe » (par exemple « B2C_1_password_reset ») et « Modification du profil » (par exemple « B2C_1_profile_edit »).
- Explication : Les flux d'utilisateurs sont l'épine dorsale de l'expérience d'identité client. Ils définissent la séquence d'écrans et d'interactions qu'un utilisateur aura pendant le processus d'authentification. Vous pouvez personnaliser l'apparence et le comportement de ces flux.
4. Personnalisation de l'interface utilisateur (UI) des flux utilisateur
Vous pouvez personnaliser l'apparence des pages de connexion et d'inscription pour qu'elles correspondent à l'image de marque de votre application.
- Dans le volet de navigation de gauche de votre locataire Azure AD B2C, sélectionnez Flux d'utilisateurs.
- Cliquez sur le flux utilisateur que vous avez créé (ex :
B2C_1_signup_signin). - Dans le volet de navigation de gauche, sélectionnez Mises en page.
-
Vous pouvez personnaliser la mise en page de chaque page (ex : « Page de connexion unifiée », « Page d'inscription au compte local ») en utilisant du CSS ou du HTML personnalisé pour correspondre à votre marque.
- Explication : Pour une personnalisation avancée, vous pouvez héberger vos propres fichiers HTML/CSS/JavaScript sur un stockage Blob Azure et les référencer.eux ici.
5. Intégration d'Azure AD B2C à une application
L'intégration implique la configuration de votre application pour utiliser Azure AD B2C pour l'authentification. Le processus varie en fonction de la plateforme et du framework de votre application. Nous utiliserons un exemple conceptuel pour une application Web.
- Configurez l'application pour utiliser OpenID Connect : votre application devra utiliser un client OpenID Connect pour communiquer avec Azure AD B2C.
-
Paramètres de configuration : vous aurez besoin des paramètres suivants de votre locataire B2C et de votre application enregistrée :
- ID client (ID d'application) : L'ID de votre application enregistrée (ex :
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). - ID de locataire B2C (Tenant ID) : Le nom de votre locataire B2C (ex :
mycompanyab2c.onmicrosoft.com). - Nom du flux utilisateur (nom de la stratégie) : Le nom du flux utilisateur que vous souhaitez utiliser pour la connexion (ex :
B2C_1_signup_signin). - URI de redirection : L'URL que vous avez configurée lors de l'enregistrement de l'application (ex :
https://localhost:5001/signin-oidc). -
Point de terminaison des métadonnées OpenID Connect : ce point de terminaison fournit les informations de configuration B2C. Le format est généralement « https://
.b2clogin.com/ .onmicrosoft.com/ /v2.0/.well-known/openid-configuration ». -
Exemple de configuration (pseudocode pour une application web ASP.NET Core) :
csharp // Startup.cs ou Program.cs services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApp (options => { Configuration.Bind("AzureAdB2C", options); options.Instance = "https://minhaempresab2c.b2clogin.com"; options.Domain = "mycompanyab2c.onmicrosoft.com"; options.ClientId = "<CLIENT_ID_DA_APLICACAO>"; options.SignUpSignInPolicyId = "B2C_1_signup_signin"; options.CallbackPath = "/signin-oidc"; options.SignedOutCallbackPath = "/signout-oidc"; options.ClientSecret = "<CUSTOMER_SEGREDO_SE_USADO>" ; // Uniquement pour les applications Web qui ne sont pas des SPA }); -
Explication : La bibliothèque
Microsoft.Identity.Websimplifie l'intégration d'Azure AD B2C avec les applications .NET. Pour les autres plateformes, il existe des SDK et des bibliothèques équivalentes.
- ID client (ID d'application) : L'ID de votre application enregistrée (ex :
Validation et tests
Il est crucial de tester le processus d’authentification et l’expérience utilisateur.
1. Test du flux d'enregistrement et de connexion des utilisateurs
- Scénario : accédez à votre application Web configurée pour utiliser Azure AD B2C. Essayez d'enregistrer un nouvel utilisateur, puis connectez-vous avec le compte nouvellement créé.
- Action attendue : vous devez être redirigé vers la page d'inscription/de connexion Azure AD B2C, pouvoir créer un compte, vous connecter et être redirigé vers votre application avec succès.
- Vérification :
- Dans le portail Azure, dans votre locataire B2C, accédez à Utilisateurs sous « Gérer ». Le nouvel utilisateur devrait apparaître dans la liste.
- Consultez les journaux d'audit Azure AD B2C pour confirmer les événements d'inscription et de connexion.
2. Test de réinitialisation du mot de passe
- Scénario : essayez de réinitialiser le mot de passe d'un utilisateur à l'aide du flux utilisateur de réinitialisation du mot de passe.
- Action attendue : L'utilisateur doit pouvoir réinitialiser son mot de passe et se connecter avec le nouveau mot de passe.
- Vérification :
- Consultez les journaux d'audit Azure AD B2C pour confirmer l'événement de réinitialisation du mot de passe.
3. Vérification des journaux d'audit dans Azure AD B2C
- Dans le portail Azure, dans votre locataire B2C, accédez à Azure Active Directory > Surveillance > Journaux d'audit.
- Filtrez les journaux par « Catégorie » = « Répertoire principal » et « Activité » = « Connexion » ou « Inscription ».
- Vérifiez les détails de l'événement pour confirmer le succès des opérations d'authentification.
Conseils de sécurité et bonnes pratiques
- Activer MFA : activez toujours l'authentification multifacteur (MFA) pour les flux de connexion des utilisateurs, en particulier pour les comptes dotés de privilèges ou d'un accès à des données sensibles. La MFA est l’une des défenses les plus efficaces contre les attaques de compromission des informations d’identification.
- Utiliser l'accès conditionnel : intégrez Azure AD B2C à l'accès conditionnel pour appliquer des politiques de sécurité basées sur les risques, telles que l'exigence d'une MFA pour les connexions à partir d'emplacements inconnus ou d'appareils non conformes [3].
- Protection de l'identité :Utilisez les fonctionnalités Azure AD B2C Identity Protection pour détecter et corriger les risques d’identité, tels que les fuites d’informations d’identification ou les connexions anormales.
- Personnalisation sécurisée de l'interface utilisateur : lors de la personnalisation des pages de connexion/enregistrement, assurez-vous que le HTML/CSS/JavaScript personnalisé n'introduit pas de vulnérabilités de sécurité (par exemple XSS). Utilisez un stockage blob sécurisé avec CORS correctement configuré.
- Restreindre les attributs utilisateur : collectez uniquement les attributs utilisateur strictement nécessaires à votre application et à votre entreprise. Cela minimise le risque d’exposition des données et contribue à la conformité.
- Surveillance des journaux : surveillez en permanence les journaux d'audit et les journaux de connexion Azure AD B2C pour détecter les activités suspectes ou les tentatives d'attaque.
- Rotation du secret client : si votre application utilise un secret client, assurez-vous de le faire pivoter régulièrement et de le stocker en toute sécurité (par exemple, Azure Key Vault).
- Intégration avec les fournisseurs sociaux : lors de l'intégration de fournisseurs d'identité sociale tels que Google ou Facebook, configurez-les correctement et suivez les directives de sécurité de chaque fournisseur.
Dépannage courant
- Erreur lors de la création du locataire B2C :
- Vérifiez que vous disposez des autorisations nécessaires dans votre abonnement Azure.
- Assurez-vous que le nom de domaine initial est unique et non utilisé.
- Erreur de redirection après connexion/inscription :
- Vérifiez que l'URI de redirection configuré lors de l'enregistrement de l'application dans Azure AD B2C correspond exactement à l'URL de retour de votre application.
- Assurez-vous que le protocole (HTTP/HTTPS) et le port sont corrects.
- Le flux utilisateur ne fonctionne pas ou affiche une erreur :
- Vérifiez que le flux d'utilisateurs a été créé correctement et que les fournisseurs d'identité et les attributs utilisateur sont sélectionnés.
- Testez le flux utilisateur directement depuis le portail Azure (sur la page Flux utilisateur, cliquez sur « Exécuter le flux utilisateur ») pour isoler le problème.
- Vérifiez les journaux d'audit pour les messages d'erreur.
- La personnalisation de l'interface utilisateur n'est pas appliquée :
- Vérifiez que les URL des fichiers CSS/HTML personnalisés sont correctes et accessibles au public (s'ils sont hébergés sur un stockage blob).
- Assurez-vous que CORS est correctement configuré sur votre stockage blob pour autoriser l'accès depuis le domaine « b2clogin.com ».
- Videz le cache de votre navigateur pour vous assurer que les dernières modifications sont chargées.
- Problèmes d'intégration d'application :
- Vérifiez que l'« ID client », l'« ID du locataire B2C » et le « Nom du flux utilisateur » sont correctement configurés dans votre application.
- Assurez-vous que les bibliothèques d'authentification de votre application sont à jour.
- Vérifiez les journaux de vos applications pour les messages d'erreur d'authentification.
Conclusion
Azure AD B2C est une solution puissante et flexible pour gérer et protéger les identités de vos clients, offrant une expérience utilisateur améliorée et une sécurité robuste. En déléguant la complexité de la gestion des identités à Microsoft, les organisations peuvent se concentrer sur leur cœur de métier, en garantissant la sécurité et la conformité des données de leurs clients. Une mise en œuvre minutieuse des flux d’utilisateurs, une intégration aux meilleures pratiques de sécurité et une surveillance continue sont essentielles pour maximiser les avantages d’Azure AD B2C. Avec ce guide pratique, les professionnels de la sécurité et les administrateurs informatiques seront bien équipés pour configurer, valider et gérer Azure AD B2C, protégeant ainsi l'identité de leurs clients et renforçant la posture de sécurité globale de leurs applications.
Références :
[1] Microsoft Apprendre. Documentation Azure Active Directory B2C. Disponible sur : https://learn.microsoft.com/pt-br/azure/active-directory-b2c/ [2] Microsoft Apprendre. Bonnes pratiques pour Azure AD B2C. Disponible sur : https://learn.microsoft.com/pt-br/azure/active-directory-b2c/best-practices [3] Microsoft Apprendre. Protection de l'identité et accès conditionnel dans Azure AD B2C. Disponible sur : https://learn.microsoft.com/pt-br/azure/active-directory-b2c/conditional-access-identity-protection-overview [4] Microsoft Apprendre. Enregistrez une application Web dans Azure Active Directory B2C. Disponible sur : https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-register-applications [5] Microsoft Apprendre. Créez des flux d'utilisateurs et des politiques personnalisées - Azure Active Directory B2C. Disponible sur : https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-create-user-flows [6] Microsoft Apprendre. Configurez l'authentification dans un exemple d'application Web à l'aide d'Azure AD B2C. Disponible sur : https://learn.microsoft.com/pt-br/azure/active-directory-b2c/configure-authentication-sample-web-app [7] Microsoft Apprendre. Enquêtez sur les risques avec Identity Protection dans Azure AD B2C. Disponible sur : https://learn.microsoft.com/pt-br/azure/active-directory-b2c/identity-protection-investigate-risk