Exécuter un conteneur avec un gMSA
S’applique à : Windows Server 2025, Windows Server 2022, Windows Server 2019
Pour exécuter un conteneur avec un compte de service administré de groupe (gMSA), fournissez le fichier de spécification des informations d'identification au paramètre --security-opt
de docker run:
docker run --security-opt "credentialspec=file://contoso_webapp01.json" --hostname webapp01 -it mcr.microsoft.com/windows/server:ltsc2022 powershell
Important
Sur Windows Server 2016 versions 1709 et 1803, le nom d’hôte du conteneur doit correspondre au nom court gMSA.
Dans l’exemple précédent, le nom du compte SAM gMSA est webapp01. Par conséquent, le nom d’hôte du conteneur est également nommé webapp01.
Sur Windows Server 2019 et versions ultérieures, le champ nom d’hôte n’est pas obligatoire, mais le conteneur s’identifie toujours par le nom gMSA au lieu du nom d’hôte, même si vous fournissez explicitement un autre nom.
Pour vérifier si le gMSA fonctionne correctement, exécutez l’applet de commande suivante dans le conteneur :
# Replace contoso.com with your own domain
PS C:\> nltest /sc_verify:contoso.com
Flags: b0 HAS_IP HAS_TIMESERV
Trusted DC Name \\dc01.contoso.com
Trusted DC Connection Status Status = 0 0x0 NERR_Success
Trust Verification Status = 0 0x0 NERR_Success
The command completed successfully
Si le statut de connexion DC de confiance et le statut de vérification de la confiance ne sont pas NERR_Success
, suivez les instructions de dépannage pour résoudre le problème.
Vous pouvez vérifier l’identité gMSA à partir du conteneur en exécutant la commande suivante et en vérifiant le nom du client :
PS C:\> klist get webapp01
Current LogonId is 0:0xaa79ef8
A ticket to krbtgt has been retrieved successfully.
Cached Tickets: (2)
#0> Client: webapp01$ @ CONTOSO.COM
Server: krbtgt/webapp01 @ CONTOSO.COM
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
Start Time: 3/21/2019 4:17:53 (local)
End Time: 3/21/2019 14:17:53 (local)
Renew Time: 3/28/2019 4:17:42 (local)
Session Key Type: AES-256-CTS-HMAC-SHA1-96
Cache Flags: 0
Kdc Called: dc01.contoso.com
[...]
Pour ouvrir PowerShell ou une autre application console en tant que compte gMSA, vous pouvez demander au conteneur de s’exécuter sous le compte de service réseau au lieu du compte ContainerAdministrator normal (ou ContainerUser pour NanoServer) :
# NOTE: you can only run as Network Service or SYSTEM on Windows Server 1709 and later
docker run --security-opt "credentialspec=file://contoso_webapp01.json" --hostname webapp01 --user "NT AUTHORITY\NETWORK SERVICE" -it mcr.microsoft.com/windows/servercore:ltsc2019 powershell
Lorsque vous exécutez en tant que service réseau, vous pouvez tester l’authentification réseau en tant que gMSA en essayant de se connecter à SYSVOL sur un contrôleur de domaine :
# This command should succeed if you're successfully running as the gMSA
PS C:\> dir \\contoso.com\SYSVOL
Directory: \\contoso.com\sysvol
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----l 2/27/2019 8:09 PM contoso.com
Contenu connexe
Outre les conteneurs en cours d’exécution, vous pouvez également utiliser des gMSA pour :
- Configurer des applications
- Orchestrer des conteneurs
- Avec un compte de service administré de groupe sur Azure Kubernetes Service
Si vous rencontrez des problèmes lors de l’installation, consultez notre guide de résolution des problèmes pour connaître les solutions possibles.