GraphWarden vs Microsoft Dev Proxy

L'audit en développement rencontre l'enforcement en runtime.

Microsoft Dev Proxy et GraphWarden agissent tous deux sur le trafic Microsoft Graph API. Ils opèrent à des stades différents du cycle de vie et résolvent des problèmes différents. Cette page explique quand utiliser chacun, et pourquoi la plupart des organisations tirent parti des deux.

Ce que Dev Proxy fait bien

Microsoft Dev Proxy est un outil CLI open source publié par Microsoft. Dans un contexte Graph, son plugin GraphMinimalPermissionsGuidancePlugin intercepte les requêtes émises depuis le poste du développeur, compare les scopes présents dans le token aux scopes réellement requis, et rapporte les permissions superflues à la fin d'une session de recording.

C'est un outil bien conçu, activement maintenu, et réellement utile. Les équipes qui construisent des applications basées sur Graph — .NET, Node.js ou PowerShell SDK — devraient l'utiliser dans leur workflow de développement. Il comble un vrai manque : avant Dev Proxy, cartographier les endpoints Graph vers leur ensemble minimal de permissions était un exercice manuel et sujet à erreur.

Si vous n'utilisez pas Dev Proxy en développement, vous devriez probablement le faire. C'est gratuit, open source, et quelques minutes suffisent à l'installer.

Les limites de Dev Proxy

Dev Proxy est, selon la documentation de Microsoft elle-même, un outil de développement. Il n'est pas conçu comme runtime de production et ne prétend pas l'être. Cela laisse quatre problèmes non résolus une fois le code déployé.

1. Le drift dev-vers-prod des permissions

Votre développeur a nettoyé le manifeste avec Dev Proxy. Six mois plus tard, l'admin qui déploie l'application accorde User.Read.All au lieu de User.Read « au cas où ». Dev Proxy n'est plus dans la boucle. Le token qui va vers Graph en production a des scopes qui n'ont jamais été audités.

2. Les appelants tiers et hérités

Dev Proxy s'exécute sur la machine où le code est développé. Il n'a aucune prise sur les flux Power Automate, les connecteurs SaaS qui s'authentifient dans votre tenant, les applications vendeur, ou les scripts PowerShell exécutés sur des postes d'administration. On ne peut pas enregistrer ce qu'on ne possède pas.

3. Analyse de scopes, pas contrôle de données

Dev Proxy vous dit si User.ReadWrite.All peut être réduit à User.Read.All. Il ne vous dit pas — et ne peut pas appliquer — qu'une application autorisée à lire les utilisateurs ne devrait pas recevoir leurs numéros de téléphone personnels, adresses domicile ou dates de naissance. La minimisation au niveau des propriétés est hors scope par design.

4. Pas de trail d'audit production

Un rapport Dev Proxy vit dans un terminal sur le laptop d'un développeur. Il n'est ni horodaté, ni signé, ni centralisé par tenant, ni structuré pour export SIEM. Dans un environnement réglementé (Loi 25, RGPD, HIPAA), ce n'est pas une preuve.

Le modèle complémentaire

Les deux outils sont sur le même axe — le contrôle du trafic Graph — mais à deux extrémités opposées du cycle de vie logiciel.

Microsoft Dev Proxy

shift-left

dev machine

 

clean app manifest

production deployment

GraphWarden

shift-right

runtime, multi-tenant

Dev Proxy (shift-left, poste dev) → manifeste d'app propre → déploiement production → GraphWarden (shift-right, runtime, multi-tenant)

Dev Proxy garantit que votre application demande les bonnes permissions. GraphWarden garantit que ce qui transite effectivement par Graph API — depuis n'importe quelle application, la vôtre ou celle d'un tiers — respecte la politique de votre organisation.

Quand vous avez besoin des deux

Scénario 1 — Équipe produit interne construisant une application Graph

Les développeurs utilisent Dev Proxy pour rogner les scopes avant chaque release. GraphWarden s'exécute en production pour appliquer le filtrage par propriété et journaliser chaque appel pour audit.

Scénario 2 — Entreprise utilisant des applications Graph tierces

L'organisation n'a pas accès au code source du vendeur. Dev Proxy ne peut pas aider. GraphWarden intercepte les appels de l'application vendeur de façon transparente et applique la politique sans modifier l'application.

Scénario 3 — Environnement réglementé (Loi 25, RGPD, HIPAA)

Le responsable conformité a besoin de preuves que les données personnelles sont minimisées et que les accès sont journalisés par utilisateur, par application, par appel. Un rapport de session Dev Proxy sur le laptop d'un dev ne qualifie pas. Un trail d'audit GraphWarden, oui.

Scénario 4 — CSP ou MSP gérant plusieurs tenants clients

Dev Proxy n'est pas multi-tenant et s'exécute par développeur. GraphWarden est nativement multi-tenant et se déploie sur les tenants clients avec un cadre de politique unique.

Comparaison fonctionnelle

Un regard côte à côte sur ce que fait chaque outil — et où sa portée s'arrête.

Capacité Microsoft Dev Proxy GraphWarden
Modèle tarifaire Gratuit, open source Commercial, par tenant Microsoft
Éditeur Microsoft GraphWarden
Cible de déploiement CLI développeur (poste local) Service Windows ou Azure Container App
Stade du cycle de vie Développement Runtime de production
Mode opératoire Recording par session Enforcement inline 24/7
Multi-tenant Non Oui
Enforcement Non (avis uniquement) Oui (allow / filter / block / log)
Analyse des scopes de permission Oui (cas d'usage principal) Non (pas l'objectif)
Filtrage par propriété Non Oui
Scoping par objet (groupe AAD, attribut, AU) Non Oui
Transforms de données sur la réponse Non 9 types (mask, hash, redact, domain-only, initials, truncate, noise, regex, mask-start)
Couverture apps tierces / vendeur Non (accès code requis) Oui (tout appelant Graph)
Trail d'audit Sortie CLI locale Structuré, centralisé, par appel
Rapports conformité (Loi 25 / RGPD) Non Oui
Simulation d'erreurs / chaos testing Oui Non
Secrets en zero-knowledge N/A Oui
Résidence des données N/A Azure Canada Central (hébergé) ou votre infrastructure (sur site)

Ce que GraphWarden ajoute par-dessus Dev Proxy

Même après un passage propre avec Dev Proxy, GraphWarden ajoute quatre capacités distinctes sans équivalent dans l'outillage shift-left :

Enforcement en runtime

Politique appliquée sur chaque appel, pas un rapport en fin de session.

Minimisation au niveau des propriétés

Autoriser l'appel, filtrer les champs sensibles — sans modifier l'application.

Couverture des appelants hors de votre contrôle

SaaS tiers, Power Automate, scripts hérités — tous passent par la même politique.

Audit de niveau régulateur

Par tenant, par application, par appel, horodaté, exportable vers votre SIEM.

Voyez GraphWarden en action

Dev Proxy nettoie votre application avant sa mise en ligne. GraphWarden prend le relais au moment où elle entre en production. Demandez une démo et voyez comment les deux outils fonctionnent ensemble sur les données de votre propre tenant.

Bêta · Partenaires acceptés