このトピックでは、サービスや実行可能ファイルとして動作する COBOL プログラムの実行制御について説明します。
COBOL プログラムがエンタープライズ サーバー インスタンスで Micro Focus サービスとして動作する場合、プログラムはそのセキュリティ資格証明を、SEP を起動したサーバー マネージャー プロセスから継承します。
通常、エンタープライズ サーバーは、MF ディレクトリ サーバーの Web インターフェイスである Micro Focus Enterprise Server Administration ユーザー インターフェイスを使用して起動します。このイベントでは、Enterprise Server Administration (ES Admin) が Windows システム サービスとして動作します。これは、サービス コントロール パネルに [Micro Focus Directory Server] としてリストされます。Windows システム サービスは、そのスタートアップ オプションで指定されたユーザー アカウントで動作します。サービス コントロール パネルを使用して、スタートアップ オプションの表示や変更を行うことができます。
インタラクティブ ユーザーによってコマンド ラインから実行される casstart プログラムを使用してエンタープライズ サーバーを起動する場合、COBOL サービス プログラムではそのユーザーのセキュリティ資格証明が使用されます。
エンタープライズ サーバーをインストールすると、[デスクトップとの対話をサービスに許可] オプションが選択されている場合、MF ディレクトリ サーバーがローカル システムのユーザー アカウントを使用してシステム サービスとしてインストールされます。このオプションが選択されている場合は、次のようになります。
ローカル システム アカウントに、ネットワーク ファイル アクセスの権限はありません。つまり、デフォルトの構成を使用して、MFDS から起動したエンタープライズ サーバー インスタンスで実行している COBOL サービス プログラムはネットワーク ファイルを開くことができません。COBOL サービス プログラムからネットワーク ファイルにアクセスできるようにするには、次のいずれかの方法を使用します。
COBOL サービス プログラムではログインしたユーザーのネットワーク資格証明を使用するため、ログインしたユーザーが認可権を持つファイルにアクセスできます。
この方法は、手動で行わなければならないという短所があります。つまり、エンタープライズ サーバー インスタンスを ES Admin ではなく手動で (casstop コマンドを使用して) 停止する必要があります。
この場合、ES Admin を使用してエンタープライズ サーバー インスタンスの起動や停止を行うことができますが、この方法は、上記の方法と類似しているという短所があります。
この方法では、エンタープライズ サーバーがコンソール デーモン ウィンドウを表示できないという短所が主にあります。ただし、ローカル デスクトップへのアクセスはセキュリティの危険を伴うため、この方法では、インストールのセキュリティが向上します。ローカル システム アカウント (ローカル セキュリティの目的では管理者アカウントに相当) ではなく、通常のユーザー アカウント (権限を減らした場合) で COBOL アプリケーション プログラムを実行すると、さらに安全になります。
Windows 上のエンタープライズ サーバーの場合 (COBOL サービス プログラムでネットワーク ファイル アクセスが必要かどうかを問わず)、MFDS 専用のユーザー アカウントと、そのアカウントで実行する COBOL サービス プログラムを作成することをお奨めします。このアカウントに対する権限を適宜設定します。つまり、COBOL プログラムで必要としない権限をアカウントに付与しないでください。セキュリティを追加する場合、該当ユーザーが COBOL サービス プログラムで実行可能な作業をさらに制御するには、特定のオブジェクト (ディレクトリ、ファイル、レジストリ キー) へのアクセスを付与または拒否する ACL を設定できます。