Ausführen eines Containers mit einem gMSA
Gilt für: Windows Server 2022, Windows Server 2019
Stellen Sie zum Ausführen eines Containers mit einem gruppenverwalteten Dienstkonto (gMSA) die Spezifikationsdatei für die Anmeldeinformationen dem Parameter --security-opt
von docker run zur Verfügung:
docker run --security-opt "credentialspec=file://contoso_webapp01.json" --hostname webapp01 -it mcr.microsoft.com/windows/server:ltsc2022 powershell
Wichtig
Unter Windows Server 2016, Version 1709 und 1803, muss der Hostname des Containers mit dem Namen des gMSA-Kurznamens identisch sein.
Im vorherigen Beispiel lautet der gMSA SAM-Kontoname webapp01, sodass der Containerhostname ebenfalls webapp01 genannt wird.
Unter Windows Server 2019 und höher ist das Feld „Hostname“ nicht erforderlich, aber der Container identifiziert sich immer noch über den gMSA-Namen anstelle des Hostnamens, auch wenn Sie explizit einen anderen angeben.
Führen Sie das folgende Cmdlet im Container aus, um zu überprüfen, ob das gMSA ordnungsgemäß funktioniert:
# 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
Wenn der vertrauenswürdige DC-Verbindungsstatus und der Überprüfungsstatus der Vertrauensstellung nicht NERR_Success
sind, befolgen Sie die Anweisungen zur Problembehandlung, um das Problem zu beheben.
Sie können die gMSA-Identität aus dem Container heraus überprüfen, indem Sie den folgenden Befehl ausführen und den Clientnamen überprüfen:
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
[...]
Zum Öffnen von PowerShell oder einer anderen Konsolenanwendung als gMSA-Konto können Sie den Container auffordern, unter dem Netzwerkdienstkonto statt unter dem normalen ContainerAdministrator-Konto (oder ContainerUser für NanoServer) ausgeführt zu werden:
# 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
Wenn Sie als Netzwerkdienst ausführen, können Sie die Netzwerkauthentifizierung als gMSA testen, indem Sie versuchen, eine Verbindung zu SYSVOL auf einem Domänencontroller herzustellen:
# 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
Nächste Schritte
Zusätzlich zum Ausführen von Containern können Sie gMSAs auch zu Folgendem verwenden:
Wenn während des Setups Probleme auftreten, überprüfen Sie unseren Leitfaden zur Problembehandlung auf mögliche Lösungen.