このトピックでは、サービスや実行可能ファイルとして動作する 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 を設定できます。