Introduction
La semaine dernière, nous avons expliqué comment Microsoft Identity constitue un pilier dans la gestion de l’identité et de l’accès. Nous avons vu comment cette technologie, utilisée pour se connecter à des services comme Windows, Office 365, ou Moodle , joue un rôle crucial dans la sécurité et la centralisation des accès.
Nous avons également discuté de son importance au sein de l’Université de Montréal, où je travaille comme technicien informatique. L’accent avait été mis sur :
- La centralisation de l’authentification (un seul compte pour plusieurs ressources)
- Le renforcement de la sécurité via l’authentification multifactorielle (MFA)
- L’adaptation intelligente des politiques d’accès selon l’utilisateur, le périphérique et l’emplacement
Cette semaine, nous allons aller plus loin en détaillant comment implémenter concrètement Microsoft Identity dans une application, notamment grâce à Azure Active Directory (Azure AD).
Microsoft Identity : Comment l'implémenter ?Lorsqu’il s’agit de sécuriser l’authentification et la gestion des accès dans une application, Microsoft Identity est une solution incontournable. Mais comment l’implémenter efficacement ? Dans cet article, nous allons détailler les étapes nécessaires pour intégrer Microsoft Identity à une application, en mettant l’accent sur Azure Active Directory (Azure AD) et les bonnes pratiques de configuration.
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un compte Microsoft Azure
- Un abonnement Azure AD (la version gratuite suffit pour les bases)
- Une application web ou API dans laquelle intégrer Microsoft Identity
- Un environnement de développement (ex. : Visual Studio, VS Code, .NET SDK si développement en C#)
Création d’un Azure Active Directory (Azure AD)
- Connectez-vous au portail Azure : portal.azure.com
- Recherchez Azure Active Directory et cliquez sur Créer un annuaire
- Renseignez les informations requises (nom de l’organisation, pays, etc.)
- Une fois l’annuaire créé, notez son Identifiant de locataire (Tenant ID), qui sera nécessaire pour l’authentification
Enregistrement d’une application dans Azure AD
- Dans le portail Azure, accédez à Azure Active Directory > Applications d’entreprise > Nouvel enregistrement
- Donnez un nom à votre application
- Choisissez un type d’application :
- Applications monopages (SPA) pour les applications web front-end (React, Angular, Vue.js, etc.)
- Applications web et API pour les backends et services REST
- Renseignez l’URL de redirection (exemple :
https://localhost:5001/signin-oidc
pour une appli .NET) - Une fois l’application enregistrée, récupérez l’Application ID (Client ID) et le Tenant ID
Configuration de l’authentification dans l’application
Dans une application ASP.NET Core
Ajoutez les dépendances nécessaires à votre projet :
dotnet add package Microsoft.AspNetCore.Authentication.OpenIdConnect
dotnet add package Microsoft.Identity.Web
Ajoutez la configuration dans `appsettings.json` :
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "votre-tenant-id",
"ClientId": "votre-client-id",
"CallbackPath": "/signin-oidc"
}
}
Ajoutez Microsoft Identity dans `Program.cs` :
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(builder.Configuration.GetSection("AzureAd"));
builder.Services.AddAuthorization();
var app = builder.Build();
app.UseAuthentication();
app.UseAuthorization();
app.Run();
Cela permet à l’application d’utiliser **Azure AD comme fournisseur d’identité et de gérer les connexions.
Mise en place de l’authentification et des rôles
Dans Azure AD, vous pouvez définir des rôles et groupes pour restreindre l’accès à certaines fonctionnalités :
- Allez dans Azure Active Directory > Groupes et créez un nouveau groupe (ex. : Admin, Employé, Étudiant)
- Ajoutez des utilisateurs à ces groupes
- Dans `appsettings.json`, ajoutez :
"AzureAd": {
"AllowGroups": ["Admin", "Employé"]
}
- Dans votre code, limitez l’accès selon les groupes :
[Authorize(Roles = "Admin")]
public IActionResult AdminDashboard() {
return View();
}
Cela garantit que seuls les utilisateurs appartenant au groupe Admin peuvent accéder à cette page.
Exemple concret en vidéo :
Sécurisation avec Multi-Factor Authentication (MFA)
Il est recommandé d’activer MFA pour renforcer la sécurité :
- Dans Azure AD, accédez à Sécurité > MFA
- Activez MFA pour les utilisateurs concernés
- Sélectionnez les méthodes autorisées (SMS, Authenticator, FIDO2)
- Azure AD demandera désormais une deuxième authentification aux utilisateurs lors de la connexion
Test et déploiement
Test en local
Exécutez votre application :
dotnet run
Accédez à l’URL (`https://localhost:5001/`) et testez la connexion avec un compte Azure AD
Déploiement sur Azure
- Hébergez votre application sur Azure App Services
- Configurez le gestionnaire d'identité pour éviter d’exposer des secrets d’authentification
- Mettez en place des politiques d’accès conditionnel pour restreindre l’accès selon des critères spécifiques (IP, périphérique, localisation)
Conclusion
L’implémentation de Microsoft Identity via Azure AD apporte une solution complète pour gérer l’authentification et sécuriser les accès. Grâce aux tokens, rôles, SSO et MFA, elle garantit une authentification sécurisée pour les utilisateurs et les entreprises.
Sources
Adman, Nicholas, et Kyle Marsh. “What Is the Microsoft Identity Platform for Developers?” YouTube, YouTube, www.youtube.com/watch?v=uDU1QTSw7Ps. (Accédé le 12 Fév. 2025)
Malone, Andry, "Microsoft Identity, Authentication & Authorisation Made Easy!" Youtube, Youtube, https://www.youtube.com/watch?v=zS79FDhAhBs. (Accédé le 12 Fév. 2025)
Flores, John. Diagram Microsoft Identity Platform For Developers. Integrate Applications with Microsoft Entra ID and the Microsoft Identity Platform, https://learn.microsoft.com/en-us/security/zero-trust/develop/integrate-apps-microsoft-identity-platform. (Accédée le 12 Fév. 2025)
Commentaires