EntraGUARD
À 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.
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
| Principe | Ce que cela signifie en pratique |
|---|---|
| Lecture seule | Aucune 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 locale | L'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-tenant | Une 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 licence | Le nom affiché par l'application est celui du licencié, inscrit dans la licence (chapitre 4). Il n'est plus paramétrable localement. |
| Hors ligne | La 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çable | Chaque 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
- Il ne remédie pas. Aucune correction automatique, aucune modification du tenant. Les commandes PowerShell fournies sont informatives, à exécuter en connaissance de cause par un administrateur.
- Il ne surveille pas en continu. Un audit est une exécution ponctuelle et manuelle — une photographie de la configuration, pas un SIEM ni un outil de détection.
- Il n'audite pas Active Directory. Ce périmètre est couvert par AdGUARD, bâti sur le même socle.
- Il n'analyse pas le contenu. L'application lit des paramètres de configuration et des métadonnées d'objets d'annuaire, jamais le contenu des boîtes aux lettres, des fichiers ou des conversations.
- Il ne remplace pas un audit humain. Il industrialise la partie mécanique et répétable, pour vous laisser le temps de l'analyse, du contexte et des recommandations.
1.4 Architecture fonctionnelle
L'application repose sur cinq composants :
- Les connecteurs établissent l'accès en lecture aux API Microsoft (Microsoft Graph pour Entra ID, SharePoint, OneDrive, Teams, Defender, Intune et Purview ; Exchange Online Management pour la messagerie).
- Le catalogue de contrôles décrit ce qu'il faut vérifier : des points de contrôle regroupés en packs, chacun rattaché à un référentiel, une catégorie, un niveau de criticité et un ensemble de correspondances de cadres.
- Les lignes de base définissent le périmètre retenu pour une mission : quels contrôles sont dans le périmètre, lesquels sont exclus, et à quel niveau de criticité.
- Le moteur d'audit exécute en parallèle les contrôles retenus, attribue un verdict à chacun et calcule un score pondéré.
- Les rapports présentent le résultat sous plusieurs angles éditoriaux (exécutif, technique, plan d'action, conformité réglementaire).
1.5 Terminologie
| Terme | Signification |
|---|---|
| Tenant | Un tenant Microsoft Entra ID audité. Dans l'application, chaque tenant audité correspond à une fiche du portefeuille. |
| Connecteur | Un 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ôle | Une vérification unitaire de configuration, portant un identifiant, un niveau de criticité et des correspondances de cadres. |
| Référentiel / pack | Un regroupement thématique de contrôles. |
| Ligne de base | Une sélection nommée de contrôles, réutilisable d'un audit à l'autre. |
| Audit | Une exécution d'un ensemble de contrôles sur un tenant, à un instant donné, et son résultat. |
| Verdict | Le résultat d'un contrôle : conforme, non conforme, ou hors périmètre. |
2. Installation et premier lancement
2.1 Prérequis
| Élément | Exigence |
|---|---|
| Système d'exploitation | Windows 10 (1809 ou ultérieur) ou Windows 11, x64. |
| Moteur .NET | Aucun, 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. |
| Droits | Droits 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éseau | HTTPS sortant vers graph.microsoft.com, login.microsoftonline.com et outlook.office365.com (Exchange Online Management). |
| Compte Microsoft | Selon 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. |
| Affichage | 1280 × 800 minimum ; 1600 × 900 recommandé pour le tableau de bord. |
| Licence | Une 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) :
- Lancez l'installateur avec un compte administrateur local.
- Il installe dans
C:\Program Files\EntraGUARDpour tous les utilisateurs du poste. - Un raccourci du menu Démarrer est créé ; un raccourci sur le bureau est proposé en option.
- Au premier lancement, l'application crée sa zone de données partagée (§ 2.3).
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 :
- Activer la licence — Paramètres › Licence, collez la clé qui vous a été remise (§ 3.3).
- Créer le premier tenant — Tenants › Ajouter un tenant, en renseignant au moins le nom et le domaine du tenant (§ 5.2).
- Relier le tenant — Paramètres › Connecteurs, configurez Entra ID selon l'un des deux scénarios du chapitre 6, puis activez les connecteurs Microsoft 365 nécessaires.
- Choisir le périmètre — Lignes de base › Modèles pour partir d'un cadre de conformité, ou Contrôles de sécurité pour choisir manuellement (§ 7.3 et § 9).
- Lancer le premier audit — Audit de sécurité › Exécution, puis exportez le rapport (§ 10 et § 13).
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 :
| Champ | Rôle |
|---|---|
| Licencié | Nom du titulaire de la licence. Il s'affiche à l'activation et devient le nom de l'application (chapitre 4). |
| Échéance | Date d'expiration (UTC). Au-delà, la licence passe à l'état Expirée. |
| Tenants maximum | Nombre maximal de fiches tenant autorisées. Une valeur très élevée (par exemple 9999) équivaut à un plafond pratiquement illimité. |
| Émission | Date d'émission (UTC). |
| Identifiant | Identifiant unique de la licence, utile au support pour retrouver une clé. |
| Produit | Produit 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 :
- une racine (la clé privée de l'éditeur) signe des certificats ;
- chaque certificat autorise l'émission de licences bornées : produits autorisés (EntraGUARD, AdGUARD), plafond de tenants, date d'échéance ;
- à partir d'un certificat, on émet des licences individuelles pour chaque client.
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.
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 :
- Coller la clé : collez le texte complet de la licence, armure comprise, dans le champ prévu, puis validez.
- Charger un fichier : sélectionnez le fichier
license.keyfourni ; son contenu est lu et installé.
À 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
| État | Signification | Conséquence |
|---|---|---|
| Aucune licence | Aucune licence enregistrée sur le poste. | Création de tenants et lancement d'audit indisponibles. |
| Invalide | Signature incorrecte, produit erroné, ou format non conforme. | Refusée ; l'application reste bridée, comme sans licence. |
| Expirée | Signature valide, mais la date d'échéance est dépassée. | Consultation de l'historique possible, mais le lancement d'audit est indisponible. |
| Valide | Licence 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 ».
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 :
| Champ | Rôle |
|---|---|
| Nom du tenant | Obligatoire. Identifie le tenant audité dans tous les rapports exportés. |
| Domaine du tenant | Le domaine principal du tenant (par exemple contoso.onmicrosoft.com). |
| Logo | Logo du client audité, affiché sur la page de garde de son rapport exécutif (§ 4.3). |
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.
| Connecteur | Ce qu'il audite | Accès technique |
|---|---|---|
| Microsoft Entra ID | Authentification, 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). |
| SharePoint | Partage externe, types de liens, synchronisation, gouvernance des sites. | Microsoft Graph, via l'application Entra. |
| OneDrive | Rétention, synchronisation, partage. | Microsoft Graph, via l'application Entra. |
| Teams | Cycle de vie des équipes, invités, réunions, canaux, applications tierces. | Microsoft Graph, via l'application Entra. |
| Microsoft Defender | Posture Defender XDR, Secure Score, alertes, incidents, simulations d'attaque, protection Defender for Office 365. | Graph Security API, via l'application Entra. |
| Exchange Online | Transfert 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 Purview | Protection de l'information, DLP, étiquettes, rétention, risque interne, audit. | Réutilise le certificat du connecteur Exchange. |
| Intune | Conformité 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 A | Scénario B | |
|---|---|---|
| Intitulé | Le tenant audité fournit l'application | Provisionnement automatique, avec un administrateur présent |
| Mode dans l'application | « Utiliser une application existante » | « Créer l'application » |
| Qui crée l'application | L'administrateur du client, dans son portail Entra | EntraGUARD, automatiquement |
| Ce que reçoit l'auditeur | Un 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 administrateur | Jamais utilisé par l'auditeur | Requis 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 :
- crée une application dans Entra ID › Inscriptions d'applications (un nom quelconque, par exemple « Audit de sécurité — <votre société> ») ;
- ajoute les permissions d'application Microsoft Graph listées au § 6.9, toutes en lecture seule ;
- accorde le consentement administrateur à ces permissions ;
- génère un secret client, ou téléverse un certificat dont l'empreinte sera communiquée ;
- transmet l'identifiant de tenant, l'identifiant d'application et le secret (ou l'empreinte) par un canal sûr.
Côté auditeur, dans Paramètres › Connecteurs › Microsoft Entra ID :
- choisissez le mode Utiliser une application existante ;
- saisissez l'identifiant de tenant et l'identifiant d'application ;
- fournissez soit le secret client, soit l'empreinte d'un certificat déjà présent dans le magasin Windows du poste ;
- cliquez sur Tester et connecter.
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é.
| Avantages | Points 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 :
- choisissez le mode Créer l'application ;
- saisissez le nom de l'application enregistrée (« EntraGUARD » par défaut) ;
- choisissez la méthode d'authentification : certificat (auto-signé, placé dans le magasin machine — l'application doit alors être exécutée en tant qu'administrateur) ou secret client (généré par Entra, valable deux ans, affiché une seule fois) ;
- cliquez sur Créer l'application : une fenêtre de connexion Microsoft s'ouvre et l'administrateur s'authentifie ;
- l'application crée l'inscription, y attache le certificat ou le secret, accorde les permissions d'application et le consentement administrateur, puis enchaîne automatiquement la configuration Exchange (§ 6.7).
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.
| Avantages | Points 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
| Situation | Scénario recommandé |
|---|---|
| Grande entreprise, politique de sécurité formelle, prestataire externe | A — le client fournit l'application |
| Audit interne sur votre propre tenant | B — provisionnement automatique |
| PME sans équipe informatique dédiée, administrateur présent en réunion | B — provisionnement automatique |
| Mission ponctuelle avec revue obligatoire des comptes privilégiés | A — le client fournit l'application |
| Portefeuille MSP avec accès délégué déjà en place | A, avec une application dédiée par client |
| Démonstration ou preuve de concept | B — 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 :
- un certificat attaché à l'application Entra ;
- la permission d'application
Exchange.ManageAsApp, portée par la ressource « Office 365 Exchange Online » plutôt que par Microsoft Graph ; - le rôle d'annuaire Lecteur général attribué au principal de service de l'application.
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 :
| Action | Effet | Droits nécessaires |
|---|---|---|
| Tester la connexion | Vérifie l'accès effectif à la source. N'écrit rien. | Aucun |
| Retirer la configuration | Efface 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 tenant | Supprime 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.
| Permission | Ce qu'elle permet de lire | Utilisée par |
|---|---|---|
| Directory.Read.All | Données d'annuaire | Entra ID, Teams |
| User.Read.All | Profils utilisateurs | Entra ID |
| Group.Read.All | Groupes | Entra ID |
| Policy.Read.All | Politiques du tenant (accès conditionnel, méthodes d'authentification, accès inter-tenants…) | Entra ID |
| RoleManagement.Read.Directory | Attributions de rôles d'annuaire | Entra ID, PIM |
| Application.Read.All | Applications et principaux de service | Entra ID |
| Sites.Read.All | Configuration des sites et du partage | SharePoint, OneDrive |
| SecurityEvents.Read.All | Alertes et posture de sécurité | Defender |
| DeviceManagementConfiguration.Read.All | Politiques de gestion des appareils | Intune |
| Exchange.ManageAsApp | Configuration Exchange en mode application seule (ressource Office 365 Exchange Online) | Exchange, Purview |
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.
| Pack | Référentiel | Contrôles |
|---|---|---|
| Officiel — Entra | Entra ID | 85 |
| Fédération et identité hybride Entra | Entra ID | 9 |
| PIM et comptes privilégiés Entra | Entra ID | 14 |
| Identités de charge de travail et applications Entra | Entra ID | 10 |
| Authentification moderne et accès externe Entra | Entra ID | 14 |
| Officiel — Exchange Online | Exchange | 31 |
| CISA SCuBA — Exchange Online | Exchange | 37 |
| Officiel — Teams | Teams | 28 |
| CIS Microsoft Intune | Intune | 23 |
| Officiel — Defender | Defender | 22 |
| Officiel — SharePoint | SharePoint | 19 |
| Officiel — Microsoft Purview | Purview | 17 |
| Officiel — OneDrive | OneDrive | 9 |
| Total | 318 |
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 :
| Champ | Exemple / détail |
|---|---|
| Identifiant | ENTRA-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érentiel | Entra 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 ». |
| Description | Ce que le contrôle vérifie et pourquoi c'est important. |
| Niveau | L1 ou L2. |
| Remédiation | La correction, exprimée en termes des portails Microsoft. |
| Commande PowerShell | Fournie pour 282 des 318 contrôles, à titre informatif. |
| Référence | Un lien vers la documentation Microsoft Learn correspondante (317 contrôles sur 318). |
| Correspondances de cadres | Par 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)
| Niveau | Signification | Poids dans le score |
|---|---|---|
| L1 | Fondamental. Une recommandation qui s'applique sans impact fonctionnel notable, attendue dans tout tenant. 165 contrôles. | ×3 |
| L2 | Durcissement. 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 :
- un nom, affiché sur chaque audit qui l'utilise et dans l'historique ;
- un périmètre : global (disponible pour tous les tenants) ou propre à un client ;
- une description en texte libre, où sont consignées les raisons des exclusions ;
- la liste des contrôles inclus, exclus et re-nivelés.
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èle | Critère | Contrôles |
|---|---|---|
| CIS Microsoft 365 Benchmark | Tous les contrôles mappés CIS | 267 |
| CIS — niveau 1 | Contrôles CIS de niveau L1 uniquement | 152 |
| ANSSI | Contrôles mappés ANSSI | 85 |
| NIS2 | Contrôles mappés NIS2 | 318 |
| DORA | Contrôles mappés DORA | 318 |
| ISO 27001 — contrôles technologiques | Annexe A.8 | 212 |
| ISO 27001 — contrôles organisationnels | Annexe A.5 | 101 |
| NIST — contrôle d'accès | Famille AC | 115 |
| NIST — identification et authentification | Famille IA | 44 |
| NIST 800-171 / CMMC niveau 2 | Familles AC, IA, AU, CM, SC, SI | 292 |
| SOC 2 — CC6 / CC7 | Familles AC, IA, AU, SI | 205 |
| HIPAA — Security Rule §164.312 | Familles AC, AU, IA, SC, SI | 258 |
| MCSB — Identity Management | Domaine MCSB IM | 158 |
| MCSB — Privileged Access | Domaine MCSB PA | 42 |
| CISA SCuBA — programme complet | Contrôles mappés CISA SCuBA | 98 |
| CISA SCuBA — Exchange Online | La ligne de base MS.EXO.1 à 17 | 37 |
| Niveau 1 uniquement | Tous cadres confondus, contrôles L1 | 165 |
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.
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ôme | Piste |
|---|---|
| La création de tenants est indisponible | Vérifiez qu'une licence valide est activée (§ 3) et que le quota de tenants n'est pas atteint. |
| Le lancement d'audit est indisponible | La licence est peut-être expirée : activez une licence à échéance plus lointaine. |
| Authentification réussie mais accès refusé au connecteur | L'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 fonctionne | Exchange 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écutent | Des 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 attendu | Le nom provient de la licence : activez la licence au bon nom de licencié (§ 4.1). |