À propos des comptes d’ouverture de session de service

Lorsqu’un service win32 démarre, il se connecte à l’ordinateur local. Il peut se connecter en tant que :

  • Un compte d’utilisateur local ou de domaine.
  • Compte LocalSystem.

Le compte d’ouverture de session détermine l’identité de sécurité du service au moment de l’exécution, c’est-à-dire le contexte de sécurité principal du service. Le contexte de sécurité détermine la capacité du service à accéder aux ressources locales et réseau. Par exemple, un service s’exécutant dans le contexte de sécurité d’un compte d’utilisateur local ne peut pas accéder aux ressources réseau. À l’inverse, un service exécuté dans le contexte de sécurité du compte LocalSystem sur un contrôleur de domaine Windows 2000 aurait un accès illimité au contrôleur de domaine. Pour plus d’informations et une présentation des avantages et des limitations entre les comptes d’utilisateur et LocalSystem, consultez Contextes de sécurité et services de domaine Active Directory.

Au final, les administrateurs sur le système sur lequel le service est installé contrôlent le compte d’ouverture de session du service. Pour des raisons de sécurité, certains administrateurs peuvent ne pas vous autoriser à installer votre service sous le compte LocalSystem. Votre service doit pouvoir s’exécuter sous un compte d’utilisateur de domaine. En tant que programmeur, vous pouvez exercer un certain contrôle sur le compte d’ouverture de session de votre service. Le programme d’installation de votre service spécifie le compte d’ouverture de session du service lorsqu’il appelle la fonction CreateService pour installer le service sur un ordinateur hôte. Votre programme d’installation peut suggérer un compte d’ouverture de session par défaut, mais il doit permettre à un administrateur de spécifier le compte réel.

Votre programme d’installation peut également effectuer les tâches suivantes relatives au compte d’ouverture de session de votre service :

  • Installation. Si vous installez votre service pour qu’il s’exécute sous un compte d’utilisateur, le compte doit exister avant d’appeler CreateService. Vous pouvez utiliser un compte existant ou en créer un dans le cadre du programme d’installation de l’ordinateur hôte. Pour plus d’informations, consultez Configuration du compte d’utilisateur d’un service.
  • Authentification. Si vous souhaitez que les clients utilisent l’authentification mutuelle Kerberos, inscrivez les SPN sur le compte d’ouverture de session du service. Si le service s’exécute sous le compte LocalSystem, le compte d’ouverture de session du service est le compte d’ordinateur de l’ordinateur hôte. Pour plus d'informations, consultez la page Noms de principal de service.
  • Accorder l’accès. Vérifiez que le service au moment de l’exécution dispose des droits d’accès et des privilèges dont il a besoin pour effectuer ses tâches. Cela peut nécessiter la définition d’entrées de contrôle d’accès (ASEE) dans les descripteurs de sécurité de diverses ressources, c’est-à-dire des objets d’annuaire, des partages de fichiers, etc., pour autoriser les droits d’accès nécessaires au compte d’utilisateur ou d’ordinateur. Pour plus d’informations, consultez Octroi de droits d’accès au compte d’ouverture de session de service.
  • Définissez des privilèges. Attribuez des privilèges au compte d’ouverture de session spécifié, tels que le droit d’ouvrir une session en tant que service sur l’ordinateur hôte. Pour plus d’informations, consultez Octroi de l’ouverture de session en tant que droit de service sur l’ordinateur hôte.

Une fois qu’un service est installé, des tâches de maintenance sont liées à votre compte d’ouverture de session de service. Pour plus d’informations, consultez Tâches de maintenance du compte d’ouverture de session.

  • Maintenance du mot de passe. Pour un service qui s’exécute sous un compte d’utilisateur, vous devez modifier régulièrement le mot de passe et le synchroniser avec le mot de passe utilisé par un ou plusieurs gestionnaires de contrôle de service locaux pour démarrer le service.
  • Maintenance du SPN. Si un compte d’ouverture de session de service change, supprimez les noms de principal du service inscrits sur l’ancien compte et inscrivez-les sur le nouveau compte. N’oubliez pas que lorsqu’un service est installé, un administrateur de domaine peut modifier le compte sous lequel votre service s’exécute . utilisez les fonctions Win32 ou l’interface utilisateur de l’outil d’administration Gestion de l’ordinateur.
  • Maintenance ACE. Si un compte d’ouverture de session de service change, vous devez mettre à jour les ACL et les appartenances aux groupes pour vous assurer que le service peut toujours accéder aux ressources nécessaires.