Intégration Microsoft Entra
L'intégration Microsoft Entra offre une visibilité complète sur votre infrastructure Microsoft Entra ID (anciennement Azure Active Directory) et Azure RBAC, en enrichissant votre gouvernance NHI d'un contexte détaillé sur les identités, les permissions et les identifiants.
Vue d'ensemble
Cette intégration est fournie directement dans la plateforme GitGuardian et ne nécessite pas l'installation de GitGuardian Scout. Elle récupère des données d'identité complètes depuis Microsoft Entra ID via l'API Microsoft Graph et collecte les données Azure RBAC (Role-Based Access Control) pour les abonnements Azure spécifiés. Cela enrichit votre graphe de sécurité d'un contexte détaillé sur les identifiants des service principals, leurs permissions et le blast radius potentiel en cas de fuite.
Fonctionnalités clés
- Découverte complète des identités : récupère toutes les données Microsoft Entra dont les utilisateurs, groupes, service principals, managed identities et applications
- Suivi des identifiants : découvre et suit les identifiants des service principals (client secrets et certificats)
- Analyse des permissions : cartographie les directory roles et les permissions Azure RBAC vers les service principals
- Enrichissement du graphe de sécurité : fournit un contexte détaillé sur la sensibilité des identifiants et le blast radius
- Authentification sécurisée : utilise la Workload Identity Federation (OIDC), éliminant le besoin d'identifiants à longue durée de vie
Données collectées
Données API Microsoft Graph (couche identité)
L'intégration collecte les informations d'identité suivantes :
- Users : profils utilisateurs, statut du compte et métadonnées
- Groups : informations sur les groupes, types et appartenances
- Service Principals : métadonnées et associations des service principals
- Managed Identities : managed identities system-assigned et user-assigned
- Applications : enregistrements d'applications et métadonnées
- Client Secrets : métadonnées des client secrets de service principals (les valeurs ne sont jamais accessibles)
- Certificates : métadonnées des certificats des service principals
- Directory Roles : attributions de directory roles Microsoft Entra
Données API Azure Management (couche RBAC)
Lorsque des identifiants d'abonnement Azure sont configurés, l'intégration collecte également :
- Role Definitions : définitions de rôles Azure RBAC natifs et personnalisés avec le détail des permissions
- Role Assignments : attributions de rôles pour les abonnements et les ressources
- Subscriptions : liste des abonnements Azure accessibles
Permissions requises
Permissions API Microsoft Graph
Les Application permissions suivantes sont requises pour l'application enregistrée :
Application.Read.AllDirectory.Read.AllGroup.Read.AllGroupMember.Read.AllUser.Read.AllAdministrativeUnit.Read.All
Note : ce sont des Application permissions (pas des Delegated permissions), qui fonctionnent sans utilisateur connecté et nécessitent un consentement administrateur.
Permissions API Azure Management
Pour la collecte des données Azure RBAC (optionnelle mais recommandée) :
- Rôle Reader sur chaque abonnement Azure que vous souhaitez surveiller
Il peut être attribué au niveau de l'abonnement ou au niveau d'un management group pour plusieurs abonnements.
Démarrer
Suivez ces étapes pour configurer l'intégration Microsoft Entra :
Étape 1 : Enregistrer l'application dans Azure Entra
- Connectez-vous au portail Azure
- Naviguez vers Azure Active Directory → App registrations → New registration
- Donnez un nom (par ex. « GitGuardian NHI Integration »)
- Sélectionnez Accounts in this organizational directory only
- Cliquez sur Register
- Conservez les valeurs suivantes :
- Application (client) ID — vous en aurez besoin pour la configuration GitGuardian
- Directory (tenant) ID — vous en aurez besoin pour la configuration GitGuardian
Étape 2 : Accorder les permissions API
- Dans votre app registration, allez dans API permissions
- Cliquez sur Add a permission
- Sélectionnez Microsoft Graph → Application permissions
- Ajoutez les permissions suivantes :
Application.Read.AllDirectory.Read.AllGroup.Read.AllGroupMember.Read.AllUser.Read.AllAdministrativeUnit.Read.All
- Cliquez sur Grant admin consent pour votre organisation
Important : les Application permissions nécessitent un consentement administrateur et fonctionnent sans utilisateur connecté.
Étape 3 : Configurer la Workload Identity Federation (OIDC)
- Dans votre app registration, allez dans Certificates & secrets
- Cliquez sur l'onglet Federated credentials
- Cliquez sur Add credential
- Sélectionnez Other issuer comme scénario de federated credential
- Remplissez les champs suivants :
- Issuer :
https://api.gitguardian.com(pour SaaS) ou l'URL de votre instance Self-Hosted - Subject identifier :
gitguardian-account-id:{your-gitguardian-account-id} - Name : un nom descriptif (par ex. « gitguardian-federation »)
- Description : description optionnelle
- Audience : laissez la valeur par défaut (
api://AzureADTokenExchange)
- Issuer :
- Cliquez sur Add

Trouver votre identifiant de compte GitGuardian : votre identifiant de compte est visible dans l'URL de votre tableau de bord GitGuardian : https://dashboard.gitguardian.com/workspace/{your-gitguardian-account-id}/
Exemple : si l'URL de votre tableau de bord est https://dashboard.gitguardian.com/workspace/123456/, alors votre identifiant de compte GitGuardian est 123456.
Étape 4 : Attribuer les permissions Azure RBAC (optionnel)
Si vous souhaitez collecter les données Azure RBAC :
- Naviguez vers Subscriptions dans le portail Azure
- Sélectionnez chaque abonnement à surveiller
- Allez dans Access control (IAM) → Add role assignment
- Sélectionnez le rôle Reader
- Attribuez-le à votre application enregistrée (recherchez par nom d'application)
- Conservez le ou les Subscription ID(s) pour la configuration GitGuardian
Étape 5 : Configurer l'intégration dans GitGuardian
- Dans la plateforme GitGuardian, naviguez vers Settings > Sources
- Cliquez sur Add Integration
- Sélectionnez Microsoft Entra
- Fournissez les informations suivantes :
- Integration Name : un nom convivial pour cette instance d'intégration
- Tenant ID : votre Azure AD Directory (tenant) ID de l'étape 1
- Client ID : votre Application (client) ID de l'étape 1
- Subscription IDs (optionnel) : liste séparée par des virgules d'identifiants d'abonnement Azure pour la collecte des données RBAC
- Cliquez sur Save
Finalisation
Vous êtes prêt ! GitGuardian va commencer à récupérer les données Microsoft Entra de votre tenant, en enrichissant votre graphe de sécurité d'un contexte complet sur les identités et permissions.
Une fois l'intégration active, vous pourrez consulter les données Microsoft Entra enrichies dans votre plateforme GitGuardian. L'inventaire NHI affichera toutes les entités découvertes : service principals, managed identities, client secrets et certificats avec des métadonnées complètes.

Chaque identifiant de service principal disposera d'un graphe de sécurité enrichi affichant :
- Quel service principal possède l'identifiant
- Quels directory roles et rôles RBAC sont attribués à ce service principal
- À quels groupes appartient le service principal (le cas échéant)
- Les permission statements issus des rôles Azure RBAC
- La période de validité de l'identifiant et son statut d'expiration
Instances d'intégration
Cette intégration prend en charge plusieurs instances, ce qui vous permet de :
- Surveiller plusieurs tenants Azure AD depuis un seul compte GitGuardian
- Séparer les environnements de production et de développement
- Suivre différentes unités organisationnelles avec des configurations de tenant distinctes
Chaque instance d'intégration est configurée indépendamment avec son propre tenant ID, client ID et liste d'abonnements.
Considérations de sécurité
- Aucun secret à longue durée de vie : l'intégration utilise la Workload Identity Federation, éliminant le besoin de client secrets
- Accès en lecture seule : toutes les permissions sont en lecture seule ; l'intégration ne peut pas modifier votre environnement Azure
- Jetons à courte durée de vie : les jetons d'accès sont gérés automatiquement et expirent en moins d'une heure
- Métadonnées d'identifiants uniquement : les valeurs des secrets ne sont jamais accessibles via l'API Microsoft Graph
- Moindre privilège : seules les permissions strictement nécessaires sont demandées
Résolution de problèmes
Problèmes courants
Erreur « Insufficient privileges » :
- Vérifiez que toutes les permissions API Microsoft Graph requises sont accordées
- Vérifiez que le consentement admin a été donné pour les Application permissions
Erreur « Invalid federated credential » :
- Vérifiez que l'URL Issuer correspond à votre instance GitGuardian (SaaS vs Self-Hosted)
- Confirmez le format du Subject identifier :
gitguardian-account-id:{your-account-id} - Vérifiez que votre identifiant de compte GitGuardian est correct
Données RBAC non visibles :
- Vérifiez que les Subscription IDs sont correctement saisis dans la configuration de l'intégration
- Confirmez que le rôle Reader est attribué à votre application sur chaque abonnement
- Vérifiez que les abonnements sont actifs
Federated credential ne fonctionne pas :
- Assurez-vous d'utiliser des Application permissions (pas des Delegated permissions)
- Vérifiez que le federated credential est ajouté sous « Certificates & secrets » → « Federated credentials »
- Vérifiez que l'identifiant n'a pas expiré (les federated credentials peuvent avoir des dates d'expiration)
Ressources supplémentaires
- Microsoft Entra Workload Identity Federation
- Microsoft Graph API Permissions Reference
- Azure RBAC Documentation
Autres intégrations
Pour des informations sur les autres intégrations (gestionnaires de secrets, systèmes CI/CD, sources d'infrastructure), reportez-vous à la documentation ggscout.