Procédure

Créer un gMSA pour un service Windows

Créer un group Managed Service Account (gMSA), limiter les serveurs autorisés à récupérer son mot de passe et valider le compte sur un serveur pilote avant de basculer un service Windows en production.

⌚ Environ 5 min de lecture
Voir mes favoris
DomaineActive DirectoryNiveauIntermédiaireDurée45-90 minRisqueÉlevé

Objectif

Créer un group Managed Service Account (gMSA), limiter les serveurs autorisés à récupérer son mot de passe et valider le compte sur un serveur pilote avant de basculer un service Windows en production.

Prérequis

  • Active Directory opérationnel et module ActiveDirectory PowerShell disponible.
  • Droits de création d’un gMSA ou délégation correspondante.
  • Groupe de sécurité contenant les serveurs hôtes autorisés, par exemple GG-gMSA-App-HOSTS.
  • Inventaire du service cible, de son compte actuel, de ses SPN et de ses dépendances réseau.

Procédure pas à pas

1

Vérifier la clé racine KDS

La distribution automatique du mot de passe gMSA dépend du Key Distribution Service. Vérifiez d’abord si une clé racine existe déjà. Dans une forêt existante qui utilise déjà des gMSA, n’en ajoutez pas une nouvelle sans raison documentée.

Get-KdsRootKey
Résultat attendu
  • Au moins une clé racine valide est visible si des gMSA sont déjà en service.
2

Créer la clé KDS uniquement si nécessaire

S’il n’existe aucune clé KDS, créez-la une seule fois pour la forêt. En production multi-DC, prévoyez le délai de réplication nécessaire avant d’utiliser le premier gMSA. Évitez les astuces consistant à antidater la clé dans un environnement réel.

Add-KdsRootKey
Résultat attendu
  • La clé est créée et devient utilisable après convergence de la réplication.

Note : Dans un laboratoire à DC unique, les méthodes accélérant l’effet peuvent avoir un intérêt de test ; ne transposez pas ce raccourci sans comprendre son impact en production.

3

Créer le groupe d’hôtes autorisés

Utilisez un groupe de sécurité dédié par gMSA ou par service homogène. Ajoutez uniquement les comptes ordinateurs des serveurs qui doivent récupérer le mot de passe géré.

New-ADGroup -Name "GG-gMSA-App-HOSTS" -GroupScope Global -GroupCategory Security -Path "OU=Groupes,DC=contoso,DC=local"
Add-ADGroupMember -Identity "GG-gMSA-App-HOSTS" -Members "SRV-APP01$","SRV-APP02$"
Résultat attendu
  • Le groupe contient exclusivement les hôtes attendus.
4

Créer le gMSA

Créez le compte avec un nom unique dans la forêt et autorisez le groupe d’hôtes à récupérer le mot de passe géré. Adaptez le DNSHostName au nom de service prévu. Si un SPN spécifique est nécessaire, documentez-le et évitez les doublons.

New-ADServiceAccount -Name "gmsa-App" -DNSHostName "gmsa-app.contoso.local" -PrincipalsAllowedToRetrieveManagedPassword "GG-gMSA-App-HOSTS"
Get-ADServiceAccount -Identity "gmsa-App" -Properties PrincipalsAllowedToRetrieveManagedPassword,ServicePrincipalNames | Format-List
Résultat attendu
  • L’objet gMSA existe et le groupe d’hôtes autorisés est correct.
5

Installer et tester le gMSA sur un serveur pilote

Sur le serveur qui exécutera le service, installez la fonctionnalité RSAT Active Directory PowerShell si nécessaire, puis installez/testez le compte. Le test doit retourner True avant toute bascule du service.

Install-ADServiceAccount -Identity "gmsa-App"
Test-ADServiceAccount -Identity "gmsa-App"
Résultat attendu
  • Test-ADServiceAccount retourne True.
6

Préparer les droits applicatifs

Accordez au gMSA les mêmes droits strictement nécessaires que l’ancien compte : ACL de dossiers, partages, base de données, certificats privés, droits locaux et autorisations applicatives. Ne copiez pas automatiquement les groupes d’un ancien compte de service sur-privilégié.

Résultat attendu
  • Le gMSA peut atteindre chaque dépendance requise sans appartenir à un groupe administratif générique.
7

Basculer le service en fenêtre pilote

Configurez le service ou l’application pour utiliser CONTOSOgmsa-App$. Pour un gMSA, le mot de passe est géré par Windows et ne doit pas être stocké dans un coffre applicatif comme un secret statique. Redémarrez le service et observez immédiatement les journaux système, applicatifs et de sécurité.

Get-Service -Name "NomDuService"
Get-WinEvent -FilterHashtable @{LogName="System";StartTime=(Get-Date).AddMinutes(-15)} | Select-Object TimeCreated,Id,ProviderName,Message
Résultat attendu
  • Le service démarre sous le gMSA et ses accès réseau fonctionnent.
8

Valider puis étendre

Testez les fonctions métier, Kerberos si applicable, tâches planifiées et accès distants. Si plusieurs hôtes utilisent le même gMSA, ajoutez-les progressivement au groupe autorisé et validez Test-ADServiceAccount sur chacun.

Test-ADServiceAccount -Identity "gmsa-App"
Get-KdsRootKey
Résultat attendu
  • Tous les hôtes cibles testent le gMSA avec succès et aucune authentification n’échoue après la bascule.

Validation

La procédure est validée lorsque :

  • Test-ADServiceAccount retourne True sur chaque serveur autorisé.
  • Le service démarre et réalise ses opérations réseau avec le gMSA.
  • Le groupe PrincipalsAllowedToRetrieveManagedPassword ne contient aucun serveur inutile.
  • Les SPN sont uniques et les journaux ne montrent pas d’échecs Kerberos ou de connexion liés au nouveau compte.

Retour arrière

  • Reconfigurer le service avec l’ancien compte documenté et redémarrer le service.
  • Retirer temporairement le serveur du groupe d’hôtes autorisés si le pilote est abandonné.
  • Ne supprimez le gMSA qu’après avoir vérifié qu’aucun autre service ou serveur ne l’utilise.

Dépannage / erreurs fréquentes

  • Test-ADServiceAccount = False : contrôler l’appartenance du compte ordinateur au groupe autorisé, la réplication AD et redémarrer/actualiser le jeton du serveur après changement de groupe.
  • Échec d’authentification après des changements de clés KDS : inventorier Get-KdsRootKey et vérifier le niveau de correctif des DC avant toute action destructive.
  • Kerberos ne fonctionne pas : rechercher les SPN dupliqués et vérifier que le nom réellement utilisé par les clients correspond au SPN du service.
  • Le service démarre mais n’accède plus aux ressources : comparer les ACL et droits applicatifs de l’ancien compte sans réintroduire des privilèges excessifs.

Références officielles

♡ 0