M365Con 2027 – conférence en ligne gratuite · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Autorisations déléguées et d’application : choisir le bon modèle pour votre application

By ·

Bienvenue dans ce nouvel épisode de notre podcast et de notre série consacrée à la maîtrise de Microsoft 365, d’Azure et des outils de développement qui animent l’écosystème cloud moderne. Si vous avez déjà conçu une intégration, écrit un script ou déployé une automatisation d’entreprise avec l’API Microsoft Graph, vous vous êtes forcément heurté au mur des autorisations. Sécuriser votre locataire

Automatically translated with AI from the original post. Read the English original

▶ BLOGDelegated vs.Application Permission……M365.FM
Titelbild: Delegated vs. Application Permissions: Choosing the Right Model for Your App

Bienvenue dans ce nouvel épisode de notre podcast et de notre série consacrée à la maîtrise de Microsoft 365, d’Azure et des outils de développement qui animent l’écosystème cloud moderne. Si vous avez déjà conçu une intégration, écrit un script ou déployé une automatisation d’entreprise avec l’API Microsoft Graph, vous vous êtes forcément heurté au mur des autorisations. Sécuriser votre locataire tout en développant des applications fonctionnelles est l’un des équilibres les plus délicats que vous aurez à trouver, en tant qu’administrateur ou développeur. Le choix entre les différents modèles d’autorisations influe directement sur votre niveau de sécurité, la rapidité de vos déploiements et l’architecture globale de votre système.

Pour approfondir ce sujet complexe, nous avons récemment enregistré un épisode détaillé. Écoutez l’intégralité de la discussion audio sur Microsoft Graph Permissions and Consent Models Explained. Dans cet article de blog qui l’accompagne, nous reprendrons ces notions pour examiner les différences fondamentales entre autorisations déléguées et autorisations d’application, passer en revue les modèles de consentement, présenter les bonnes pratiques et proposer un cadre complet vous permettant de garder vos applications sécurisées et conformes.

Vue d’ensemble des autorisations de l’API Microsoft Graph

Avant d’entrer dans les subtilités des flux d’autorisation spécifiques, il est utile de comprendre ce que sont réellement les autorisations de l’API Microsoft Graph. Dans son principe, Microsoft Graph sert de passerelle unifiée vers les données hébergées dans les services Microsoft 365, notamment Exchange Online, SharePoint, Microsoft Teams, OneDrive et Azure Active Directory (Microsoft Entra ID). Plutôt que d’obliger les développeurs à s’authentifier auprès de plusieurs points de terminaison isolés, Microsoft Graph fournit un point de terminaison REST unique. Cela dit, comme cette API ouvre l’accès à presque tous les recoins du patrimoine numérique d’une organisation, la sécuriser exige un cadre d’autorisations robuste et granulaire.

Autorisations déléguées et autorisations d’application

Lorsque vous enregistrez une application dans la plateforme d’identité Microsoft, vous devez déclarer explicitement la manière dont elle va interagir avec les ressources. Il s’agit, au fond, de choisir entre deux types d’autorisations principaux : les autorisations déléguées et les autorisations d’application. Ce choix détermine la façon dont votre application s’authentifie, au nom de qui ou de quoi elle agit, et les limites des données auxquelles elle peut accéder.

Les autorisations déléguées sont conçues pour les applications côté client ou orientées utilisateur, comme les applications web monopage, les applications mobiles ou les utilitaires de bureau, dont un utilisateur connecté est activement présent. Dans ce modèle, votre application agit *au nom de* l’utilisateur. Elle ne peut accéder qu’aux données et exécuter uniquement les actions que cet utilisateur est lui-même autorisé à effectuer. Lorsqu’un utilisateur lance l’application, il est invité à se connecter et à accorder explicitement son consentement, ce qui délivre un jeton d’accès OAuth 2.0 contenant à la fois l’identité de l’utilisateur et les étendues consenties.

