Guide utilisateur

EntraGUARD

Audit de configuration et de sécurité des tenants Microsoft Entra ID et des services Microsoft 365 associés
Version documentée 1.0 · Application de bureau Windows · Fonctionnement 100 % hors ligne · Lecture seule

À propos de ce guide

Ce guide décrit l'installation, la configuration et l'utilisation d'EntraGUARD, l'outil de bureau d'audit de sécurité pour Microsoft Entra ID (anciennement Azure Active Directory) et les services Microsoft 365 rattachés. Il s'adresse aux consultants en sécurité, administrateurs d'identité et auditeurs qui évaluent la posture d'un ou plusieurs tenants.

Aucune connaissance préalable de l'outil n'est requise. Les notions Entra ID et Microsoft 365 (tenant, application enregistrée, permissions Microsoft Graph, accès conditionnel) sont supposées familières. Les captures d'écran sont décrites en clair lorsque cela aide à situer une fonction.

Nouveautés de cette version. La licence repose désormais sur une signature ECDSA et les licences sont émises par l'application dédiée GuardLicence, non plus par un générateur intégré (chapitre 3). Le menu Paramètres › Image de marque a été retiré : le nom affiché par l'application est désormais celui du licencié, porté par la licence (chapitre 4). Le reste du produit — connecteurs, contrôles, cadres, audits, rapports — est inchangé.

1. Introduction

1.1 Ce qu'est EntraGUARD

EntraGUARD est une application de bureau Windows qui audite la configuration de sécurité d'un tenant Microsoft Entra ID et de ses services Microsoft 365 associés. Elle interroge les API Microsoft en lecture seule, confronte la configuration réelle à un catalogue de points de contrôle issus de cadres publics reconnus, puis produit un score de conformité, un détail contrôle par contrôle et des rapports exportables.

L'idée est simple. Un audit manuel suppose de parcourir des dizaines d'écrans répartis entre le portail Entra, le centre d'administration Microsoft 365, Defender, Purview et Exchange Online, en notant les écarts dans un tableur. EntraGUARD couvre le même périmètre en une poignée de secondes, de façon répétable, et conserve l'historique pour mesurer les progrès.

1.2 Principes de conception

PrincipeCe que cela signifie en pratique
Lecture seuleAucune permission d'écriture n'est demandée ni utilisée sur le tenant audité. L'application ne corrige rien : elle observe et recommande.
Exécution localeL'application s'exécute sur le poste de l'auditeur. Résultats, secrets de connexion et historique restent sur ce poste. Aucun intermédiaire SaaS, aucune télémétrie, aucune donnée renvoyée à l'éditeur.
Multi-tenantUne fiche par tenant audité, chacune avec ses propres connecteurs, sa propre base d'historique et son propre logo de rapport. Les données de deux clients ne se mélangent jamais.
Nom porté par la licenceLe nom affiché par l'application est celui du licencié, inscrit dans la licence (chapitre 4). Il n'est plus paramétrable localement.
Hors ligneLa licence est vérifiée localement par signature cryptographique. Aucun serveur d'activation à joindre, et aucune connexion sortante autre que vers les API Microsoft interrogées pendant l'audit.
TraçableChaque contrôle porte un identifiant stable, un niveau, ses correspondances de cadres et un lien vers la documentation Microsoft. Ces éléments apparaissent à l'identique dans l'interface et dans chaque format d'export.

1.3 Ce qu'EntraGUARD ne fait pas

1.4 Architecture fonctionnelle

L'application repose sur cinq composants :

1.5 Terminologie

TermeSignification
TenantUn tenant Microsoft Entra ID audité. Dans l'application, chaque tenant audité correspond à une fiche du portefeuille.
ConnecteurUn point d'entrée en lecture vers une source de données Microsoft (Graph, Exchange Online). Un connecteur non configuré verrouille les contrôles de son référentiel.
ContrôleUne vérification unitaire de configuration, portant un identifiant, un niveau de criticité et des correspondances de cadres.
Référentiel / packUn regroupement thématique de contrôles.
Ligne de baseUne sélection nommée de contrôles, réutilisable d'un audit à l'autre.
AuditUne exécution d'un ensemble de contrôles sur un tenant, à un instant donné, et son résultat.
VerdictLe résultat d'un contrôle : conforme, non conforme, ou hors périmètre.

2. Installation et premier lancement

2.1 Prérequis

