Suivre les changements rapides dans votre tenant Microsoft 365, comme les modifications d’utilisateurs, les mises à jour de sécurité ou les attributions de rôles, peut sembler impossible sans visibilité centralisée.
Une solution consiste à utiliser Power Automate pour les journaux d’audit, afin de les transformer en un historique clair et exploitable au service de la traçabilité et de la sécurité. Dans ce guide, vous apprendrez à mettre cela en place étape par étape avec Power Automate et Microsoft Purview.
Besoin de support visuel ? Regardez notre vidéo « Comment créer un journal des modifications à l’échelle du tenant avec les journaux d’audit et Power Automate » pour une explication détaillée du sujet.
Procédures pour créer un journal des modifications du tenant
Centraliser le suivi des modifications évite les failles de sécurité et simplifie les audits de conformité dans tout votre environnement Microsoft 365.
📌 Cas d’utilisation : un journal automatisé des modifications du tenant vous aide à surveiller les activités critiques comme les changements d’autorisations, les mises à jour de politiques et les événements du cycle de vie des utilisateurs, tout en conservant une visibilité historique entre les services. Il transforme des journaux d’audit Microsoft Purview dispersés en un véritable atout de sécurité unifié.
📌 Prérequis : avant de commencer, assurez-vous de disposer de Microsoft 365 E3/E5, d’un accès à Power Automate, d’un rôle d’administrateur dans l’environnement (par exemple administrateur général, administrateur de sécurité ou administrateur de conformité), d’un accès au portail de conformité Microsoft Purview et des modules PowerShell (en particulier Microsoft Graph et ExchangeOnlineManagement).
Nous vous recommandons de consulter ⚠️Points de vigilance avant de poursuivre.
📌 Stratégies de déploiement :
Méthode 1 : activer l’audit unifié
L’activation de l’audit unifié garantit que Microsoft 365 enregistre chaque modification critique dans votre tenant.
📌 Cas d’utilisation : c’est la procédure idéale lorsque vous configurez votre journal des modifications du tenant pour la première fois ou que vous vérifiez la couverture d’audit existante.
Procédure étape par étape :
- Accédez au portail Purview.
- Rendez-vous sur le portail de conformité Microsoft Purview, puis connectez-vous avec votre compte administrateur.
- Accédez à Audit.
- Dans le menu de gauche, sélectionnez Solutions > Audit.
- Si vous ne le trouvez pas, cliquez d’abord sur Afficher toutes les solutions.
- Activez la journalisation.
- Si l’audit est désactivé, une bannière bien visible s’affiche ; cliquez alors sur Commencer l’enregistrement de l’activité des utilisateurs et des administrateurs.
💡 Remarque : si aucune bannière n’apparaît, l’audit est déjà activé.
- Vérifiez la couverture.
- Confirmez que ces services sont inclus :
- Exchange Online
- SharePoint/OneDrive
- Microsoft Teams
- Microsoft Entra ID
- Confirmez que ces services sont inclus :
- Attendez l’activation.
- Laissez 24 heures au système pour générer l’ensemble des journaux. Les premiers événements apparaissent en moins d’une heure.
En moins de 24 heures, Microsoft 365 commencera à enregistrer les événements, comme les créations d’utilisateurs, les changements d’autorisations et les mises à jour de politiques. Ces journaux d’audit Microsoft Purview deviennent la source de données de votre flux Power Automate.
Méthode 2 : utiliser Power Automate pour consigner les modifications à partir des événements d’audit
Automatisez le suivi à l’échelle du tenant en transformant les données d’audit brutes en enregistrements exploitables.
📌 Cas d’utilisation : procédez ainsi lorsque vous avez besoin d’une journalisation continue et personnalisée de modifications précises, comme les mises à jour d’autorisations ou les modifications de boîtes aux lettres.
Procédure étape par étape :
- Créez une inscription d’application Azure AD.
- Rendez-vous sur Azure Portal > Entra ID > App registrations > New registration.
- Accordez ces autorisations d’API :
- AuditLog.Read.All (pour Microsoft Graph)
- ActivityFeed.Read (Office 365 Management APIs)
- Créez un nouveau flux.
- Accédez à Power Automate, cliquez sur Créer, puis choisissez Flux de cloud planifié.
- Nommez-le (par exemple Tenant Change Logger).
- Réglez l’exécution sur toutes les heures (paramètre par défaut), puis cliquez sur Créer.
- Obtenez votre jeton de sécurité.
- Ajoutez une nouvelle action :
- Cliquez sur Rechercher, puis sélectionnez Azure AD > Get OAuth 2.0 Token.
- Renseignez :
- Authority URL: https://login.microsoftonline.com
- Client ID : [depuis votre application Azure AD]
- Client Secret : [depuis votre application Azure AD]
- Resource : https://graph.microsoft.com
- Ajoutez une nouvelle action :
- Ajoutez le récupérateur de journaux d’audit.
- Cliquez sur + Nouvelle étape, recherchez HTTP et sélectionnez HTTP-HTTP.
- Configurez :
- Method : GET
- URI : collez https://graph.microsoft.com/v1.0/auditLogs/directoryAudits
- En-têtes :
{
"Authorization": "Bearer <PASTE_TOKEN_HERE>"
}
- Filtrez les événements importants.
- Cliquez sur + Nouvelle étape, puis recherchez Filter array.
- Dans From, sélectionnez value issu de l’étape HTTP.
- Collez ceci dans le champ de filtre :
@or(
equals(item()?[‘activityDisplayName’], ‘Add member to role’),
equals(item()?[‘activityDisplayName’], ‘Delete user’)
)
- Cela ne capture que les changements de rôles et d’autorisations. Personnalisez ici votre liste de surveillance.
- Enregistrez dans votre journal.
- Ajoutez l’action finale, puis recherchez SharePoint > Add item to list.
- Sélectionnez votre site ou votre liste.
- Mappez les champs :
- Timestamp : activityDateTime
- User : userPrincipalName
- Action : activityDisplayName
- Testez et activez.
- Lancez l’exécution manuellement avec le bouton Test.
- Vérifiez que les événements apparaissent bien dans votre destination de journalisation.
Votre flux alimentera automatiquement votre journal des modifications toutes les heures avec des événements tels que des suppressions d’utilisateurs ou des mises à jour de politiques. Vous disposerez alors d’un historique centralisé et consultable pour vos audits ou vos investigations d’incidents.
Méthode 3 : utiliser PowerShell pour exporter et stocker les journaux d’audit
PowerShell offre un contrôle précis pour extraire et stocker les enregistrements de modifications critiques.
📌 Cas d’utilisation : utilisez cette méthode lorsque vous avez besoin d’un filtrage poussé, d’une planification personnalisée ou d’exports CSV directs pour l’analyse historique.
Procédure étape par étape :
- Connectez-vous à Exchange Online.
- Ouvrez Windows Terminal (Admin), puis exécutez :
Connect-ExchangeOnline -Device
# Authenticate with your admin account when prompted
- Recherchez et exportez les journaux.
- Exécutez cette commande pour capturer les événements clés :
Search-UnifiedAuditLog -StartDate (Get-Date).AddDays(-1) -EndDate (Get-Date) `-Operations "Add-MailboxPermission", "Update-User", "Add-MemberToRole" `-ResultSize 1000 | Export-Csv "C:\AuditLogs\Changes.csv" -NoTypeInformation
- Automatisez les exports quotidiens.
- Enregistrez le script sous le nom Export-AuditLogs.ps1.
- Créez une tâche dans le Planificateur de tâches Windows ou utilisez votre plateforme RMM (par exemple NinjaOne) pour déployer ce script sur les appareils de votre entreprise :
- Déclencheur : tous les jours à 2 h (ou à l’heure la plus adaptée à votre entreprise).
- Action : powershell.exe -File
"C:\Scripts\Export-AuditLogs.ps1"
Votre tâche planifiée générera des fichiers CSV quotidiens (par exemple Changes_08-15-2023.csv) contenant des enregistrements horodatés des actions d’administration, prêts pour l’analyse dans Excel (utilisez Power Query pour analyser les champs JSON), le stockage à long terme (Azure Blob ou partages réseau) et les audits manuels ou l’ingestion dans un SIEM.
Méthode 4 : stocker les journaux dans un emplacement SharePoint ou Teams centralisé
Stockez votre historique des modifications là où les équipes peuvent y accéder et collaborer en toute sécurité.
📌 Cas d’utilisation : idéal pour les équipes qui ont besoin de pistes d’audit partagées et consultables, avec des autorisations personnalisables.
Procédure étape par étape :
- Créez un emplacement de journalisation SharePoint.
- Accédez à SharePoint Online > + Nouveau > Liste.
- Nom : TenantChangeLog.
- Créez ces colonnes :
| Nom de la colonne | Type |
| Timestamp | Date et heure |
| User | Personne |
| Operation | Une seule ligne |
| Workload | Choix (options : Exchange, Teams, Entra ID) |
| Item | Une seule ligne |
- Alimentez automatiquement la liste avec Power Automate.
- Modifiez votre flux Power Automate existant (issu de la méthode 2) :
- Remplacez l’action finale par : SharePoint > Add item to list.
- Mappez les champs :
- Timestamp: activityDateTime
- User : userPrincipalName
- Operation : activityDisplayName
- Workload : service
- Item : targetResources
- Modifiez votre flux Power Automate existant (issu de la méthode 2) :
- Définissez les autorisations.
- Dans SharePoint :
- Accédez à Paramètres > Autorisations de la liste.
- Accordez l’accès en lecture aux auditeurs.
- Limitez la modification aux administrateurs de sécurité.
- Dans SharePoint :
Votre journal automatisé des modifications se mettra à jour toutes les heures avec les nouveaux événements. Les membres de l’équipe peuvent désormais rechercher les modifications passées dans SharePoint/Teams, définir des alertes sur les opérations critiques (par exemple « Add member to role ») et créer des tableaux de bord Power BI à partir de la liste.
Méthode 5 : utiliser le registre pour étiqueter les événements des terminaux ou y associer des métadonnées d’appareil
Ajoutez le contexte des terminaux à vos pistes d’audit pour un traçage précis des incidents.
📌 Cas d’utilisation : utilisez cette méthode lorsque vous devez relier des actions à des appareils ou à des services précis lors d’investigations de sécurité.
Procédure étape par étape :
- Créez les clés de registre.
- Ouvrez Exécuter (Win + R), puis saisissez regedit pour ouvrir l’Éditeur du registre.
- Assurez-vous de disposer de privilèges d’administrateur.
- Accédez à HKEY_LOCAL_MACHINE\SOFTWARE\Org\TenantMetadata
- Si la clé TenantMetadata est absente, créez-la (clic droit > Nouveau > Clé).
- Ajoutez deux valeurs de chaîne (faites un clic droit dans la clé > Nouveau > Valeur chaîne).
- Nommez la première chaîne DeviceTag.
- Saisissez sa valeur : NYC-Laptop-001.
- Nommez la seconde chaîne Department.
- Saisissez sa valeur : Finance.
- Nommez la première chaîne DeviceTag.
- Ouvrez Exécuter (Win + R), puis saisissez regedit pour ouvrir l’Éditeur du registre.
- Automatisez le déploiement des étiquettes (stratégie de groupe).
- Ouvrez la console de gestion des stratégies de groupe.
- Créez un nouvel objet de stratégie de groupe dans Configuration ordinateur > Préférences > Registre :
- Saisissez les informations suivantes :
- Action : Créer
- Ruche : HKEY_LOCAL_MACHINE
- Chemin de la clé : SOFTWARE\Org\TenantMetadata
- Valeur : DeviceTag, puis définissez le type sur REG_SZ et les données sur « %COMPUTERNAME% »
- Saisissez les informations suivantes :
- Enrichissez les journaux d’audit :
- Avec PowerShell, ajoutez le script ci-dessous à l’export :
$deviceTag = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\TenantMetadata").DeviceTag$dept = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\TenantMetadata").Department[PSCustomObject]@{} | Export-Csv "C:\Logs\EndpointEvents.csv" -Append |
- Power Automate : ajoutez une action HTTP vers l’API de gestion des appareils pour récupérer les étiquettes pendant le traitement des journaux.
Méthode 6 : appliquer une stratégie de groupe pour l’audit des événements sur les terminaux
Étendez votre visibilité aux appareils on-premise pour une supervision hybride complète.
📌 Cas d’utilisation : idéal pour les entreprises disposant d’appareils Windows 11 dans des environnements Azure AD hybrides et ayant besoin de suivre l’activité locale.
Procédure étape par étape :
- Ouvrez la gestion des stratégies de groupe.
- Appuyez sur Win + R, puis saisissez gpmc.msc pour ouvrir l’outil.
- Accédez à Forêt > Domaines > [votre domaine].
- Créez une nouvelle politique.
- Faites un clic droit sur Objets de stratégie de groupe, puis sélectionnez Nouveau.
- Nommez-la Endpoint-Audit-Policy.
- Configurez les paramètres d’audit.
- Accédez à Configuration ordinateur > Stratégies > Paramètres Windows > Paramètres de sécurité > Configuration avancée de la stratégie d’audit > Stratégies d’audit.
- Activez les éléments suivants :
- Gestion de comptes : Auditer la gestion des comptes d’utilisateur (Succès)
- Gestion de comptes : Auditer la gestion des groupes de sécurité (Succès)
- Ouverture/Fermeture de session : Auditer l’ouverture de session (Succès, Échec).
- Liez l’objet à une unité organisationnelle.
- Faites un clic droit sur l’OU (unité organisationnelle) cible (par exemple Hybrid-Workstations).
- Sélectionnez Lier un objet de stratégie de groupe existant, puis choisissez Endpoint-Audit-Policy.
Les appareils Windows 11 commenceront à consigner les événements spécifiés dans leur journal d’événements Sécurité local. Vous pouvez désormais corréler les événements pour faire correspondre les connexions locales aux connexions Entra ID, transférer les journaux via Azure Monitor pour les ingérer dans Sentinel/Purview, et enrichir les journaux cloud en ajoutant le contexte de l’appareil grâce aux étiquettes de registre de la méthode 5.
Méthode 7 : utiliser CMD (invite de commande) et la CLI (interface en ligne de commande) pour la validation et le diagnostic des journaux
Les diagnostics en ligne de commande permettent de valider rapidement votre infrastructure de journalisation.
📌 Cas d’utilisation : idéal pour résoudre les problèmes d’événements manquants, tester la connectivité ou vérifier le contenu des journaux pendant les déploiements.
Procédure étape par étape :
- Vérifiez les politiques d’audit.
- Ouvrez l’invite de commande (Admin) en la recherchant dans la barre des tâches.
- Exécutez cette commande : auditpol /get /category :*
- Repérez les catégories Gestion de comptes et Ouverture de session pour confirmer que l’objet de stratégie de groupe de la méthode 6 est bien appliqué.
- Vérifiez les événements de sécurité locaux.
- Exécutez cette commande :
wevtutil qe Security "/q:*[System[(EventID=4720 or EventID=4625)]]" /f:text /c:5
- Testez la connectivité cloud.
- Exécutez cette commande :
nslookup graph.microsoft.com && ping manage.office.com
- Confirmez la résolution DNS pour les récupérations de journaux via Power Automate/PowerShell.
- Inspectez les journaux exportés.
- Exécutez cette commande :
type "C:\Logs\TenantChangeLog.csv" | findstr "Add member"
- Cette commande recherche les changements d’autorisations dans les exports PowerShell.
Après avoir exécuté ces diagnostics, vous aurez confirmé que les modifications de stratégie de groupe et de registre sont actives, identifié les événements manquants ou les obstacles de connectivité, et ajusté vos flux Power Automate ou vos scripts si nécessaire.
⚠️ Points de vigilance
Cette section met en avant les difficultés potentielles à garder à l’esprit en suivant ce guide.
| Risques | Conséquences possibles | Solutions |
| 1. Modifications de registre incorrectes | Le système d’exploitation peut devenir instable et le démarrage échouer. | Sauvegardez le registre (regedit > Fichier > Exporter) ou créez un point de restauration du système. Regardez Comment sauvegarder et restaurer le registre Windows pour plus de détails. |
| 2. Audit désactivé | Vous passez à côté de modifications critiques (suppressions d’utilisateurs, attributions de rôles) | Vérifiez via la bannière du portail Purview ou avec PowerShell : Get-AdminAuditLogConfig | fl UnifiedAuditLogIngestionEnabled |
| 3. Jeton Power Automate expiré | Échecs de flux ; l’ingestion des journaux s’arrête | Mettez en place une rotation via Azure Key Vault et un flux de renouvellement des jetons ; configurez des alertes d’expiration |
| 4. Audit par stratégie de groupe trop large | Saturation du journal d’événements ; les événements critiques deviennent illisibles | Testez d’abord les politiques dans une OU (unité organisationnelle) de préproduction ; utilisez des filtres précis (par exemple EventID=4720 uniquement) |
| 5. Dépassement des limites de débit de l’API | Événements manqués ; enregistrements de modifications incomplets | Ajoutez une logique de nouvelle tentative sur HTTP 429 dans Power Automate ; fractionnez les requêtes volumineuses (>5 000 enregistrements) |
| 6. Application Azure AD dotée de trop d’autorisations | Failles de sécurité via des identifiants compromis | Appliquez le moindre privilège : n’accordez que AuditLog.Read.All et ActivityFeed.Read |
| 7. Ignorer les durées de conservation des journaux | Perte de données définitive (Purview : conservation de 90 à 180 jours) | Mettez en place des exports CSV automatisés vers Azure Blob Storage avant l’expiration de la conservation. |
Points clés à considérer pour créer un journal des modifications du tenant
Planifiez de façon stratégique pour que votre solution évolue en toute sécurité et à moindre coût.
Politiques de conservation
Les journaux d’audit de Microsoft 365 ont des durées de conservation strictes :
- Licences E3 : 90 jours (par défaut)
- E5/Audit Premium : de 180 jours à 10 ans (avec modules complémentaires)
Pensez à automatiser des exports hebdomadaires vers Azure Blob Storage ou SharePoint pour l’archivage à long terme.
Maîtrise des coûts
Les flux Power Automate sont gratuits jusqu’à 5 000 actions par mois, mais les connecteurs premium sont facturés en supplément, à 15 $ par utilisateur et par mois, selon la grille tarifaire Microsoft pour Power Automate.
Microsoft Purview Audit Premium est par ailleurs inclus dans Microsoft 365 E5 ou dans le module complémentaire Microsoft 365 E5 Compliance, facturé 12 $ par utilisateur et par mois, et offre une conservation des journaux d’audit d’un an par défaut, avec des options jusqu’à 10 ans, selon Microsoft Learn au 11 juillet 2025.
💡 Conseil : filtrez tôt les événements à forte valeur pour réduire le volume.
Limites d’export
La limitation de débit de l’API peut atteindre 2 000 requêtes par tranche de 10 minutes pour chaque tenant. De leur côté, les plafonds d’enregistrements sont de 5 000 entrées par appel PowerShell/API. Vous pouvez utiliser la pagination (@odata.nextLink) et des recherches fractionnées :
Search-UnifiedAuditLog -StartDate $start -EndDate $end -SessionCommand ReturnLargeSet
Délégation multi-tenant (MSP)
Tirez parti d’Azure Lighthouse pour centraliser la collecte des journaux sans changer de contexte : intégrez les tenants clients via des modèles ARM, interrogez tous les journaux de modifications des tenants depuis un tableau de bord unique et limitez les accès avec des rôles RBAC.
Comment NinjaOne simplifie-t-il la journalisation d’audit ?
Unifiez et automatisez le suivi des modifications à l’échelle du tenant, dans le cloud comme sur les terminaux.
- Déploiement automatisé de scripts : planifiez des scripts PowerShell sur les appareils Windows 11 pour centraliser les journaux d’audit de Microsoft 365, d’Entra ID et des systèmes locaux dans le référentiel NinjaOne.
- Alertes en temps réel et gestion des tickets : déclenchez des notifications et créez automatiquement des tickets pour les événements critiques :
- Élévations de privilèges
- Accès à des boîtes aux lettres sensibles
- Suppressions d’utilisateurs
- Corrélation unifiée des journaux : combinez les journaux de modifications du tenant avec les événements des terminaux pour détecter les anomalies, comme des connexions d’administrateur depuis de nouveaux appareils ou des changements de politiques en dehors des heures de travail
- Tableau de bord de conformité multi-tenant : pour les MSP : visualisez tous les journaux automatisés de modifications de vos clients dans une interface unique, filtrez par gravité ou par charge de travail et générez des rapports prêts pour l’audit.
Journaux d’audit Power Automate : atteignez un haut niveau de conformité
Centraliser votre journal des modifications du tenant transforme des événements dispersés en renseignements de sécurité exploitables, et garantit à la fois la préparation aux audits et la détection des menaces en temps réel.
Déployez dès maintenant ces techniques pour retracer instantanément les compromissions telles que les élévations de privilèges, prouver votre conformité lors des audits sans précipitation, et dormir sur vos deux oreilles en sachant que chaque modification critique est suivie.
Sujets connexes
- Guide complet : comment lire les journaux de Windows Update
- Comment lire les journaux de Windows Update : le guide
- Qu’est-ce qu’un audit informatique ? Guide pratique
- Allez plus loin dans l’automatisation avec NinjaOne
Guide de démarrage rapide
NinjaOne propose plusieurs fonctionnalités :
- Suivi des activités système
- La plateforme suit différentes activités système sur les appareils et les organisations
- Ces activités comprennent :
- Les enregistrements et suppressions d’appareils
- Les connexions et déconnexions des utilisateurs
- Les déplacements d’appareils entre organisations
- Les activités de gestion des correctifs
- Les exécutions de scripts d’automatisation
- Capacités d’audit pertinentes
- Le journal des activités de gestion des correctifs indique :
- Quelle action a été réalisée
- Qui a réalisé l’action
- Quand l’action a eu lieu
- Les politiques et appareils concernés
- Le journal des activités de gestion des correctifs indique :
- Potentiel d’intégration
- Même si ce n’est pas explicitement détaillé pour Power Automate, NinjaOne dispose de capacités d’API qui peuvent être exploitées pour extraire les journaux d’audit
- Le système propose des options d’export des activités (format CSV)
Recommandation : pour créer un journal des modifications complet à l’échelle du tenant, vous devrez probablement :
- Utiliser l’API ou les fonctions d’export d’activités de NinjaOne
- Créer un flux Power Automate pour :
- Récupérer régulièrement les journaux d’activité
- Consolider et mettre en forme les données
- Les stocker dans un emplacement centralisé (par exemple SharePoint, une base de données)
