Lire en anglais

Partager via


Configurez votre application pour utiliser un compte gMSA

S’applique à : Windows Server 2025, Windows Server 2022, Windows Server 2019

Dans la configuration classique, un conteneur ne reçoit qu’un seul compte de service administré de groupe (gMSA) utilisé chaque fois que le compte d’ordinateur conteneur tente de s’authentifier auprès des ressources réseau. Cela signifie que votre application doit s’exécuter en tant que système local ou service réseau s’il doit utiliser l’identité gMSA. Les conteneurs peuvent également être configurés avec des gMSA supplémentaires, au cas où vous souhaitez exécuter un service ou une application dans le conteneur sous la forme d’une identité différente du compte d’ordinateur conteneur.

Exécuter un pool d’applications IIS en tant que service réseau

Si vous hébergez un site web IIS dans votre conteneur, tout ce que vous devez faire pour tirer parti de gMSA est de définir l’identité de votre pool d’applications sur service réseau. Vous pouvez le faire dans votre fichier Dockerfile en ajoutant la commande suivante :

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

Si vous avez précédemment utilisé des informations d’identification utilisateur statiques pour votre pool d’applications IIS, considérez le compte gMSA comme remplacement de ces informations d’identification. Vous pouvez modifier le gMSA entre les environnements de développement, de test et de production, et IIS récupère automatiquement l’identité actuelle sans avoir à modifier l’image conteneur.

Exécuter un service Windows en tant que service réseau

Si votre application conteneurisée s’exécute en tant que service Windows, vous pouvez définir le service pour qu’il s’exécute en tant que service réseau dans votre fichier Dockerfile :

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

Exécuter des applications console arbitraires en tant que service réseau

Pour les applications console génériques qui ne sont pas hébergées dans IIS ou Service Manager, il est souvent plus facile d’exécuter le conteneur en tant que service réseau afin que l’application hérite automatiquement du contexte gMSA. Cette fonctionnalité est disponible à partir de Windows Server version 1709.

Ajoutez la ligne suivante à votre fichier Dockerfile pour qu’il s’exécute en tant que service réseau par défaut :

Dockerfile
USER "NT AUTHORITY\NETWORK SERVICE"

Vous pouvez également vous connecter à un conteneur en tant que service réseau sur une base unique avec docker exec. Cela est particulièrement utile si vous résolvez les problèmes de connectivité dans un conteneur en cours d’exécution lorsque le conteneur ne s’exécute pas normalement en tant que service réseau.

PowerShell
# 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

En plus de configurer des applications, vous pouvez également utiliser des gMSA pour :

Si vous rencontrez des problèmes lors de l’installation, consultez notre guide de résolution des problèmes pour connaître les solutions possibles.