방법: 서비스에 대한 보안 컨텍스트 지정
참고 항목
이 문서는 .NET의 호스트된 서비스에는 적용되지 않습니다. Microsoft.Extensions.Hosting.BackgroundService 및 Worker Service 템플릿을 사용하는 Windows 서비스의 최신 콘텐츠는 다음을 참조하세요.
기본적으로 서비스는 로그인한 사용자와 다른 보안 컨텍스트에서 실행됩니다. 서비스는 기본 시스템 계정 LocalSystem
의 컨텍스트에서 실행되므로, 시스템 리소스에 대해 사용자와는 다른 액세스 권한을 받습니다. 이 동작을 변경하여 서비스를 실행할 다른 사용자 계정을 지정할 수 있습니다.
보안 컨텍스트는 서비스가 실행되는 프로세스에 대한 Account 속성을 조작하여 설정합니다. 이 속성을 사용하면 서비스를 다음 네 가지 계정 유형 중 하나로 설정할 수 있습니다.
User
- 네트워크의 단일 사용자가 지정한 계정의 컨텐스트에서 서비스가 설치 및 실행될 때 시스템에서 유효한 사용자 이름과 암호를 묻는 메시지를 표시합니다.LocalService
- 로컬 컴퓨터에서 권한 없는 사용자의 역할을 하며 원격 서버에 익명 자격 증명을 제공하는 계정의 컨텍스트에서 실행됩니다.LocalSystem
- 광범위한 로컬 권한을 제공하며 원격 서버에 컴퓨터의 자격 증명을 제공하는 계정의 컨텍스트에서 실행됩니다.NetworkService
- 로컬 컴퓨터에서 권한 없는 사용자 역할을 하며 원격 서버에 컴퓨터의 자격 증명을 제공하는 계정의 컨텍스트에서 실행됩니다.
자세한 내용은 ServiceAccount 열거형을 참조하세요.
서비스에 대한 보안 컨텍스트를 지정하려면
서비스를 만든 후 서비스에 필요한 설치 관리자를 추가합니다. 자세한 내용은 How to: Add Installers to Your Service Application(방법: 서비스 애플리케이션에 설치 관리자 추가)을 참조하세요.
디자이너에서
ProjectInstaller
클래스에 액세스하고 작업 중인 서비스에 대한 서비스 프로세스 설치 관리자를 클릭합니다.참고 항목
모든 서비스 애플리케이션의
ProjectInstaller
클래스에는 적어도 두 개의 설치 구성 요소가 있는데, 프로젝트의 모든 서비스에 대한 프로세스를 설치하는 구성 요소와 애플리케이션에 포함된 각 서비스에 대한 설치 관리자 1개입니다. 이 인스턴스에서 ServiceProcessInstaller을 선택할 수 있습니다.속성 창에서 Account를 적절한 값으로 설정합니다.
참고 항목
.NET