Delen via


Een container draaien met een gMSA

Van toepassing op: Windows Server 2025, Windows Server 2022, Windows Server 2019

Als u een container wilt uitvoeren met een GMSA (Group Managed Service Account), geeft u het referentiespecificatiebestand op voor de parameter --security-opt van docker-uitvoering:

docker run --security-opt "credentialspec=file://contoso_webapp01.json" --hostname webapp01 -it mcr.microsoft.com/windows/server:ltsc2022 powershell

Belangrijk

Op Windows Server 2016 versies 1709 en 1803 moet de hostnaam van de container overeenkomen met de korte naam van gMSA.

In het vorige voorbeeld wordt de gMSA SAM-accountnaam webapp01, zodat de containerhostnaam ook de naam heeft webapp01.

Op Windows Server 2019 en hoger is het veld hostnaam niet vereist, maar de container identificeert zich nog steeds door de gMSA-naam in plaats van de hostnaam, zelfs als u expliciet een ander veld opgeeft.

Voer de volgende cmdlet uit in de container om te controleren of de gMSA correct werkt:

# 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

Als de verificatiestatus van de vertrouwensrelatie en de vertrouwde DC-verbinding niet NERR_Successzijn, volgt u de instructies voor het oplossen van problemen in om het probleem op te sporen.

U kunt de gMSA-identiteit vanuit de container controleren door de volgende opdracht uit te voeren en de clientnaam te controleren:

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

[...]

Als u PowerShell of een andere console-app wilt openen als het gMSA-account, kunt u de container vragen om te worden uitgevoerd onder het netwerkserviceaccount in plaats van het normale ContainerAdministrator-account (of ContainerUser voor 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

Wanneer u als netwerkservice werkt, kunt u netwerkverificatie testen als gMSA door verbinding te maken met SYSVOL op een domeincontroller:

# 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

Naast het uitvoeren van containers kunt u ook gMSA's gebruiken voor het volgende:

Als u problemen ondervindt tijdens de installatie, raadpleegt u onze gids voor probleemoplossing voor mogelijke oplossingen.