Compartilhar via


Executar um contêiner com uma gMSA

Aplica-se a: Windows Server 2022, Windows Server 2019

Para executar um contêiner com uma Conta de Serviço Gerenciado de Grupo (gMSA), forneça o arquivo de especificação de credencial para o parâmetro --security-opt de execução do Docker:

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

Importante

No Windows Server 2016, versões 1709 e 1803, o nome do host do contêiner deve corresponder ao nome curto do gMSA.

No exemplo anterior, o nome da conta SAM da gMSA é webapp01, portanto, o nome do host do contêiner também é denominado webapp01.

No Windows Server 2019 e posterior, o campo HostName não é necessário, mas o contêiner ainda se identificará pelo nome da gMSA em vez do nome do host, mesmo que você forneça explicitamente um diferente.

Para verificar se a gMSA está funcionando corretamente, execute o seguinte cmdlet no contêiner:

# 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 o Status da Conexão DC confiável e o Status de Verificação de Confiança não forem NERR_Success, siga as instruções de solução de problemas para depurar o problema.

Você pode verificar a identidade da gMSA de dentro do contêiner executando o seguinte comando e verificando o nome do 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

[...]

Para abrir o PowerShell ou outro aplicativo de console como a conta da gMSA, você pode solicitar que o contêiner seja executado na conta de serviço de rede em vez da conta normal ContainerAdministrator (ou ContainerUser para o 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 estiver executando como Serviço de Rede, você pode testar a autenticação de rede como a gMSA tentando se conectar ao SYSVOL em um controlador de domínio:

# 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

Próximas etapas

Além de executar os contêineres, você também pode usar as gMSAs para:

Se você tiver problemas durante a instalação, consulte nosso guia de solução de problemas para obter soluções possíveis.