Les autorisations d’application, à l’inverse, sont utilisées par les services en arrière-plan, les démons, les travaux web et les runbooks automatisés qui fonctionnent indépendamment de tout contexte utilisateur. Ici, l’application s’exécute avec sa propre identité. Elle utilise des informations d’identification client, comme un secret client, une paire de clés certificat public/privé ou une identité managée, pour obtenir un jeton d’accès propre à l’application auprès d’Azure AD. Comme aucun utilisateur n’est présent devant un clavier pour s’authentifier, ces autorisations s’étendent à l’ensemble des ressources du locataire. Par conséquent, elles présentent des risques de sécurité nettement plus élevés et exigent toujours le consentement explicite d’un administrateur de locataire.

Différences clés et cas d’usage

Comprendre quand mettre en œuvre chaque modèle d’autorisations permet d’éviter les goulets d’étranglement architecturaux et les failles de sécurité. Voyons un rapide comparatif :

Le choix du modèle dépend entièrement de l’architecture de votre application. Par exemple, si vous développez un tableau de bord interactif qui affiche le profil d’un utilisateur et sa boîte de réception personnelle, vous devez utiliser des autorisations déléguées. À l’inverse, si vous développez un script automatisé qui analyse chaque nuit, à minuit, toutes les boîtes aux lettres de l’organisation à des fins d’audit de conformité, des autorisations d’application sont nécessaires.

Autorisations déléguées dans Microsoft Graph

Fonctionnement des autorisations déléguées

L’accès délégué est étroitement lié à l’identité de l’utilisateur. Lorsque votre application demande une autorisation déléguée, elle demande en substance au serveur d’autorisation l’autorisation d’agir au nom de l’utilisateur connecté, dans des limites définies. Le jeton d’accès renvoyé par le flux de code d’autorisation OAuth contient des revendications d’étendue (scope) spécifiques qui reflètent à la fois les droits intrinsèques de l’utilisateur et les autorisations demandées par l’application.

Scénarios courants pour les autorisations déléguées

Les autorisations déléguées alimentent la plupart des intégrations de productivité au quotidien. Par exemple, si une application professionnelle de prise de notes doit synchroniser des fichiers vers le OneDrive d’un utilisateur, elle demande l’étendue Files.ReadWrite. Si l’utilisateur n’est pas autorisé à accéder à un document précis, l’API Graph rejettera la requête, même si l’étendue de l’application le permet en théorie. De même, les applications qui utilisent le SDK Microsoft Graph pour envoyer des notifications par e-mail automatisées au nom d’un utilisateur s’appuient sur des étendues déléguées telles que Mail.Send.

Considérations de sécurité et de consentement

Bien que les autorisations déléguées soient intrinsèquement plus sûres que les autorisations d’application à l’échelle du locataire, car elles sont limitées par les droits de l’utilisateur, elles présentent tout de même des défis de sécurité spécifiques. Si une application demande des étendues trop larges, comme un accès complet à la boîte aux lettres et au profil d’annuaire de l’utilisateur, une attaque par hameçonnage réussie ou la compromission de l’application pourrait exposer des données personnelles sensibles. Les développeurs doivent strictement respecter le principe du moindre privilège et ne demander que les étendues nécessaires au fonctionnement immédiat.

Autorisations d’application dans Microsoft Graph

Fonctionnement des autorisations d’application

Les autorisations d’application éliminent totalement l’intervention humaine dans le processus d’authentification. Au lieu d’interagir avec une invite de connexion, l’application s’authentifie directement auprès de Microsoft Entra ID à l’aide d’identifiants client. Le jeton obtenu contient des rôles d’application plutôt que des étendues déléguées, ce qui donne au principal de service un accès étendu et sans restriction à l’ensemble des ressources du locataire.

Quand utiliser les autorisations d’application

Vous devez réserver strictement les autorisations d’application aux charges de travail back-end, aux démons sans interaction humaine et aux intégrations système à système. Parmi les exemples figurent les moteurs de provisionnement automatique des utilisateurs, les systèmes de sauvegarde centralisés, les outils de réponse aux incidents de sécurité et les scripts de migration de locataire.

