Como: Especificar o contexto de segurança para serviços

Nota

Este artigo não se aplica a serviços hospedados no .NET. Para obter o conteúdo mais recente sobre os serviços do Windows que usam Microsoft.Extensions.Hosting.BackgroundService e o modelo Serviço de Trabalho, consulte:

Por padrão, os serviços são executados em um contexto de segurança diferente do do usuário conectado. Os serviços são executados no contexto da conta padrão do sistema, chamada LocalSystem, que lhes dá privilégios de acesso aos recursos do sistema diferentes do usuário. Você pode alterar esse comportamento para especificar uma conta de usuário diferente sob a qual o serviço deve ser executado.

Você define o contexto de segurança manipulando a Account propriedade para o processo no qual o serviço é executado. Esta propriedade permite que você defina o serviço para um dos quatro tipos de conta:

  • User, que faz com que o sistema solicite um nome de utilizador e uma palavra-passe válidos quando o serviço é instalado e executado no contexto de uma conta especificada por um único utilizador na rede;

  • LocalService, que é executado no contexto de uma conta que atua como um usuário não privilegiado no computador local e apresenta credenciais anônimas para qualquer servidor remoto;

  • LocalSystem, que é executado no contexto de uma conta que fornece amplos privilégios locais e apresenta as credenciais do computador a qualquer servidor remoto;

  • NetworkService, que é executado no contexto de uma conta que atua como um usuário não privilegiado no computador local e apresenta as credenciais do computador a qualquer servidor remoto.

Para obter mais informações, consulte a ServiceAccount enumeração.

Para especificar o contexto de segurança de um serviço

  1. Depois de criar o seu serviço, adicione os instaladores necessários para ele. Para obter mais informações, consulte Como adicionar instaladores ao seu aplicativo de serviço.

  2. No designer, acesse a ProjectInstaller classe e clique no instalador do processo de serviço para o serviço com o qual você está trabalhando.

    Nota

    Para cada aplicativo de serviço, há pelo menos dois componentes de ProjectInstaller instalação na classe — um que instala os processos para todos os serviços no projeto e um instalador para cada serviço que o aplicativo contém. Neste caso, você deseja selecionar ServiceProcessInstaller.

  3. Na janela Propriedades, defina o Account para o valor apropriado.

Consulte também