Que sont les Comptes Invités Azure ?
Les comptes invités Azure Entra ID (collaboration B2B) permettent aux utilisateurs externes — partenaires, prestataires, fournisseurs, auditeurs — d'accéder à vos ressources Microsoft 365 sans avoir de compte dans votre tenant.
Les comptes invités sont une fonctionnalité légitime et largement utilisée. Le problème est la gouvernance. Les organisations invitent des utilisateurs externes pour des projets courts et ne les suppriment jamais. Les paramètres d'invitation sont laissés ouverts, permettant à n'importe quel utilisateur du tenant d'inviter n'importe qui. Le MFA n'est pas requis pour les invités. Le résultat est une population croissante d'identités externes avec des niveaux d'accès variables — beaucoup oubliées, certaines appartenant à des personnes qui ont quitté leur organisation depuis des années.
Un compte invité compromis donne à un attaquant un accès persistant à votre SharePoint, Teams et autres ressources partagées.
Comment ca Fonctionne
Les comptes invités diffèrent des comptes membres sur deux points clés :
- L'authentification se produit dans le tenant d'origine de l'invité — vous ne contrôlez pas leurs politiques MFA
- Les révisions d'accès sont souvent absentes — aucun mécanisme natif ne supprime automatiquement les invités après la fin de leur accès
Quand les paramètres d'invitation sont non restreints, n'importe quel membre de votre tenant peut inviter n'importe quel utilisateur externe — sans supervision IT.
La Chaine d'Attaque
Etape 1 - Identifier les Comptes Invités Obsolètes
Connect-MgGraph -Scopes "Directory.Read.All"
Get-MgUser -Filter "userType eq 'Guest'" -Select "displayName,userPrincipalName,signInActivity" |
Select-Object DisplayName, UserPrincipalName, @{N="DerniereConnexion";E={$_.SignInActivity.LastSignInDateTime}} |
Sort-Object DerniereConnexion
Etape 2 - Exploiter les Droits d'Invitation Non Restreints
Si l'invitation d'invités n'est pas restreinte aux admins, l'attaquant peut inviter ses propres comptes externes pour obtenir un point d'ancrage persistant :
New-MgInvitation -InvitedUserEmailAddress "[email protected]" `
-InviteRedirectUrl "https://myapps.microsoft.com" `
-SendInvitationMessage $false
Etape 3 - Accès aux Ressources Sans MFA
Si les invités ne sont pas soumis à une politique d'Accès Conditionnel exigeant le MFA, un compte invité compromis donne un accès direct à toutes les ressources partagées sans vérification supplémentaire.
Détection
Logs d'Audit Microsoft Entra
| Evénement | Ce qu'il faut surveiller |
|---|---|
| Inviter un utilisateur externe | Invitations envoyées par des comptes non-admin, invitations en masse |
| Ajouter un membre à un groupe | Invités ajoutés à des groupes sensibles |
| Connexion utilisateur | Connexions d'invités depuis des emplacements inattendus |
Requete SIEM (Elastic KQL)
azure.auditlogs.operation_name: "Invite external user" AND
NOT azure.auditlogs.properties.initiated_by.user.roles: "*Admin*"
💡 Conseil : Effectuez une révision trimestrielle de tous les comptes invités via les Révisions d'Accès Entra ID. Tout invité sans connexion depuis 90+ jours devrait être revu et probablement supprimé.
Remédiation
💡 Action Rapide : Restreignez les droits d'invitation d'invités aux seuls Admins Globaux et Inviteurs d'Invités. Ce seul changement élimine le risque de prolifération non contrôlée d'invités.
1. Restreindre les Droits d'Invitation
Entra ID > Identités Externes > Paramètres de collaboration externe :
Paramètres d'invitation d'invités : "Seuls les utilisateurs ayant des rôles admin spécifiques peuvent inviter"
2. Exiger le MFA pour les Utilisateurs Invités
Politique d'Accès Conditionnel :
Nom : Exiger MFA — Utilisateurs Invités
Utilisateurs : Invités ou utilisateurs externes > Tous les invités et utilisateurs externes
Applications cloud : Toutes les applications cloud
Contrôles : Exiger le MFA
3. Supprimer les Comptes Invités Obsolètes
$cutoff = (Get-Date).AddDays(-90)
Get-MgUser -Filter "userType eq 'Guest'" -Select "id,displayName,userPrincipalName,signInActivity" |
Where-Object {$_.SignInActivity.LastSignInDateTime -lt $cutoff -or $null -eq $_.SignInActivity.LastSignInDateTime} |
ForEach-Object {
Remove-MgUser -UserId $_.Id
Write-Host "Supprimé : $($_.UserPrincipalName)"
}
4. Configurer les Révisions d'Accès
Entra ID > Identity Governance > Révisions d'Accès :
Créer des révisions trimestrielles récurrentes pour tous les comptes invités
Auto-appliquer : supprimer l'accès si pas de réponse dans le délai de révision
Comment EtcSec Détecte Cela
GUEST_INVITATION_UNRESTRICTED identifie les tenants où les droits d'invitation ne sont pas restreints aux administrateurs.
GUEST_NO_MFA_REQUIRED signale les tenants où les utilisateurs invités ne sont pas soumis à une politique d'Accès Conditionnel exigeant le MFA.
GUEST_STALE_90_DAYS énumère tous les comptes invités sans connexion depuis 90 jours ou plus.
ℹ️ Note : EtcSec audite automatiquement la gouvernance des comptes invités lors de chaque scan Azure. Lancez un audit gratuit pour voir combien de comptes invités obsolètes et non contrôlés existent dans votre tenant.


