Présentation
Microsoft Entra ID (anciennement Azure Active Directory) est le service Microsoft de gestion des identités et des accès basé sur le cloud. Les inscriptions d'applications permettent aux applications d'authentifier les utilisateurs et d'accéder aux ressources Azure de manière sécurisée.
Concepts clés
| Concept | Description |
|---|---|
| App Registration | Configuration qui permet à une application d'utiliser la plateforme d'identité Microsoft |
| Application (Client) ID | Identificateur unique de votre application |
| Tenant ID | Identificateur unique de votre locataire/répertoire Azure AD |
| Client Secret | Mot de passe de l'application (clients confidentiels uniquement) |
| Redirect URI | URL où les réponses d'authentification sont envoyées |
| API Permissions | Étendues d'accès que votre application demande |
| Service Principal | Identité créée dans votre locataire quand vous inscrivez une application |
Types d'applications
| Type | Cas d'usage |
|---|---|
| Web Application | Applications côté serveur, APIs |
| Single Page App (SPA) | Applications JavaScript/React/Angular |
| Mobile/Native App | Applications de bureau, mobile |
| Daemon/Service | Services en arrière-plan, APIs |
Flux de travail principal
Étape 1 : Inscrire l'application
Créez une inscription d'application dans le portail Azure ou en utilisant Azure CLI.
Méthode via le portail :
- Accédez à Azure Portal → Microsoft Entra ID → App registrations
- Cliquez sur « New registration »
- Fournissez le nom, les types de compte pris en charge et l'URI de redirection
- Cliquez sur « Register »
Méthode CLI : Voir references/cli-commands.md Méthode IaC : Voir references/BICEP-EXAMPLE.bicep
Il est fortement recommandé d'utiliser l'IaC pour gérer l'inscription d'applications Entra si vous utilisez déjà l'IaC dans votre projet, avez besoin d'une solution évolutive pour gérer de nombreuses inscriptions d'applications ou avez besoin d'un historique d'audit détaillé des modifications de configuration.
Étape 2 : Configurer l'authentification
Configurez les paramètres d'authentification en fonction du type de votre application.
- Applications web : Ajoutez des URI de redirection, activez les tokens ID si nécessaire
- SPAs : Ajoutez des URI de redirection, activez le flux d'octroi implicite si nécessaire
- Mobile/Bureau : Utilisez
http://localhostou un schéma d'URI personnalisé - Services : Aucun URI de redirection nécessaire pour le flux d'authentification par credentials client
Étape 3 : Configurer les permissions d'API
Accordez à votre application la permission d'accéder aux APIs Microsoft ou à vos propres APIs.
Permissions Microsoft Graph courantes :
User.Read- Lire le profil utilisateurUser.ReadWrite.All- Lire et écrire tous les utilisateursDirectory.Read.All- Lire les données du répertoireMail.Send- Envoyer un mail en tant qu'utilisateur
Détails : Voir references/api-permissions.md
Étape 4 : Créer les credentials client (si nécessaire)
Pour les applications clientes confidentielles (applications web, services), créez un client secret, un certificat ou une credential d'identité fédérée.
Client Secret :
- Accédez à « Certificates & secrets »
- Créez un nouveau client secret
- Copiez la valeur immédiatement (affichée une seule fois)
- Stockez en toute sécurité (Key Vault recommandé)
Certificat : Pour les environnements de production, utilisez des certificats au lieu de secrets pour une sécurité renforcée. Téléchargez le certificat via la section « Certificates & secrets ».
Credential d'identité fédérée : Pour l'authentification dynamique du client confidentiel à la plateforme Entra.
Étape 5 : Implémenter le flux OAuth
Intégrez le flux OAuth dans votre code d'application.
Voir :
- references/oauth-flows.md - Détails du flux OAuth 2.0
- references/console-app-example.md - Implémentation d'application console
Modèles courants
Modèle 1 : Première inscription d'application
Guidez l'utilisateur à travers sa première étape d'inscription d'application pas à pas.
Informations requises :
- Nom de l'application
- Type d'application (web, SPA, mobile, service)
- URI de redirection (le cas échéant)
- Permissions requises
Script : Voir references/first-app-registration.md
Modèle 2 : Application console avec authentification utilisateur
Créez une application console .NET/Python/Node.js qui authentifie les utilisateurs.
Informations requises :
- Langage de programmation (C#, Python, JavaScript, etc.)
- Bibliothèque d'authentification (MSAL recommandée)
- Permissions requises
Exemple : Voir references/console-app-example.md
Modèle 3 : Authentification service à service
Configurez l'authentification daemon/service sans interaction utilisateur.
Informations requises :
- Nom du service/application
- API/ressource cible
- S'il faut utiliser un secret ou un certificat
Implémentation : Utilisez le flux Client Credentials (voir references/oauth-flows.md#client-credentials-flow)
Outils MCP et CLI
Commandes Azure CLI
| Commande | Objectif |
|---|---|
az ad app create |
Créer une nouvelle inscription d'application |
az ad app list |
Lister les inscriptions d'applications |
az ad app show |
Afficher les détails de l'application |
az ad app permission add |
Ajouter une permission d'API |
az ad app credential reset |
Générer un nouveau client secret |
az ad sp create |
Créer un service principal |
Référence complète : Voir references/cli-commands.md
Bibliothèque d'authentification Microsoft (MSAL)
MSAL est la bibliothèque recommandée pour intégrer la plateforme d'identité Microsoft.
Langues prises en charge :
- .NET/C# -
Microsoft.Identity.Client - JavaScript/TypeScript -
@azure/msal-browser,@azure/msal-node - Python -
msal
Exemples : Voir references/console-app-example.md
Bonnes pratiques de sécurité
| Pratique | Recommandation |
|---|---|
| Ne jamais coder en dur les secrets | Utilisez les variables d'environnement, Azure Key Vault ou l'identité managée |
| Faire tourner les secrets régulièrement | Définissez l'expiration, automatisez la rotation |
| Utiliser les certificats plutôt que les secrets | Plus sûr pour la production |
| Permissions avec le moins de privilèges | Demandez uniquement les permissions d'API requises |
| Activer l'authentification multifacteur | Exiger l'authentification multifacteur pour les utilisateurs |
| Utiliser l'identité managée | Pour les applications hébergées sur Azure, évitez complètement les secrets |
| Valider les tokens | Validez toujours l'émetteur, l'audience, l'expiration |
| Utiliser HTTPS uniquement | Tous les URI de redirection doivent utiliser HTTPS (sauf localhost) |
| Surveiller les authentifications | Utilisez les journaux de connexion Entra ID pour détecter les anomalies |
Références rapides SDK
- Azure Identity : Python | .NET | TypeScript | Java | Rust
- Key Vault (secrets) : Python | TypeScript
- Auth Events : .NET
Références
- OAuth Flows - Explications détaillées du flux OAuth 2.0
- CLI Commands - Référence Azure CLI pour les inscriptions d'applications
- Console App Example - Exemples complets et fonctionnels
- First App Registration - Guide pas à pas pour les débutants
- API Permissions - Comprendre et configurer les permissions
- Troubleshooting - Problèmes courants et solutions