Compartir a través de


Ejecución de un contenedor con una gMSA

Se aplica a: Windows Server 2025, Windows Server 2022, Windows Server 2019

Para ejecutar un contenedor con una cuenta de servicio administrada de grupo (gMSA), proporcione el archivo de especificación de credenciales al parámetro --security-opt de docker run:

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

Importante

En las versiones 1709 y 1803 de Windows Server 2016, el nombre de host del contenedor debe coincidir con el nombre corto de gMSA.

En el ejemplo anterior, el nombre de cuenta sam de gMSA es webapp01, por lo que el nombre de host del contenedor también se denomina webapp01.

En Windows Server 2019 y versiones posteriores, el campo nombre de host no es necesario, pero el contenedor se seguirá identificando por el nombre de gMSA en lugar del nombre de host, incluso si se proporciona explícitamente otro.

Para comprobar si la gMSA funciona correctamente, ejecute el siguiente cmdlet en el contenedor:

# 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

Si el estado de conexión del controlador de dominio de confianza y el estado de comprobación de confianza no son NERR_Success, siga las instrucciones de solución de problemas para depurar el problema.

Para comprobar la identidad de gMSA desde el contenedor, ejecute el comando siguiente y compruebe el nombre 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

[...]

Para abrir PowerShell u otra aplicación de consola como la cuenta de gMSA, puede pedir al contenedor que se ejecute en la cuenta de servicio de red en lugar de la cuenta normal ContainerAdministrator (o ContainerUser para 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

Cuando se ejecuta como servicio de red, puede probar la autenticación de red como gMSA intentando conectarse a SYSVOL en un controlador de 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

Además de ejecutar contenedores, también puede usar gMSA para:

Si tiene algún problema durante la instalación, consulte nuestra guía de solución de problemas de para ver posibles soluciones.