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