Eseguire un container con un account del Servizio Gestito di Gruppo
Si applica a: Windows Server 2025, Windows Server 2022, Windows Server 2019
Per eseguire un contenitore con un account del servizio gestito di gruppo (gMSA), fornire il file delle specifiche delle credenziali al parametro --security-opt
di docker run :
docker run --security-opt "credentialspec=file://contoso_webapp01.json" --hostname webapp01 -it mcr.microsoft.com/windows/server:ltsc2022 powershell
Importante
Nelle versioni di Windows Server 2016 1709 e 1803, l'hostname del contenitore deve corrispondere al nome breve del gMSA.
Nell'esempio precedente, il nome dell'account SAM del servizio gestito del gruppo è webapp01, quindi il nome host del contenitore viene denominato anche webapp01.
In Windows Server 2019 e nelle versioni successive, il campo del nome host non è obbligatorio. Tuttavia, il contenitore continuerà a identificarsi con il nome gMSA anziché con il nome host, anche se viene fornito esplicitamente un nome diverso.
Per verificare se la gMSA funziona correttamente, eseguire il seguente cmdlet nel contenitore:
# 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
Se lo stato della connessione del Trusted DC e lo stato di verifica dell'attendibilità non sono NERR_Success
, per eseguire il debug del problema seguire le istruzioni per la risoluzione dei problemi .
È possibile verificare l'identità del gMSA dall'interno del contenitore eseguendo il comando seguente e controllando il nome del cliente:
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
[...]
Per aprire PowerShell o un'altra app console come account gMSA, si può configurare il contenitore per essere eseguito con l'account Servizio di rete invece del normale account ContainerAdministrator (o ContainerUser per 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
Quando si esegue come Servizio di rete, è possibile testare l'autenticazione di rete con un gMSA provando a connettersi al SYSVOL su un controller di dominio.
# 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
Contenuto correlato
Oltre a eseguire contenitori, è anche possibile usare gli account del servizio gestito del gruppo per:
- Configurare le app
- orchestrare i contenitori
- Con account del servizio gestito del gruppo nel servizio Azure Kubernetes
Se si verificano problemi durante l'installazione, consultare la guida alla risoluzione dei problemi per le possibili soluzioni.