Recherche de ressources Azure
Énumérer, trouver et découvrir les ressources Azure de tous types entre les abonnements et groupes de ressources. Utilisez Azure Resource Graph (ARG) pour des requêtes rapides et transversales quand les outils MCP dédiés ne couvrent pas le type de ressource.
Quand utiliser cette compétence
Utilisez cette compétence quand l'utilisateur veut :
- Énumérer des ressources de tous types (VMs, applications web, comptes de stockage, applications conteneur, bases de données, etc.)
- Afficher des ressources dans un abonnement ou groupe de ressources spécifique
- Interroger les ressources entre plusieurs abonnements ou types de ressources
- Trouver des ressources orphelines (disques non attachés, NICs inutilisées, IPs inactives)
- Découvrir des ressources manquant des tags requis ou des configurations
- Obtenir un inventaire de ressources couvrant plusieurs types
- Trouver des ressources dans un état spécifique (défaillantes, provisionnement échoué, arrêtées)
- Répondre à « quelles ressources j'ai ? » ou « montrez-moi mes ressources Azure »
- Énumérer les applications web, sites ou App Services
⚠️ Avertissement : App Service / Web Apps n'ont pas de commande MCP
listdédiée. Les prompts comme « lister les sites web », « lister les applications web » ou « lister les services d'application » doivent passer par cette compétence pour utiliser Azure Resource Graph.
💡 Conseil : Pour les requêtes d'un seul type de ressource, vérifiez d'abord si un outil MCP dédié peut le gérer (voir le tableau de routage ci-dessous). Si aucun n'existe, utilisez Azure Resource Graph.
Référence rapide
| Propriété | Valeur |
|---|---|
| Langage de requête | KQL (sous-ensemble Kusto Query Language) |
| Commande CLI | az graph query -q "<KQL>" -o table |
| Extension | az extension add --name resource-graph |
| Outil MCP | extension_cli_generate avec intention pour az graph query |
| Meilleur pour | Requêtes multi-abonnements, ressources orphelines, audits de tags |
Outils MCP
| Outil | Objectif | Quand l'utiliser |
|---|---|---|
extension_cli_generate |
Générer des commandes az graph query |
Outil principal — générer des requêtes ARG à partir de l'intention utilisateur |
mcp_azure_mcp_subscription_list |
Énumérer les abonnements disponibles | Découvrir la portée d'abonnement avant d'interroger |
mcp_azure_mcp_group_list |
Énumérer les groupes de ressources | Affiner la portée des requêtes |
Flux de travail
Étape 1 : Vérifier un outil MCP dédié
Pour les requêtes d'un seul type de ressource, vérifiez si un outil MCP dédié peut le gérer :
| Type de ressource | Outil MCP | Couverture |
|---|---|---|
| Machines virtuelles | compute |
✅ Complète — lister, détails, tailles |
| Comptes de stockage | storage |
✅ Complète — comptes, blobs, tables |
| Cosmos DB | cosmos |
✅ Complète — comptes, bases de données, requêtes |
| Key Vault | keyvault |
⚠️ Partielle — secrets/clés uniquement, pas d'énumération de coffres |
| Bases de données SQL | sql |
⚠️ Partielle — nécessite le nom du groupe de ressources |
| Registres de conteneurs | acr |
✅ Complète — énumérer les registres |
| Kubernetes (AKS) | aks |
✅ Complète — clusters, pools de nœuds |
| App Service / Web Apps | appservice |
❌ Pas de commande list — utiliser ARG |
| Applications conteneur | — | ❌ Pas d'outil MCP — utiliser ARG |
| Event Hubs | eventhubs |
✅ Complète — espaces de noms, hubs |
| Service Bus | servicebus |
✅ Complète — files d'attente, rubriques |
Si un outil dédié est disponible avec couverture complète, utilisez-le. Sinon, passez à l'étape 2.
Étape 2 : Générer la requête ARG
Utilisez extension_cli_generate pour construire la commande az graph query :
mcp_azure_mcp_extension_cli_generate
intent: "query Azure Resource Graph to <demande utilisateur>"
cli-type: "az"
Voir Motifs de requête Azure Resource Graph pour les patterns KQL courants.
Étape 3 : Exécuter et formater les résultats
Exécutez la commande générée. Utilisez --query (JMESPath) pour mettre en forme la sortie :
az graph query -q "<KQL>" --query "data[].{name:name, type:type, rg:resourceGroup}" -o table
Utilisez --first N pour limiter les résultats. Utilisez --subscriptions pour définir la portée.
Gestion des erreurs
| Erreur | Cause | Correction |
|---|---|---|
resource-graph extension not found |
Extension non installée | az extension add --name resource-graph |
AuthorizationFailed |
Pas d'accès en lecture à l'abonnement | Vérifier RBAC — rôle Reader requis |
BadRequest sur la requête |
Syntaxe KQL invalide | Vérifier les noms de table/colonne ; utiliser =~ pour le matching de type insensible à la casse |
| Résultats vides | Pas de ressources correspondantes ou portée incorrecte | Vérifier le flag --subscriptions ; vérifier l'orthographe du type de ressource |
Contraintes
- ✅ Toujours utiliser
=~pour le matching de type insensible à la casse (les types sont en minuscules) - ✅ Toujours définir la portée des requêtes avec
--subscriptionsou--firstpour les grands tenants - ✅ Préférer les outils MCP dédiés pour les requêtes d'un seul type de ressource
- ❌ Ne jamais utiliser ARG pour la surveillance en temps réel (les données ont un léger délai)
- ❌ Ne jamais tenter de mutations via ARG (lecture seule)