Cómo: Especificar el contexto de seguridad de los servicios

Nota:

Este artículo no se aplica a los servicios hospedados en .NET. Para obtener el contenido más reciente sobre los servicios de Windows mediante Microsoft.Extensions.Hosting.BackgroundService y la plantilla de servicio de trabajador, consulte:

De forma predeterminada, los servicios se ejecutan en un contexto de seguridad diferente al del usuario que ha iniciado sesión. Los servicios se ejecutan en el contexto de la cuenta del sistema predeterminada, denominada LocalSystem, que les proporciona privilegios de acceso diferentes a los recursos del sistema que el usuario. Puede cambiar este comportamiento para especificar una cuenta de usuario diferente en la que se debe ejecutar el servicio.

Para establecer el contexto de seguridad, manipule la Account propiedad para el proceso en el que se ejecuta el servicio. Esta propiedad permite establecer el servicio en uno de los cuatro tipos de cuenta:

  • User, que hace que el sistema solicite un nombre de usuario y una contraseña válidos cuando se instala el servicio y se ejecuta en el contexto de una cuenta especificada por un solo usuario en la red;

  • LocalService, que se ejecuta en el contexto de una cuenta que actúa como usuario sin privilegios en el equipo local y presenta credenciales anónimas a cualquier servidor remoto;

  • LocalSystem, que se ejecuta en el contexto de una cuenta que proporciona privilegios locales extensos y presenta las credenciales del equipo a cualquier servidor remoto;

  • NetworkService, que se ejecuta en el contexto de una cuenta que actúa como un usuario sin privilegios en el equipo local y presenta las credenciales del equipo a cualquier servidor remoto.

Para obtener más información, vea la enumeración ServiceAccount.

Para especificar el contexto de seguridad de un servicio

  1. Después de crear el servicio, agregue los instaladores necesarios para él. Para obtener más información, consulte How to: Add Installers to Your Service Application(Cómo: Agregar instaladores a la aplicación de servicio).

  2. En el diseñador, acceda a la clase ProjectInstaller y haga clic en el instalador del proceso del servicio con el que está trabajando.

    Nota:

    Para cada aplicación de servicio, hay al menos dos componentes de instalación en la ProjectInstaller clase , uno que instala los procesos para todos los servicios del proyecto y un instalador para cada servicio que contiene la aplicación. En este caso, quieres seleccionar ServiceProcessInstaller.

  3. En la ventana Propiedades , establezca en Account el valor adecuado.

Consulte también