Porady: określanie kontekstu zabezpieczeń dla usług

Uwaga

Ten artykuł nie dotyczy hostowanych usług na platformie .NET. Aby uzyskać najnowszą zawartość w usługach systemu Windows przy użyciu Microsoft.Extensions.Hosting.BackgroundService i szablonie usługi procesu roboczego, zobacz:

Domyślnie usługi działają w innym kontekście zabezpieczeń niż w przypadku zalogowanego użytkownika. Usługi są uruchamiane w kontekście domyślnego konta systemowego o nazwie LocalSystem, które daje im różne uprawnienia dostępu do zasobów systemowych niż użytkownik. To zachowanie można zmienić, aby określić inne konto użytkownika, w ramach którego usługa ma być uruchomiona.

Kontekst zabezpieczeń można ustawić, manipulując Account właściwością procesu, w ramach którego jest uruchamiana usługa. Ta właściwość umożliwia ustawienie usługi na jeden z czterech typów kont:

  • User, co powoduje, że system wyświetli monit o prawidłową nazwę użytkownika i hasło podczas instalacji usługi i działa w kontekście konta określonego przez jednego użytkownika w sieci;

  • LocalService, który działa w kontekście konta, które działa jako użytkownik nieuprzywilejowany na komputerze lokalnym, i przedstawia anonimowe poświadczenia do dowolnego serwera zdalnego;

  • LocalSystem, który działa w kontekście konta, które zapewnia szerokie uprawnienia lokalne, i przedstawia poświadczenia komputera do dowolnego serwera zdalnego;

  • NetworkService, który działa w kontekście konta, które działa jako użytkownik nieuprzywilejowany na komputerze lokalnym, i przedstawia poświadczenia komputera do dowolnego serwera zdalnego.

Aby uzyskać więcej informacji, zobacz ServiceAccount wyliczenie.

Aby określić kontekst zabezpieczeń dla usługi

  1. Po utworzeniu usługi dodaj niezbędne instalatory. Aby uzyskać więcej informacji, zobacz How to: Add Installers to Your Service Application (Instrukcje: dodawanie instalatorów do aplikacji usługi).

  2. W projektancie uzyskaj dostęp do ProjectInstaller klasy i kliknij instalatora procesu usługi dla usługi, z którą pracujesz.

    Uwaga

    Dla każdej aplikacji usługi w klasie znajdują się co najmniej dwa składniki ProjectInstaller instalacyjne — jeden, który instaluje procesy dla wszystkich usług w projekcie, oraz jeden instalator dla każdej usługi, którą zawiera aplikacja. W tym wystąpieniu chcesz wybrać pozycję ServiceProcessInstaller.

  3. W oknie Właściwości ustaw Account wartość na odpowiednią wartość.

Zobacz też