Compartilhar via


Configurar seu aplicativo para usar uma gMSA

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

Na configuração típica, um contêiner recebe apenas uma conta de serviço gerenciado de grupo (gMSA) que é usada sempre que a conta de computador de contêiner tenta se autenticar nos recursos de rede. Isso significa que seu aplicativo precisará ser executado como do Sistema Local ou Serviço de Rede se precisar usar a identidade gMSA. Os contêineres também podem ser configurados com gMSAs adicionais, caso você queira executar um serviço ou aplicativo no contêiner como uma identidade diferente da conta de computador do contêiner.

Executar um pool de aplicativos do IIS como Serviço de Rede

Se você estiver hospedando um site do IIS em seu contêiner, tudo o que você precisa fazer para aproveitar a gMSA é definir a identidade do pool de aplicativos para serviço de rede. Você pode fazer isso no Dockerfile adicionando o seguinte comando:

RUN %windir%\system32\inetsrv\appcmd.exe set AppPool DefaultAppPool -'processModel.identityType':NetworkService

Se você usou anteriormente as credenciais de usuário estático para o pool de aplicativos do IIS, considere a gMSA como a substituição dessas credenciais. Você pode alterar a gMSA entre ambientes de desenvolvimento, teste e produção e o IIS selecionará automaticamente a identidade atual sem precisar alterar a imagem do contêiner.

Executar um serviço do Windows como Serviço de Rede

Se o aplicativo em contêineres for executado como um serviço windows, você poderá definir o serviço para ser executado como Serviço de Rede em seu Dockerfile:

RUN sc.exe config "YourServiceName" obj= "NT AUTHORITY\NETWORK SERVICE" password= ""

Executar aplicativos de console arbitrários como Serviço de Rede

Para aplicativos de console genéricos que não estão hospedados no IIS ou no Service Manager, geralmente é mais fácil executar o contêiner como Serviço de Rede para que o aplicativo herde automaticamente o contexto gMSA. Esse recurso está disponível a partir do Windows Server versão 1709.

Adicione a seguinte linha ao Dockerfile para que ela seja executada como Serviço de Rede por padrão:

USER "NT AUTHORITY\NETWORK SERVICE"

Você também pode se conectar a um contêiner como um Serviço de Rede de forma pontual com docker exec. Isso é particularmente útil se você estiver solucionando problemas de conectividade em um contêiner em execução quando o contêiner normalmente não é executado como Serviço de Rede.

# Opens an interactive PowerShell console in the container (id = 85d) as the Network Service account
docker exec -it --user "NT AUTHORITY\NETWORK SERVICE" 85d powershell

Além de configurar aplicativos, você também pode usar gMSAs para:

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