Configurare l'app per l'uso di un account del servizio gestito del gruppo

Si applica a: Windows Server 2022, Windows Server 2019

Nella configurazione tipica, a un contenitore viene assegnato solo un account del servizio gestito del gruppo che viene usato ogni volta che l'account del computer contenitore tenta di eseguire l'autenticazione alle risorse di rete. Se, quindi, l'app deve usare l'identità dell'account del servizio gestito del gruppo, dovrà essere eseguita come Sistema locale o Servizio di rete. I contenitori possono anche essere configurati con altri account del servizio gestito di gruppo, nel caso in cui tu voglia eseguire un servizio o un'applicazione nel contenitore come identità diversa dall'account computer del contenitore.

Eseguire un pool di app IIS come Servizio di rete

Se ospiti un sito Web IIS nel contenitore, per usare l'account del servizio gestito del gruppo, dovrai semplicemente impostare l'identità del pool di app su Servizio di rete. A questo scopo, aggiungi il comando seguente nel Dockerfile:

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

Se in precedenza hai usato credenziali utente statiche per il pool di app IIS, considera l'account del servizio gestito del gruppo come sostituzione di tali credenziali. Puoi modificare l'account del servizio gestito del gruppo tra gli ambienti di sviluppo, test e produzione e IIS rileverà automaticamente l'identità corrente senza dover modificare l'immagine del contenitore.

Eseguire un servizio Windows come Servizio di rete

Se l'app in contenitori viene eseguita come servizio Windows, puoi impostare il servizio in modo che venga eseguito come Servizio di rete nel Dockerfile:

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

Eseguire app console arbitrarie come Servizio di rete

Per le app console generiche che non sono ospitate in IIS o Service Manager, è spesso più semplice eseguire il contenitore come Servizio di rete, in modo che l'app erediti automaticamente il contesto dell'account del servizio gestito del gruppo. Questa funzionalità è disponibile a partire dalla versione 1709 di Windows Server.

Aggiungi la riga seguente al Dockerfile per eseguirla come Servizio di rete per impostazione predefinita:

USER "NT AUTHORITY\NETWORK SERVICE"

Puoi anche connetterti a un contenitore come Servizio di rete una tantum con docker exec. Questa operazione è particolarmente utile per la risoluzione dei problemi di connettività in un contenitore in esecuzione quando il contenitore non viene normalmente eseguito come Servizio di rete.

# 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

Passaggi successivi

Oltre che per la configurazione di app, puoi usare l'account del servizio gestito del gruppo per:

Per le soluzioni possibili, in caso di problemi durante l'installazione, consulta la guida alla risoluzione dei problemi.