Introduction
La gestion des permissions et des workflows dans Microsoft Intune a pris une tournure complexe avec l'introduction du principe de Multi Admin Approval (MAA). Ce mécanisme de sécurisation, conçu pour prévenir les modifications critiques réalisées par un seul compte administrateur compromis, inclut désormais les appels à l'API Microsoft Graph utilisant une authentification applicative (service principal).

Cette fonctionnalité peut cependant interférer avec des scripts et outils d'automatisation, se matérialisant par l'erreur "Header 'x-msft-approval-justification' is required to request approval". Cet article approfondira les raisons derrière cette erreur, son impact sur les scripts automatisés, et les solutions disponibles pour la contourner efficacement.
Bon à savoir
Pourquoi Microsoft pousse le concept de Multi Admin Approval ?
La motivation principale derrière cet effort est la prévention des abus liés à des comptes administrateurs compromis. Un exemple marquant, l'incident chez Stryker, a révélé comment l'abus d'un compte administrateur Intune pouvait provoquer une catastrophe massive, allant de la suppression accidentelle de contenu à des désastres impactant des milliers d'appareils.
Multi Admin Approval : un pare-feu supplémentaire
MAA fonctionne comme un pare-feu administratif, exigeant qu'une modification critique soit validée par un autre administrateur avant application. Ce processus ajoute une couche de protection pour les actions sensibles, comme :
- Suppression ou effacement de périphériques.
- Modifications RBAC (contrôle d'accès basé sur les rôles).
- Déploiement ou retrait d'applications.

Cependant, la MAA n'est pas une solution universelle et requiert une gestion et une documentation rigoureuse pour éviter les interruptions inutiles des workflows.
L'introduction de l'erreur x-msft-approval-justification
Avec l'évolution des politiques de MAA, Microsoft Graph applique désormais ces contrôles non seulement aux actions admin manuelles dans le portail Intune, mais également aux outils automatisés, scripts, et jonglages via service principal. Cela inclut les écritures sur des données Intune sensibles.
Exemple d'erreur rencontrée
Lorsqu'une soumission déclenchée via un script ou une application automatisée tente de modifier une ressource protégée dans Intune, Microsoft Graph génère une erreur, comme montré ci-dessous :

Décodage technique :
- La requête peut échouer malgré des permissions correctes dans Azure AD.
- MAA exige de manière obligatoire deux en-têtes de requête :
- x-msft-approval-justification : Premier en-tête requis pour initier une demande de validation.
- x-msft-approval-code : Requis pour soumettre la demande précédemment approuvée.
Attention
Exemple de script et détails des étapes
Ci-dessous, un exemple d'implémentation rencontrant l'erreur. Le script réalise plusieurs actions, depuis la génération de contenu Intune jusqu'à l'envoi des mises à jour via Microsoft Graph.
Authentification avec Microsoft Graph
Utilisez une authentification applicative (service principal) avec un App ID, tenant ID et secret client.
Création et téléchargement vers Azure Storage
1# Exemple de structure pour créer une application Intune2$graphAuth = Connect-MSGraph -AppId "<AppID>" -TenantId "<TenantID>" -ClientSecret "<Secret>"3Create-Win32AppContent -AppContext $graphAuthGénération du contenu et des métadonnées nécessaires.
Soumission et mise à jour finale
Une fois le contenu chargé, le script utilise un appel PATCH vers Intune pour finaliser la mise à jour. C'est ici que l'erreur peut être rencontrée :
1{2 "error": {3 "code": "BadRequest",4 "message": "Header 'x-msft-approval-justification' is required to request approval"5 }6}Contournement via exclusion
La meilleure approche pour éviter l'erreur en gardant la MAA active est d'exclure l'application ou le service principal en question. Cela permet des mises à jour automatiques fluides sans nécessiter une approbation manuelle à chaque étape.

Étapes pour configurer une exclusion MAA
- Naviguez dans le portail Intune et accédez aux politiques d'accès MAA.
- Ajoutez une exception pour votre service principal ou application utilisée par vos scripts.
- Testez les changements pour valider que les flux Graph ne rencontrent plus l'erreur.
Astuce
Finalité et recommandations
Multi Admin Approval est un atout majeur pour la sécurité. Il protège contre les abus administratifs et les intrusions. Cependant, son implication dans les workflows automatisés, bien que légitime, nécessite une adaptation. Assurez-vous de :
- Documenter les processus approuvés et les exclusions.
- Implémenter correctement les approbations dans vos scripts si nécessaire.
- Tester régulièrement vos automations avec les nouvelles politiques.
Maintenez un équilibre entre sécurité et continuité opérationnelle pour des environnements Intune efficaces et résilients.



