Compartir a través de


Cuentas de usuario de servicio

Cada servicio se ejecuta en el contexto de seguridad de una cuenta de usuario. El nombre de usuario y la contraseña de una cuenta se especifican mediante la función CreateService en el momento en que se instala el servicio. El nombre de usuario y la contraseña se pueden cambiar mediante la función ChangeServiceConfig. Puede usar la función QueryServiceConfig para obtener el nombre de usuario (pero no la contraseña) asociado a un objeto de servicio. El administrador de control de servicio (SCM) carga automáticamente el perfil de usuario.

Al iniciar un servicio, el SCM inicia sesión en la cuenta asociada al servicio. Si el inicio de sesión se realiza correctamente, el sistema genera un token de acceso y lo asocia al nuevo proceso de servicio. Este token identifica el proceso de servicio en todas las interacciones posteriores con objetos protegibles (objetos que tienen un descriptor de seguridad asociado a ellos). Por ejemplo, si el servicio intenta abrir un identificador en una canalización, el sistema compara el token de acceso del servicio con el descriptor de seguridad de la canalización antes de conceder acceso.

El SCM no mantiene las contraseñas de las cuentas de usuario de servicio. Si una contraseña ha expirado, se produce un error en el inicio de sesión y el servicio no se inicia. El administrador del sistema que asigna cuentas a los servicios puede crear cuentas con contraseñas que nunca expiran. El administrador también puede administrar cuentas con contraseñas que expiren mediante un programa de configuración de servicio para cambiar periódicamente las contraseñas.

Si un servicio necesita reconocer otro servicio antes de compartir su información, el segundo servicio puede usar la misma cuenta que el primer servicio, o bien puede ejecutarse en una cuenta que pertenezca a un alias reconocido por el primer servicio. Los servicios que necesitan ejecutarse de forma distribuida en toda la red deben ejecutarse en cuentas de todo el dominio.

Puede especificar una de las siguientes cuentas especiales en lugar de especificar una cuenta de usuario para el servicio: