Service Principal
adDéfinition
Un Service Principal, dans Azure AD / Microsoft Entra ID, est l'identité opérationnelle locale à un tenant représentant une application, permettant à celle-ci de s'authentifier et d'accéder à des ressources sans intervention utilisateur, distincte de l'objet Application Registration qui définit quant à lui la configuration globale de l'application au niveau de son éditeur, potentiellement partagée entre plusieurs tenants. Chaque application enregistrée génère automatiquement un Service Principal correspondant dans le tenant où elle est utilisée, et une même Application Registration multi-tenant peut ainsi donner naissance à plusieurs Service Principals distincts, un par tenant client l'ayant consentie. L'authentification d'un Service Principal s'effectue via un secret client (client secret), un certificat X.509, ou, pratique désormais recommandée par Microsoft, une Managed Identity fédérée évitant tout stockage de secret. Les permissions accordées à un Service Principal, qu'elles soient de type délégué (au nom d'un utilisateur) ou d'application (autonomes, sans utilisateur), déterminent son périmètre d'accès à Microsoft Graph ou à d'autres API. Sur le plan sécurité, un Service Principal disposant de permissions d'application excessives, notamment RoleManagement.ReadWrite.Directory ou Application.ReadWrite.All, constitue une cible privilégiée d'escalade de privilèges cloud, un attaquant compromettant son secret pouvant s'octroyer des rôles Entra ID supplémentaires sans jamais interagir avec un compte utilisateur surveillé.
Fonctionnement technique
Un Service Principal s'authentifie avec client_id + client_secret (ou certificat) vers l'endpoint OAuth 2.0 de l'tenant. Il obtient un Access Token avec les permissions accordées (application permissions) ou au nom d'un utilisateur (delegated permissions). Les permissions application sont permanentes sans consentement utilisateur requis.
Attaques ciblant les Service Principals
- Client Secret Theft : Extraction depuis code source, Key Vault, variables CI/CD
- Illicit Consent Grant : App malveillante obtenant permissions étendues
- Service Principal Backdoor : Ajout d'un secret à un SP existant pour persistance
Audit et mitigation
- Audit des SP avec permissions application élevées (mail.read, directory.readwrite)
- Rotation régulière des client secrets
- Préférer les Managed Identities aux client secrets
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h