다음을 통해 공유


방법: 서비스에 대한 보안 컨텍스트 지정

참고 항목

이 문서는 .NET의 호스트된 서비스에는 적용되지 않습니다. Microsoft.Extensions.Hosting.BackgroundService 및 Worker Service 템플릿을 사용하는 Windows 서비스의 최신 콘텐츠는 다음을 참조하세요.

기본적으로 서비스는 로그인한 사용자와 다른 보안 컨텍스트에서 실행됩니다. 서비스는 기본 시스템 계정 LocalSystem의 컨텍스트에서 실행되므로, 시스템 리소스에 대해 사용자와는 다른 액세스 권한을 받습니다. 이 동작을 변경하여 서비스를 실행할 다른 사용자 계정을 지정할 수 있습니다.

보안 컨텍스트는 서비스가 실행되는 프로세스에 대한 Account 속성을 조작하여 설정합니다. 이 속성을 사용하면 서비스를 다음 네 가지 계정 유형 중 하나로 설정할 수 있습니다.

  • User - 네트워크의 단일 사용자가 지정한 계정의 컨텐스트에서 서비스가 설치 및 실행될 때 시스템에서 유효한 사용자 이름과 암호를 묻는 메시지를 표시합니다.

  • LocalService - 로컬 컴퓨터에서 권한 없는 사용자의 역할을 하며 원격 서버에 익명 자격 증명을 제공하는 계정의 컨텍스트에서 실행됩니다.

  • LocalSystem - 광범위한 로컬 권한을 제공하며 원격 서버에 컴퓨터의 자격 증명을 제공하는 계정의 컨텍스트에서 실행됩니다.

  • NetworkService - 로컬 컴퓨터에서 권한 없는 사용자 역할을 하며 원격 서버에 컴퓨터의 자격 증명을 제공하는 계정의 컨텍스트에서 실행됩니다.

자세한 내용은 ServiceAccount 열거형을 참조하세요.

서비스에 대한 보안 컨텍스트를 지정하려면

  1. 서비스를 만든 후 서비스에 필요한 설치 관리자를 추가합니다. 자세한 내용은 How to: Add Installers to Your Service Application(방법: 서비스 애플리케이션에 설치 관리자 추가)을 참조하세요.

  2. 디자이너에서 ProjectInstaller 클래스에 액세스하고 작업 중인 서비스에 대한 서비스 프로세스 설치 관리자를 클릭합니다.

    참고 항목

    모든 서비스 애플리케이션의 ProjectInstaller 클래스에는 적어도 두 개의 설치 구성 요소가 있는데, 프로젝트의 모든 서비스에 대한 프로세스를 설치하는 구성 요소와 애플리케이션에 포함된 각 서비스에 대한 설치 관리자 1개입니다. 이 인스턴스에서 ServiceProcessInstaller을 선택할 수 있습니다.

  3. 속성 창에서 Account를 적절한 값으로 설정합니다.

참고 항목