Procédure : spécifier le contexte de sécurité des services

Remarque

Cet article ne s’applique pas aux services hébergés dans .NET. Pour obtenir le contenu le plus récent sur les services Windows utilisant Microsoft.Extensions.Hosting.BackgroundService et le modèle Service Worker, consultez :

Par défaut, les services s’exécutent dans un contexte de sécurité différent de celui de l’utilisateur connecté. Les services s’exécutent dans le contexte du compte système par défaut, appelé LocalSystem, ce qui leur confère des privilèges d’accès aux ressources système différents de ceux de l’utilisateur. Vous pouvez changer ce comportement si vous souhaitez que votre service s’exécute sous un autre compte d’utilisateur.

Pour définir le contexte de sécurité, manipulez la propriété Account du processus dans lequel le service s’exécute. Cette propriété vous permet d’affecter au service l’un des quatre types de comptes suivants :

  • User : le système demande un nom d’utilisateur et un mot de passe valides quand le service est installé et s’exécute dans le contexte d’un compte spécifié par un utilisateur unique sur le réseau.

  • LocalService : s’exécute dans le contexte d’un compte qui se comporte comme un utilisateur non privilégié sur l’ordinateur local, et présente des informations d’identification anonymes à tout serveur distant.

  • LocalSystem : s’exécute dans le contexte d’un compte qui fournit des privilèges locaux étendus, et présente les informations d’identification de l’ordinateur à tout serveur distant.

  • NetworkService : s’exécute dans le contexte d’un compte qui se comporte comme un utilisateur non privilégié sur l’ordinateur local, et présente les informations d’identification de l’ordinateur à tout serveur distant.

Pour plus d’informations, consultez l’énumération ServiceAccount.

Pour spécifier le contexte de sécurité d’un service

  1. Après avoir créé votre service, ajoutez les programmes d’installation nécessaires à celui-ci. Pour plus d’informations, consultez Guide pratique pour ajouter des programmes d’installation à votre application de service.

  2. Dans le concepteur, accédez à la classe ProjectInstaller, puis cliquez sur le programme d’installation du processus de service pour le service que vous utilisez.

    Notes

    La classe ProjectInstaller comprend au moins deux composants d’installation pour chaque application de service : un qui installe les processus pour tous les services dans le projet, et un programme d’installation pour chaque service contenu dans l’application. Dans le cas présent, sélectionnez ServiceProcessInstaller.

  3. Dans la fenêtre Propriétés, définissez Account avec la valeur appropriée.

Voir aussi