ÉlémentExigence
Système d'exploitationWindows 10 (1809 ou ultérieur) ou Windows 11, x64.
Moteur .NETAucun, si l'application vous a été livrée en version autonome (le moteur d'exécution est alors embarqué). Sinon, le runtime .NET 10 Desktop.
DroitsDroits d'administrateur local du poste pour l'installation. Ils sont aussi nécessaires pour créer un certificat dans le magasin machine lors du provisionnement automatique (§ 6.4).
RéseauHTTPS sortant vers graph.microsoft.com, login.microsoftonline.com et outlook.office365.com (Exchange Online Management).
Compte MicrosoftSelon le scénario retenu au chapitre 6 : soit un compte administrateur du tenant audité au moment de la connexion, soit uniquement les identifiants d'une application fournie par le client.
Affichage1280 × 800 minimum ; 1600 × 900 recommandé pour le tableau de bord.
LicenceUne clé de licence valide (§ 3).

2.2 Installation

L'application est livrée sous forme d'un programme d'installation Windows standard (EntraGUARD-Setup-x.y.z.exe, construit avec Inno Setup) :

Les mises à jour ultérieures s'installent par-dessus : l'identifiant d'application est stable, donc la version installée est détectée et remplacée. Les données — fiches clients, historique, connecteurs, licence — ne sont jamais touchées par une réinstallation, car elles vivent en dehors du dossier du programme.

2.3 Où vivent les données

Toutes les données résident sous une racine unique, partagée par tous les comptes Windows du poste. C'est un choix délibéré : sur un poste d'audit partagé, deux consultants doivent retrouver les mêmes clients et le même historique.

C:\ProgramData\EntraGUARD\
 ├── license.key            licence installée (partagée par tout le poste)
 ├── control-packs\         packs de contrôles importés (JSON)
 ├── connector-packs\       packs de connecteurs importés (JSON)
 └── clients\
      ├── <client-1>\
      │    ├── settings.json  connecteurs, export, logo, performance
      │    └── audit.db       base SQLite : historique et résultats détaillés
      └── <client-2>\
           └── ...

HKCU\Software\EntraGUARD\ActiveClient   client sélectionné (par session Windows)

Le tenant actif est stocké par utilisateur Windows dans le registre : deux sessions ouvertes sur le même poste peuvent travailler sur deux tenants différents à la fois, tout en partageant le même ensemble de fiches.

2.4 Premier lancement

La prise en main se fait en cinq étapes :

Rappel. Tant qu'aucune licence valide n'est activée, la création de tenants et le lancement d'audit sont indisponibles.

2.5 L'interface

La fenêtre se compose d'une barre latérale de navigation à gauche (tenants, contrôles de sécurité, lignes de base, audit, tableau de bord, rapports, paramètres) et d'une zone de travail à droite. Le tenant actif est rappelé en permanence : toutes les actions s'appliquent à ce tenant. Un basculement de thème (clair / sombre) et de langue (français / anglais) est accessible à tout moment.

3. Licence et activation

3.1 Fonctionnement

La licence est vérifiée entièrement hors ligne, au moyen d'une signature asymétrique ECDSA sur courbe P-256 (empreinte SHA-256). L'éditeur signe le contenu de la licence avec une clé privée qui ne quitte jamais sa machine ; l'application embarque la clé publique correspondante, qui permet uniquement de vérifier une signature, jamais d'en produire une. Décompiler l'application ne permet donc pas de forger une licence, et il n'existe aucun serveur d'activation à joindre.

Le fichier de licence est un bloc de texte encadré par une armure lisible, à la manière d'une clé PEM :

-----BEGIN GUARD LICENCE-----
...contenu signé, encodé en base64url...
-----END GUARD LICENCE-----

Le contenu signé porte les informations suivantes :

ChampRôle
LicenciéNom du titulaire de la licence. Il s'affiche à l'activation et devient le nom de l'application (chapitre 4).
ÉchéanceDate d'expiration (UTC). Au-delà, la licence passe à l'état Expirée.
Tenants maximumNombre maximal de fiches tenant autorisées. Une valeur très élevée (par exemple 9999) équivaut à un plafond pratiquement illimité.
ÉmissionDate d'émission (UTC).
IdentifiantIdentifiant unique de la licence, utile au support pour retrouver une clé.
ProduitProduit visé. La licence n'est acceptée que si le produit est bien EntraGUARD : une licence émise pour AdGUARD est refusée.

3.2 D'où vient la licence : l'application GuardLicence

Les licences ne sont plus produites par un générateur intégré à l'application, comme c'était le cas dans les versions antérieures. Elles sont émises par une application dédiée, GuardLicence, détenue par l'éditeur et, le cas échéant, par ses partenaires habilités.

GuardLicence détient l'autorité de signature et fonctionne selon une chaîne à trois niveaux :

