Lorsqu'il s'agit d'activer le Single Sign-On (SSO) sur les appareils Windows, il est essentiel de comprendre les différences entre le Primary Refresh Token (PRT) et le Seamless SSO (Microsoft Entra Seamless Single Sign-On). Les deux approches ont leurs points forts et sont adaptées à des scénarios spécifiques.

Seamless SSO : l'option historique

Seamless SSO est conçu pour les anciens systèmes d'exploitation tels que Windows 7 et Windows 8.1. Il offre une expérience d'ouverture de session sans effort pour les utilisateurs dans les environnements où les appareils sont :

  • Connecté à un domaine : Le Seamless SSO exige que les appareils soient connectés à un domaine Active Directory et disposent d'une connectivité à l'Active Directory.

Limitations

  • Seamless SSO n'est pas utilisé sur les appareils Windows 10/11 qui sont Microsoft Entra Joined ou Hybrid Joined.
L’authentification unique fluide (Seamelss SSO) nécessite que l’appareil de l’utilisateur soit joint à un domaine, mais cette propriété n’est pas utilisée sur les appareils Windows 10 [et 11] avec Microsoft Entra joined ou Microsoft Entra Hybrid joined.

source : https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sso#sso-via-primary-refresh-token-vs-seamless-sso

En lisant ceci, vous pourriez penser : "Ça ne sert peut-être à rien dans mon environnement", et bien... oui ! 😄.

  • Seamless SSO exige également que le mot de passe du compte AZUREADSSOACC soit périodiquement renouvelé, ce qui ajoute une couche supplémentaire de gestion et un risque potentiel pour la sécurité. En abandonnant le Seamless SSO, vous éliminez ce problème et simplifiez la gestion de la sécurité.
  • Nécessite une configuration des navigateurs, notamment via des clés de registre et/ou des GPO pour l’enregistrement autologon.microsoftazuread-sso.com, ce qui complique sa mise en œuvre (https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-sso-quick-start).

Non fonctionnement et risques de sécurité

D’après mon expérience auprès de dizaines de clients ces dernières années, la configuration des navigateurs via GPO ou clés de registre est souvent absente, ou les utilisateurs utilisent un navigateur qui ne la prend pas en charge.

Ainsi, même si vous souhaitiez profiter du Seamless SSO (hors PC Entra ID joined/hybrid), il est probable que la configuration n’ait pas été finalisée, rendant la fonctionnalité inutile.

De plus, laisser cette option activée expose à un risque d’exploitation par des attaquants, comme indiqué dans ces articles.

Primary Refresh Token (PRT) : La solution pour les systèmes Windows modernes

Pour Windows 10, Windows Server 2016 et les versions ultérieures, le SSO via un jeton de rafraîchissement primaire (PRT) est la solution recommandée. PRT fonctionne de manière transparente sur les appareils enregistrés avec Microsoft Entra ID. Cela inclut :

  • Appareils Microsoft Entra Hybrid Joined : Appareils reliés à un domaine et synchronisés avec Microsoft Entra ID.
  • Appareils Microsoft Entra Joined : Appareils joints à Microsoft Entra ID.
  • Appareils Microsoft Entra Registered : Configurés par le biais de la fonction "Ajouter un compte professionnel ou scolaire".

Principales avantages du SSO basé sur PRT

  • Authentification moderne : PRT s'appuie sur l'authentification par jeton, réduisant ainsi la dépendance à l'égard des protocoles existants.
  • Large compatibilité : Fonctionne dans les environnements hybrides et cloud.
  • Sécurité renforcée : Prise en charge de fonctionnalités telles que l'accès conditionnel et l'authentification multifacteur.

Pour des conseils détaillés, reportez-vous à la documentation de Microsoft : https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-primary-refresh-token.

Auditer l'usage du Seamless SSO

Côté Entra ID, il ne semble pas y avoir de log relatif au Seamless SSO (à confirmer).
En revanche, côté AD, on peut analyser les événements 4769 sur l’ensemble des contrôleurs de domaine, en ciblant ceux où le Service Name est égal à AZUREADSSOACC$.

On obtient le nom de l'utilisateur qui s'est connecté dans Account name (cela peut varier selon la langue de l'OS).

Ou via PowerShell :

Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4769} | Where-Object {$_.Message -like "*azureadssoacc$*"}

Si tu veux juste récupérer les noms des utilisateurs et la date :

Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4769} | 
Where-Object {$_.Message -like "*azureadssoacc$*"} | 
ForEach-Object {
   $lines = $_.Message -split "`r?`n"
   # The 4th line (index 3) contains "Account Name: xxxx"
   if ($lines.Count -ge 4) {
       $accountLine = $lines[3]
       # Extract what follows "Account Name:" removing tabs/spaces
       if ($accountLine -match ":\s*(.+)$") {
           [PSCustomObject]@{
               TimeCreated = $_.TimeCreated
               AccountName = $matches[1].Trim()
           }
       }
   }
}

Comment supprimer Seamless SSO

Pour supprimer complètement Seamless SSO de votre environnement, procédez comme suit :

  1. Désactiver la fonction Seamless SSO dans Microsoft Entra Connect Sync (anciennement Azure AD Connect).
  2. Supprimer l'objet AZUREADSSOACC d'Active Directory.
  3. Supprimer les clés de registre liées à la configuration de Seamless SSO pour les navigateurs.

Ces actions garantissent une suppression propre de la fonctionnalité, réduisant ainsi les dépendances héritées et les risques potentiels pour la sécurité. Pour tout conseil ou soutien supplémentaire, n'hésitez pas me contacter.

Comments

banner-Bastien Perez
Bastien Perez's avatar

Freelance Microsoft 365 - Active Directory - Modern Workplace

France