Compartilhar via


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

Observação

Este artigo não se aplica aos serviços hospedados no .NET. Para obter o conteúdo mais recente sobre serviços do Windows usando Microsoft.Extensions.Hosting.BackgroundService e o modelo Worker Service, consulte:

Por padrão, os serviços são executados em um contexto de segurança diferente do que o usuário que fez logon. Os serviços são executados no contexto da conta padrão do sistema, chamada LocalSystem, que oferece a eles privilégios de acesso a recursos do sistema diferentes que os do usuário. Você pode alterar esse comportamento para especificar outra conta de usuário diferente com a qual o serviço deverá ser executado.

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

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

  • LocalService, que é executado no contexto de uma conta que age como um usuário sem privilégios no computador local e apresenta credenciais anônimas para qualquer servidor remoto;

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

  • NetworkService, que é executado no contexto de uma conta que age como um usuário sem privilégios no computador local e apresenta as credenciais do computador para qualquer servidor remoto.

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

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

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

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

    Observação

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

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

Confira também