Consentement de l’administrateur et implications de sécurité

Comme les autorisations d’application contournent les contraintes propres à chaque utilisateur et accordent un accès à l’échelle du locataire, les utilisateurs standard ne peuvent pas les consentir. Seul un administrateur disposant de privilèges peut accorder le consentement pour une application. Une configuration erronée des autorisations d’application, par exemple l’octroi de Directory.ReadWrite.All ou Mail.ReadWrite.All à une application d’arrière-plan non fiable ou mal conçue, peut exposer l’ensemble du locataire Microsoft 365 à une compromission totale. Auditez régulièrement les principaux de service de vos applications d’entreprise.

Avantages et inconvénients des autorisations de l’API Microsoft Graph

Avantages

Inconvénients

Modèles de consentement et bonnes pratiques

Consentement utilisateur ou administrateur dans Microsoft Graph

Gérer la manière dont le consentement est obtenu est essentiel pour la gouvernance de l’organisation. Le consentement utilisateur permet à chaque personne d’autoriser des applications à accéder à ses données personnelles. Le consentement administrateur déplace le point de validation vers les administrateurs informatiques, qui évaluent les demandes des applications au nom de l’ensemble de l’organisation. Les référentiels de sécurité modernes des entreprises désactivent fréquemment le consentement utilisateur, ce qui impose que toute intégration d’application passe par des workflows formalisés de pré-approbation administrative.

Impact des stratégies du locataire sur les autorisations

Les stratégies de locataire d’entreprise peuvent modifier en profondeur le comportement de votre application à l’exécution. Si un administrateur a imposé des stratégies d’accès conditionnel strictes, par exemple l’exigence d’une authentification multifacteur (MFA) ou d’appareils joints à Azure AD hybride et conformes, une application qui tente d’obtenir un jeton Graph sans remplir ces critères sera bloquée. Les développeurs doivent concevoir leurs applications pour gérer avec élégance les échecs d’acquisition de jetons et fournir des étapes de remédiation claires.

Stratégies pour un flux de consentement fluide

Pour éviter les frictions pour les utilisateurs et les blocages administratifs, planifiez votre stratégie d’autorisations avant d’écrire le moindre code. Mettez en œuvre des schémas de consentement progressif : votre application demande les étendues d’identité de base dès le départ, et ne sollicite les autorisations de ressources spécialisées que lorsque l’utilisateur accède à ces fonctionnalités précises. Utilisez des workflows de pré-approbation automatisés dans Microsoft Entra ID pour accélérer le développement tout en conservant un contrôle de sécurité strict.

Erreurs courantes concernant les autorisations de l’API Microsoft Graph

Liste de contrôle des autorisations de l’API Microsoft Graph

Utilisez cette liste de contrôle opérationnelle pour guider votre équipe dans la conception, la mise en œuvre et l’audit des autorisations de l’API Microsoft Graph de manière sécurisée :

Conclusion

Naviguer parmi les autorisations de l’API Microsoft Graph ne doit pas être un exercice frustrant. En comprenant clairement les différences opérationnelles entre les autorisations déléguées (qui exigent un utilisateur connecté et s’exécutent dans les limites de cet utilisateur) et les autorisations d’application (qui s’exécutent sans contrainte en arrière-plan et exigent un consentement administrateur), vous pouvez concevoir des solutions sécurisées et évolutives. Adopter le principe du moindre privilège, imposer un audit rigoureux et exploiter les outils de gouvernance de l’entreprise permettront de protéger votre environnement Microsoft 365 sans freiner l’innovation.

Pour des conseils d’experts supplémentaires, des stratégies concrètes et des analyses approfondies de la sécurisation de votre environnement cloud, écoutez notre synthèse audio complète de l’épisode associé : Microsoft Graph Permissions and Consent Models Explained. Gardez vos autorisations rigoureuses, vos identifiants sécurisés et bon développement !

Microsoft Graph Microsoft Entra ID Microsoft 365 Exchange Online OneDrive SharePoint Microsoft Teams

Related articles

RSS