方法: サービスのセキュリティ コンテキストを指定するHow to: Specify the Security Context for Services

既定では、サービスはログインしているユーザーのセキュリティ コンテキストとは異なるセキュリティ コンテキストで実行します。By default, services run in a different security context than that of the logged-in user. サービスは LocalSystem という名前の既定のシステム アカウントのコンテキストで実行し、このコンテキストはサービスに対してユーザーとは異なるシステム リソースへのアクセス特権を付与します。Services run in the context of the default system account, called LocalSystem, which gives them different access privileges to system resources than the user. この動作を変更し、サービスの実行が異なるユーザー アカウントで行われるように指定することができます。You can change this behavior to specify a different user account under which your service should run.

サービスが実行しているプロセスの Account プロパティを操作することで、セキュリティ コンテキストを設定します。You set the security context by manipulating the Account property for the process within which the service runs. このプロパティでは、次の 4 種類のアカウントのいずれかに、サービスを設定できます。This property allows you to set the service to one of four account types:

  • User: システムは、サービスのインストール時に有効なユーザー名とパスワードの指定を要求し、ネットワーク上の 1 人のユーザーによって指定されたアカウントのコンテキストで実行します。User, which causes the system to prompt for a valid user name and password when the service is installed and runs in the context of an account specified by a single user on the network;

  • LocalService: ローカル コンピューター上で非特権ユーザーとして機能し、リモート サーバーに匿名の資格情報を提示するアカウントのコンテキストで実行します。LocalService, which runs in the context of an account that acts as a non-privileged user on the local computer, and presents anonymous credentials to any remote server;

  • LocalSystem: 広範なローカル特権を提供し、リモート サーバーにコンピューターの資格情報を提示するアカウントのコンテキストで実行します。LocalSystem, which runs in the context of an account that provides extensive local privileges, and presents the computer's credentials to any remote server;

  • NetworkService: ローカル コンピューター上で非特権ユーザーとして機能し、リモート サーバーにコンピューターの資格情報を提示するアカウントのコンテキストで実行します。NetworkService, which runs in the context of an account that acts as a non-privileged user on the local computer, and presents the computer's credentials to any remote server.

詳細については、ServiceAccount 列挙型のページをご覧ください。For more information, see the ServiceAccount enumeration.

サービスのセキュリティ コンテキストを指定するにはTo specify the security context for a service

  1. サービスの作成後、必要なインストーラーを追加します。After creating your service, add the necessary installers for it. 詳細については、「方法 :サービス アプリケーションにインストーラーを追加する」を参照してください。For more information, see How to: Add Installers to Your Service Application.

  2. デザイナーで、ProjectInstaller クラスにアクセスし、対象となるサービスのサービス プロセス インストーラーをクリックします。In the designer, access the ProjectInstaller class and click the service process installer for the service you are working with.

    注意

    すべてのサービス アプリケーションについて、ProjectInstaller クラスには少なくとも 2 つのインストール コンポーネントがあります。プロジェクト内のすべてのサービスに対するプロセスをインストールするものと、アプリケーションに含まれるサービスごとに 1 つのインストーラーです。For every service application, there are at least two installation components in the ProjectInstaller class — one that installs the processes for all services in the project, and one installer for each service the application contains. このインスタンスでは、ServiceProcessInstaller を選びます。In this instance, you want to select ServiceProcessInstaller.

  3. [プロパティ] ウィンドウで、Account を適切な値に設定します。In the Properties window, set the Account to the appropriate value.

関連項目See also