共用方式為


使用 gMSA 執行容器

適用于:Windows Server 2022、Windows Server 2019

若要使用群組受控服務帳戶 (gMSA) 執行容器,請將認證規格檔案提供給 docker run--security-opt 參數:

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

重要

在 Windows Server 2016 版本 1709 和 1803 上,容器的主機名稱必須符合 gMSA 的簡短名稱。

在上述範例中,gMSA SAM 帳戶名稱是 webapp01,因此容器主機名稱也會命名為 webapp01

Windows Server 2019 和更新版本上不需要主機名稱欄位,但是即使您明確地提供不同的主機名稱,容器仍然會以 gMSA 名稱 (而不是主機名稱) 來識別自己。

若要檢查 gMSA 是否正常運作,請在容器中執行下列 Cmdlet:

# 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

如果信任的 DC 線上狀態和信任驗證狀態不是 NERR_Success,請遵循疑難排解指示來對問題進行偵錯。

您可以執行下列命令並檢查用戶端名稱,以確認容器內的 gMSA 身分識別:

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

[...]

若要以 gMSA 帳戶開啟 PowerShell 或另一個主控台應用程式,您可以要求在「網路服務」帳戶下執行容器,而不是一般的 ContainerAdministrator (或 NanoServer 的 ContainerUser) 帳戶:

# 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

當您以「網路服務」的身分執行時,您可以嘗試連線到網域控制站上的 SYSVOL,以 gMSA 身分來測試網路驗證:

# 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

接下來的步驟

除了執行容器,您也可以使用 gMSA 來執行下列動作:

如果您在設定期間遇到任何問題,請參閱我們的疑難排解指南以找到可能的解決方案。