Ce modèle permet à l'éditeur de déléguer l'émission à un partenaire sans lui confier la racine : le partenaire ne peut émettre que dans les limites inscrites dans son certificat. L'application EntraGUARD, elle, ne connaît que la clé publique racine et se contente de vérifier la licence reçue.

En pratique, côté client. Vous recevez un fichier license.key (ou une chaîne de texte encadrée par l'armure ci-dessus), transmis par un canal sûr. C'est ce fichier, ou ce texte, qu'il faut activer dans EntraGUARD. Vous n'avez pas besoin de GuardLicence pour utiliser l'application : GuardLicence est l'outil de l'émetteur, pas de l'utilisateur final.

3.3 Activer une licence

Ouvrez Paramètres › Licence. Deux possibilités selon la façon dont la licence vous a été remise :

À l'activation, l'application vérifie successivement la signature (la licence est authentique et non altérée), le produit (c'est bien une licence EntraGUARD), l'échéance et le plafond de tenants. Elle affiche ensuite l'état de la licence, le nom du licencié, la date d'échéance et le nombre de tenants autorisés.

3.4 Les quatre états

ÉtatSignificationConséquence
Aucune licenceAucune licence enregistrée sur le poste.Création de tenants et lancement d'audit indisponibles.
InvalideSignature incorrecte, produit erroné, ou format non conforme.Refusée ; l'application reste bridée, comme sans licence.
ExpiréeSignature valide, mais la date d'échéance est dépassée.Consultation de l'historique possible, mais le lancement d'audit est indisponible.
ValideLicence signée, produit correct, non expirée.Application pleinement opérationnelle, dans la limite du quota de tenants.

L'état est déterminé au chargement de la licence puis réévalué en fonction de la date : une licence valide bascule automatiquement à Expirée le jour de son échéance.

3.5 Le quota de tenants

La licence fixe un nombre maximal de fiches tenant. Lorsque ce plafond est atteint, l'ajout d'un nouveau tenant est refusé, avec un message indiquant la limite en vigueur et le nombre de fiches déjà créées. Pour auditer davantage de tenants, il faut activer une licence au plafond plus élevé. Supprimer une fiche existante libère une place dans le quota.

3.6 Renouvellement et déploiement

Un renouvellement consiste simplement à activer une nouvelle licence à échéance plus lointaine : elle remplace la précédente, sans autre manipulation. Pour déployer la même licence sur plusieurs postes, distribuez le même fichier license.key et activez-le sur chacun ; la licence n'est pas liée à une machine particulière. Sur un poste partagé, la licence installée vaut pour tous les comptes Windows.

4. Nom de l'application et rapports

4.1 Le nom vient de la licence

Le menu Paramètres › Image de marque des versions précédentes, qui permettait de définir un nom, un slogan et un logo d'application ainsi qu'une identité d'émetteur, a été retiré. Le nom affiché par l'application — sur l'écran de démarrage, dans la barre de titre et en haut de la barre latérale — est désormais celui du licencié, tel qu'inscrit dans la licence.

Ce nom n'est plus modifiable manuellement : il s'impose dès qu'une licence est activée. Tant qu'aucune licence n'est chargée, l'application s'appelle « EntraGUARD ».

Pourquoi ce changement. Faire porter le nom par la licence garantit que l'identité affichée correspond exactement au titulaire, sans réglage local à maintenir ni risque de divergence entre un nom paramétré et le nom réellement sous licence. Pour un revendeur, cela signifie que chaque client voit automatiquement son propre nom, déterminé au moment de l'émission de sa licence.

4.2 Identité dans les rapports

Les rapports exportés (HTML, PDF) portent en en-tête et en pied de page le nom du licencié — c'est-à-dire le nom de l'application — accompagné de la date de génération. La personnalisation détaillée de l'émetteur qui existait auparavant (société, site web, adresse de contact, logo d'en-tête réglables dans Paramètres › Image de marque) n'est plus proposée : l'identité de l'émetteur dans les rapports se limite au nom porté par la licence.

Concrètement, le pied de page d'un rapport affiche le nom du licencié et la date, une seule fois, sans doublon.

4.3 Le logo du tenant audité

Le logo du tenant audité reste, lui, entièrement pris en charge — c'est une notion distincte de l'identité de l'émetteur. Depuis la fiche d'un tenant (§ 5.2), vous pouvez associer un logo : il apparaît sur la page de garde du rapport exécutif de ce tenant. C'est le logo du client audité, sur son propre rapport.

Visez une image nette, d'environ 180 px de haut, sur fond transparent ou blanc, aux formats PNG ou JPG. Ce logo est propre à chaque fiche : deux tenants peuvent avoir chacun le leur.

4.4 Thème et langue

L'application propose un thème clair et un thème sombre, ainsi qu'un basculement entre le français et l'anglais. Ces réglages sont disponibles dans les paramètres et s'appliquent immédiatement à toute l'interface, sans redémarrage. Ils sont indépendants de la licence et propres à chaque poste.

5. Gérer les tenants audités

5.1 Le portefeuille

La page Tenants liste l'ensemble des tenants que vous auditez. Chaque entrée est une fiche autonome : ses connecteurs, son historique d'audits et ses rapports lui sont propres. Une barre de recherche permet de retrouver rapidement un tenant lorsque la liste s'allonge. Un indicateur rappelle, pour chaque fiche, si son connecteur Entra ID est configuré.

5.2 La fiche tenant

La fiche d'un tenant rassemble son identité, son connecteur (chapitre 6), son logo de page de garde (§ 4.3) et son historique. Les champs principaux :

ChampRôle
Nom du tenantObligatoire. Identifie le tenant audité dans tous les rapports exportés.
Domaine du tenantLe domaine principal du tenant (par exemple contoso.onmicrosoft.com).
LogoLogo du client audité, affiché sur la page de garde de son rapport exécutif (§ 4.3).
Suppression. Supprimer un tenant efface définitivement sa fiche, ses réglages, ses connecteurs et tout son historique d'audits. L'action est irréversible. Si le tenant supprimé était actif, l'application redémarre après la suppression.

5.3 Le tenant actif et la séparation des données

À tout moment, un seul tenant est actif : c'est celui sur lequel portent les audits, les résultats et les rapports affichés. Changer de tenant actif bascule tout le contexte de travail. Les données d'un tenant ne se mélangent jamais avec celles d'un autre : chaque fiche possède sa propre base SQLite. Si un audit est en cours, changer de tenant enregistre d'abord l'état courant afin de ne rien perdre.

6. Connecteurs : relier le tenant audité

6.1 Vue d'ensemble

Les connecteurs sont le point d'entrée technique de l'audit. Chacun ouvre un accès en lecture à une source de données ; un connecteur non configuré verrouille tous les contrôles de son référentiel, qui sont alors exclus du périmètre et ne comptent pas dans le score.

ConnecteurCe qu'il auditeAccès technique
Microsoft Entra IDAuthentification, MFA, accès conditionnel, rôles privilégiés, PIM, applications et consentements, invités et accès externe, fédération et identité hybride, identités de charge de travail.Microsoft Graph, application dédiée (certificat ou secret).
SharePointPartage externe, types de liens, synchronisation, gouvernance des sites.Microsoft Graph, via l'application Entra.
OneDriveRétention, synchronisation, partage.Microsoft Graph, via l'application Entra.
TeamsCycle de vie des équipes, invités, réunions, canaux, applications tierces.Microsoft Graph, via l'application Entra.
Microsoft DefenderPosture Defender XDR, Secure Score, alertes, incidents, simulations d'attaque, protection Defender for Office 365.Graph Security API, via l'application Entra.
Exchange OnlineTransfert externe, authentification héritée, protection du courrier, flux de messagerie, ligne de base CISA SCuBA Exchange.Exchange Online Management en mode application seule ; l'authentification par certificat est obligatoire.
Microsoft PurviewProtection de l'information, DLP, étiquettes, rétention, risque interne, audit.Réutilise le certificat du connecteur Exchange.
IntuneConformité des appareils, politiques de configuration, gouvernance de la gestion des postes.Microsoft Graph, via l'application Entra.

Les états possibles d'un connecteur sont Configuré ou Non configuré pour Entra ID, et Activé ou Désactivé pour les connecteurs qui en dépendent.

6.2 Les deux modèles de déploiement

Tout repose sur une application enregistrée dans le tenant du client, disposant de permissions d'application en lecture seule. Il existe deux voies pour obtenir cette application, et le choix entre elles est avant tout une question de politique interne du client, non de capacité technique.

Scénario AScénario B
IntituléLe tenant audité fournit l'applicationProvisionnement automatique, avec un administrateur présent
Mode dans l'application« Utiliser une application existante »« Créer l'application »
Qui crée l'applicationL'administrateur du client, dans son portail EntraEntraGUARD, automatiquement
Ce que reçoit l'auditeurUn identifiant de tenant, un identifiant d'application et un secret (ou l'empreinte d'un certificat)Rien : l'administrateur se connecte une fois dans l'application
Compte administrateurJamais utilisé par l'auditeurRequis une fois, au moment de la connexion

6.3 Scénario A — le tenant fournit l'application

C'est le scénario à privilégier avec les clients dont la politique de sécurité interdit qu'un prestataire manipule un compte administrateur, ou qui tiennent à garder la maîtrise des permissions accordées.

Côté client, l'administrateur du tenant :

Côté auditeur, dans Paramètres › Connecteurs › Microsoft Entra ID :

Le test valide deux choses successivement : qu'un jeton peut être obtenu (les identifiants sont corrects), puis qu'un appel réel à Microsoft Graph aboutit (les permissions ont bien été accordées). Une authentification réussie suivie d'un refus d'accès signifie que l'application a été créée correctement mais que ses permissions sont incomplètes, ou que le consentement administrateur n'a jamais été donné — le message d'erreur rapporte alors le statut HTTP renvoyé.

AvantagesPoints de vigilance
Aucun compte administrateur n'est confié au prestataire.Le calendrier dépend de la disponibilité de l'équipe du client ; c'est le chemin critique de la mission.
Le client garde la maîtrise complète : il voit l'application, ses permissions et ses journaux d'accès.Une permission manquante se traduit par des contrôles en erreur, qu'il faut ensuite diagnostiquer et corriger.
La révocation est immédiate et unilatérale : supprimer l'application coupe tout accès.Il faut fournir au client une liste de permissions exacte et sans ambiguïté (§ 6.9).
Compatible avec les politiques les plus strictes et avec un audit mené sous supervision du client.Les secrets clients ont une durée de vie limitée : prévoyez leur renouvellement sur les missions longues.

6.4 Scénario B — provisionnement automatique

Ici, l'application fait tout le travail. L'administrateur du tenant se connecte une fois, de façon interactive, et l'application enchaîne la création et la configuration.

Étapes dans Paramètres › Connecteurs › Microsoft Entra ID :

L'opération prend jusqu'à une minute, le temps de la réplication côté Azure. Les permissions déléguées demandées à l'administrateur pendant cette phase, et uniquement pendant cette phase, sont Application.ReadWrite.All, AppRoleAssignment.ReadWrite.All et Directory.Read.All. Elles servent à créer l'application et à lui accorder ses droits ; l'audit lui-même n'utilise ensuite que les permissions d'application en lecture seule.

AvantagesPoints de vigilance
Opérationnel en quelques minutes, sans allers-retours avec l'équipe du client.Exige qu'un administrateur général du tenant soit effectivement présent au moment de la connexion.
Aucune erreur de permission possible : la liste est appliquée par l'application elle-même.Certaines politiques internes interdisent qu'un outil tiers crée une application dans le tenant.
La configuration Exchange, la plus délicate à faire à la main, est enchaînée automatiquement.Le mode certificat impose d'exécuter l'application en administrateur local.
Entièrement réversible : l'application peut être supprimée du tenant depuis l'interface.Le secret client expire après deux ans ; les certificats doivent être renouvelés selon leur validité.

6.5 Choisir entre les deux scénarios

SituationScénario recommandé
Grande entreprise, politique de sécurité formelle, prestataire externeA — le client fournit l'application
Audit interne sur votre propre tenantB — provisionnement automatique
PME sans équipe informatique dédiée, administrateur présent en réunionB — provisionnement automatique
Mission ponctuelle avec revue obligatoire des comptes privilégiésA — le client fournit l'application
Portefeuille MSP avec accès délégué déjà en placeA, avec une application dédiée par client
Démonstration ou preuve de conceptB — démarrage immédiat, puis suppression de l'application ensuite

6.6 Les connecteurs Microsoft 365

Une fois le connecteur Entra ID configuré, les connecteurs SharePoint, OneDrive, Teams, Defender et Intune s'activent d'un simple interrupteur : ils réutilisent la même application et les mêmes permissions Graph. Chacun dispose d'un bouton Tester la connexion.

La règle est stricte et volontairement sans exception : un test en échec laisse le connecteur désactivé et verrouillé. L'application n'active jamais silencieusement un connecteur dont l'accès n'a pas été prouvé — un audit reposant sur une source inaccessible produirait un score faussement rassurant.

6.7 Exchange Online et Purview

Exchange Online est un cas particulier : son API en mode application seule exige une authentification par certificat, un secret client ne suffit pas. Trois éléments doivent être en place dans le tenant :

Dans le scénario B, ces trois étapes sont enchaînées automatiquement après la création de l'application, et l'application bascule d'un secret vers un certificat si nécessaire. Dans le scénario A, elles doivent être demandées explicitement au client, faute de quoi le connecteur Exchange reste inaccessible même si Entra ID fonctionne parfaitement.

Le connecteur Purview réutilise le certificat mis en place pour Exchange : si Exchange fonctionne, Purview s'active sans configuration supplémentaire.

6.8 Tester, retirer, supprimer

Trois actions distinctes, à ne pas confondre :

ActionEffetDroits nécessaires
Tester la connexionVérifie l'accès effectif à la source. N'écrit rien.Aucun
Retirer la configurationEfface la configuration locale du connecteur (tenant, application, certificat ou secret). L'application reste en place dans le tenant du client et rien n'est modifié côté Microsoft.Aucun droit sur le tenant
Supprimer l'application du tenantSupprime réellement l'inscription d'application dans le tenant du client. Irréversible.Administrateur du tenant

Retirer la configuration Entra désactive automatiquement tous les connecteurs Microsoft 365 qui en dépendent : SharePoint, OneDrive, Teams, Defender, Purview, Exchange et Intune.

6.9 Permissions requises

C'est le tableau à remettre au client dans le scénario A. Ce sont toutes des permissions d'application en lecture seule. Aucune permission d'écriture n'est demandée, ni utilisée.

PermissionCe qu'elle permet de lireUtilisée par
Directory.Read.AllDonnées d'annuaireEntra ID, Teams
User.Read.AllProfils utilisateursEntra ID
Group.Read.AllGroupesEntra ID
Policy.Read.AllPolitiques du tenant (accès conditionnel, méthodes d'authentification, accès inter-tenants…)Entra ID
RoleManagement.Read.DirectoryAttributions de rôles d'annuaireEntra ID, PIM
Application.Read.AllApplications et principaux de serviceEntra ID
Sites.Read.AllConfiguration des sites et du partageSharePoint, OneDrive
SecurityEvents.Read.AllAlertes et posture de sécuritéDefender
DeviceManagementConfiguration.Read.AllPolitiques de gestion des appareilsIntune
Exchange.ManageAsAppConfiguration Exchange en mode application seule (ressource Office 365 Exchange Online)Exchange, Purview
Bonne pratique. Accordez le strict nécessaire en lecture. Un compte d'audit dédié, aux permissions minimales, facilite la traçabilité et limite la portée de l'accès. Prévoyez la rotation régulière du secret côté application enregistrée.

6.10 Sécurité des secrets stockés

Les secrets de connexion (secret client, empreinte de certificat) sont conservés localement, protégés sur le poste, dans le fichier de réglages de chaque fiche. Ils ne sont jamais transmis ailleurs qu'au tenant audité, lors de la lecture. Retirer la configuration d'un connecteur efface ces secrets du poste sans rien changer dans le tenant.

7. Contrôles et référentiels

7.1 Le catalogue

L'application est livrée avec 318 contrôles répartis en 13 packs intégrés, compilés dans l'application elle-même : aucun fichier JSON n'est distribué à côté de l'exécutable, et le catalogue est disponible dès le premier lancement.

PackRéférentielContrôles
Officiel — EntraEntra ID85
Fédération et identité hybride EntraEntra ID9
PIM et comptes privilégiés EntraEntra ID14
Identités de charge de travail et applications EntraEntra ID10
Authentification moderne et accès externe EntraEntra ID14
Officiel — Exchange OnlineExchange31
CISA SCuBA — Exchange OnlineExchange37
Officiel — TeamsTeams28
CIS Microsoft IntuneIntune23
Officiel — DefenderDefender22
Officiel — SharePointSharePoint19
Officiel — Microsoft PurviewPurview17
Officiel — OneDriveOneDrive9
Total318

Par référentiel : Entra ID 132, Exchange 68, Teams 28, Intune 23, Defender 22, SharePoint 19, Purview 17, OneDrive 9.

7.2 Anatomie d'un contrôle

Chaque contrôle porte les éléments suivants, tous présents dans l'interface et dans les exports :

ChampExemple / détail
IdentifiantENTRA-001 — stable dans le temps, préfixé par le pack. C'est la clé à citer dans un plan d'action ou un suivi de remédiation.
RéférentielEntra ID, Exchange, Teams…
Catégorie« Authentification multifacteur », « Rôles et administration privilégiée », « Partage externe »… Le catalogue compte 83 catégories.
IntituléFormulé comme une action attendue : « Activer la correspondance de numéros dans Microsoft Authenticator ».
DescriptionCe que le contrôle vérifie et pourquoi c'est important.
NiveauL1 ou L2.
RemédiationLa correction, exprimée en termes des portails Microsoft.
Commande PowerShellFournie pour 282 des 318 contrôles, à titre informatif.
RéférenceUn lien vers la documentation Microsoft Learn correspondante (317 contrôles sur 318).
Correspondances de cadresPar exemple : CIS Entra ID · NIST IA-2 · ISO 27001 A.8.5 · ANSSI MFA · DORA Art. 9 · NIS2 21.2(j) · MCSB IM-6.

7.3 Sélectionner les contrôles (niveaux L1 et L2)

NiveauSignificationPoids dans le score
L1Fondamental. Une recommandation qui s'applique sans impact fonctionnel notable, attendue dans tout tenant. 165 contrôles.×3
L2Durcissement. Une mesure à peser selon le contexte, l'usage et les licences disponibles. 153 contrôles.×1

Cette pondération est structurelle : manquer un contrôle L1 coûte trois fois plus qu'un L2. Elle empêche un tenant qui aurait négligé le MFA mais activé une pile de mesures cosmétiques d'afficher un score flatteur.

7.4 Ajouter vos propres contrôles

Au-delà du catalogue fourni, l'application permet d'importer des packs de contrôles supplémentaires (au format JSON) pour adapter l'audit à votre méthodologie ou aux exigences d'un cadre interne. Les packs importés apparaissent aux côtés des packs intégrés et participent aux lignes de base comme les autres.

8. Cadres de conformité

8.1 Le principe de correspondance

Les contrôles sont mis en correspondance avec des cadres de conformité reconnus (CIS, NIST, ISO 27001, ANSSI, DORA, NIS2, HIPAA, SOC 2, MCSB, CISA SCuBA…). Un même contrôle peut ainsi contribuer à plusieurs cadres, ce qui permet de lire un audit sous l'angle réglementaire ou normatif qui intéresse le client, sans réexécuter quoi que ce soit.

8.2 Couverture

La couverture indique, pour chaque cadre, la part des exigences éclairées par les contrôles exécutés. Elle aide à mesurer l'avancement et à cibler les prochains efforts. Un même audit peut donc être présenté à un RSSI sous l'angle ISO 27001 et à un régulateur sous l'angle DORA, à partir des mêmes résultats.

9. Lignes de base

9.1 Ce qu'est une ligne de base

Une ligne de base est le périmètre d'audit convenu : la liste des contrôles retenus, ceux écartés, et les éventuels ajustements de niveau. C'est l'objet qui rend un audit répétable et défendable — sans elle, la question « pourquoi ce contrôle n'a-t-il pas été évalué ? » n'a pas de réponse documentée.

Une ligne de base est définie par :

9.2 Les modèles fournis et l'éditeur

Dix-sept modèles sont proposés. Chacun sélectionne les contrôles correspondant à un critère de conformité et exclut le reste. Les décomptes affichés sont calculés à partir du catalogue réel, jamais figés : ils suivent automatiquement l'ajout de contrôles.

ModèleCritèreContrôles
CIS Microsoft 365 BenchmarkTous les contrôles mappés CIS267
CIS — niveau 1Contrôles CIS de niveau L1 uniquement152
ANSSIContrôles mappés ANSSI85
NIS2Contrôles mappés NIS2318
DORAContrôles mappés DORA318
ISO 27001 — contrôles technologiquesAnnexe A.8212
ISO 27001 — contrôles organisationnelsAnnexe A.5101
NIST — contrôle d'accèsFamille AC115
NIST — identification et authentificationFamille IA44
NIST 800-171 / CMMC niveau 2Familles AC, IA, AU, CM, SC, SI292
SOC 2 — CC6 / CC7Familles AC, IA, AU, SI205
HIPAA — Security Rule §164.312Familles AC, AU, IA, SC, SI258
MCSB — Identity ManagementDomaine MCSB IM158
MCSB — Privileged AccessDomaine MCSB PA42
CISA SCuBA — programme completContrôles mappés CISA SCuBA98
CISA SCuBA — Exchange OnlineLa ligne de base MS.EXO.1 à 1737
Niveau 1 uniquementTous cadres confondus, contrôles L1165

Chaque carte affiche deux chiffres : combien de contrôles le modèle retient, et combien d'entre eux sont réellement exécutables avec les connecteurs actuellement configurés. L'écart entre les deux s'explique par les connecteurs manquants. Annoncer un modèle à 267 contrôles alors que seuls 130 s'exécuteront serait trompeur, d'où le double affichage. L'éditeur permet ensuite d'ajuster la sélection, de nommer la ligne de base, de choisir son périmètre et de l'enregistrer.

10. Lancer un audit

10.1 Préparation

Avant de lancer un audit, assurez-vous que le tenant visé est actif, que son connecteur Entra ID est configuré et testé (et les connecteurs Microsoft 365 nécessaires activés), et que la ligne de base ou la sélection de contrôles correspond à ce que vous souhaitez évaluer.

10.2 Déroulement

L'audit exécute en parallèle les contrôles retenus en lisant la configuration du tenant, attribue un verdict à chacun, puis calcule le score pondéré. L'avancement est affiché en cours d'exécution. À la fin, le résultat est enregistré dans l'historique de la fiche et immédiatement consultable. Un audit complet dure typiquement une poignée de secondes à quelques dizaines de secondes, selon le nombre de contrôles et le volume de données.

Changement de tenant en cours d'audit. Si un audit est en cours, changer de tenant enregistre d'abord l'état courant afin de ne rien perdre.

11. Résultats, historique et comparaison

11.1 Lire les résultats

Le résultat d'un audit présente, contrôle par contrôle, l'état constaté (conforme, non conforme, hors périmètre) et le niveau, avec le score global pondéré et sa répartition. On peut filtrer par référentiel, par catégorie, par niveau ou par verdict pour se concentrer sur les écarts. Chaque contrôle non conforme expose sa remédiation et, le cas échéant, sa commande PowerShell informative.

11.2 Historique

Chaque audit est horodaté et conservé dans la base de la fiche. L'historique d'un tenant permet de suivre l'évolution de sa posture dans le temps et de rouvrir n'importe quel audit passé.

11.3 Comparer deux audits

La comparaison met en regard deux audits d'un même tenant et fait ressortir ce qui a changé : améliorations, régressions, contrôles nouvellement conformes ou nouvellement en écart. C'est l'outil idéal pour mesurer l'effet d'une remédiation entre deux passages, ou pour objectiver les progrès d'un client sur une période.

12. Le tableau de bord

Le tableau de bord offre une vue de synthèse du tenant actif : score global, répartition des résultats par référentiel et par niveau, points saillants et tendance au fil des audits. Il sert de point d'entrée pour décider où porter l'attention et prépare la lecture exécutive du rapport. Un affichage confortable requiert une résolution d'au moins 1600 × 900.

13. Rapports et exports

13.1 Les formats

Les résultats peuvent être exportés dans plusieurs formats adaptés au partage : rapport HTML et PDF (mise en page soignée, imprimable) et données tabulaires pour retraitement. Tous les rapports portent en en-tête et en pied de page le nom du licencié et la date de génération (§ 4.2). Les identifiants de contrôle, niveaux et correspondances de cadres apparaissent à l'identique dans tous les formats.

13.2 Le rapport exécutif

Le rapport exécutif est une synthèse destinée aux décideurs. Sa page de garde peut porter le logo du tenant audité (§ 4.3). Il présente le score global, les constats majeurs et les priorités, sans exiger de connaissance technique fine. D'autres angles éditoriaux (technique, plan d'action, conformité réglementaire) permettent d'adresser des publics différents à partir du même audit.

14. Performance

La durée d'un audit dépend du nombre de contrôles retenus et du volume de données à lire dans le tenant. Restreindre la sélection à une ligne de base ciblée accélère l'exécution. Le moteur exécute les contrôles en parallèle ; les paramètres de performance (degré de parallélisme, temporisations) sont ajustables dans les réglages de la fiche. Le traitement étant local, les performances dépendent aussi du poste utilisé et de la latence réseau vers les API Microsoft.

15. Annexes

15.1 Emplacements des fichiers

Toutes les données résident sous C:\ProgramData\EntraGUARD\ : la licence (license.key), les packs de contrôles et de connecteurs importés, et un dossier par fiche client contenant ses réglages (settings.json) et sa base d'historique (audit.db). Le tenant actif est mémorisé par utilisateur Windows dans le registre (HKCU\Software\EntraGUARD\ActiveClient). Les rapports exportés sont écrits à l'emplacement que vous choisissez au moment de l'export.

15.2 Raccourcis clavier

Les actions courantes (lancer un audit, exporter, naviguer entre les sections) sont accessibles au clavier. La liste des raccourcis est consultable depuis l'aide de l'application.

15.3 Dépannage

SymptômePiste
La création de tenants est indisponibleVérifiez qu'une licence valide est activée (§ 3) et que le quota de tenants n'est pas atteint.
Le lancement d'audit est indisponibleLa licence est peut-être expirée : activez une licence à échéance plus lointaine.
Authentification réussie mais accès refusé au connecteurL'application existe mais ses permissions Graph sont incomplètes, ou le consentement administrateur manque (§ 6.3, § 6.9).
Le connecteur Exchange reste inaccessible alors qu'Entra fonctionneExchange exige un certificat, la permission Exchange.ManageAsApp et le rôle Lecteur général (§ 6.7).
Un modèle annonce beaucoup de contrôles mais peu s'exécutentDes connecteurs sont manquants : le second chiffre de la carte indique les contrôles réellement exécutables (§ 9.2).
Le nom affiché n'est pas celui attenduLe nom provient de la licence : activez la licence au bon nom de licencié (§ 4.1).