TACFの紹介
本章では、OpenFrame TACFの3つの機能とシステム構造、OpenFrameとの連携方法について説明します。
1. 概要
OpenFrame TACF(Tmax Access Control Facility、以下TACF)は、OpenFrameシステム(またはシステム)にアクセスするユーザーへの認証を行い、許可されていないユーザーからシステムを守り、権限のないユーザーがシステム・リソースにアクセスすることを遮断するためにOpenFrameシステムで実行されるセキュリティ製品です。
TACFは、ユーザーのアクセスやリソースへのアクセスをログ形式で記録し、リソースの統計情報を提供します。
TACFは、以下の機能を提供します。
-
ユーザー認証
TACFは、システムにアクセスするユーザーを認証するためにユーザーID(USERID)とユーザーが本人であることを確認するためのパスワード(PASSWORD)を要求します。ユーザー認証に失敗したユーザーはシステムに接続することができず、システムが提供するリソースへのアクセスも許可されません。このように、OpenFrameシステムにアクセスするユーザーに対して適切なユーザーであるかどうかを確認するプロセスをユーザー認証といいます。
-
リソースへのアクセス制御
データセット、端末、プログラムなど、システムの特定のリソースを使用しようとする場合は、TACFに登録されているアクセス・リストを参照します。その際、該当のリソースに対するアクセス権限を持つユーザーであるかどうかを確認して、各ユーザーのリソースへのアクセスを制御します。
-
リソース・アクセスの記録
ユーザーのシステム接続時間、アクセス回数、およびユーザーがアクセスした特定のリソースの統計情報を記録します。システム管理者はこれらの情報を利用して、リソースへの使用頻度だけでなく、セキュリティ情報も確認することができます。
2. TACFの構造
TACFは、プロファイルを登録、変更、削除または参照して、ユーザー認証とリソースへのアクセスを制御します。プロファイルは、RDBMS(リレーショナル・データベース管理システム)での表を意味します。(本書では、特別な場合を除いては、表の代わりにプロファイルという用語を使用します。)
リソース・プロファイルが変更されていないリソースへの頻繁なアクセスは、同じ情報を毎回データベースに依頼することになり、データベースに負担がかかります。このようなデータベースへの負担を減らすためには、変更の少ないプロファイルを毎回データベースから読み込むのではなく、TACFの起動時にメモリにロードし、リソース情報が必要なときにメモリから情報を参照するようにします。
TACFは、クライアント/サーバーの構造を持つTmaxサービス形式のインターフェースと、ライブラリのAPIを直接呼び出す方式のインターフェースを提供しているため、さまざまな環境でセキュリティ認証を処理することができます。
また、お客さま固有のユーザーIDとパスワードのルールが存在する場合は、プラグイン形式のSAF_EXITモジュールが提供するインターフェースに合わせてお客さま固有のAPIを作成すると、TACF内ではそのAPIを呼び出すことになるため、TACF内のモジュールを修正することなく、お客さま固有の業務を適用することができます。認証に成功したユーザー情報は、データベースではなく、ログイン時に自動生成されるACEE(ACcessory Environment Element)に保存され、そのACEEからユーザーのパスワード、属性、接続グループなどの情報を取得します。ACEE情報は、ユーザーがシステムに接続している間保持され、ログアウトと同時にACEEから削除されます。
以下の図は、TACFシステムの構造です。(実線はAPIの呼び出しを、点線はサービスによる呼び出しを示しています。また、矢印はデータの移動方向を表します)

-
SAFO
SAFOは、クライアントからの要求を受信し、クライアントに応答を返すAPI方式のクライアント・インターフェースです。サーバーとクライアントが同じノードに存在しており、Tmaxサービスを使用する必要がない場合に使用されます。
TACFのユーザー認証に成功したクライアントにはトークンの代わりに直列化されたSACEEが提供されるため、ユーザー情報が必要なたびにTACFに情報を要求するのではなく、サーバーから提供されたSACEEから必要なユーザー情報を検索して使用することができます。
-
SAFX
SAFXは、クライアントに提供されるTmaxサービスのインターフェース・モジュールです。TACFのユーザー認証に成功したクライアントには、リソースへのアクセス権限としてACEEの代わりにトークンを発行し、トークンを持っているクライアントのみリソースにアクセスできるようにします。この方式でネットワークの負荷を減らし、ネットワーク上のユーザー情報が漏れないように保護することができます。クライアントに提供されたトークンは、クライアントがシステムをログアウトすると同時にTACFによって破棄されます。
-
SAF
SAFモジュールは、外部インターフェースのSAFOとSAFXをTACFと接続させ、CEE情報を作成、管理します。また、システムにアクセスを試みたユーザーの情報、接続ユーザーID、接続の成功の可否、接続時間などの情報と特定のリソースへのアクセス情報を記録します。
-
TACF
TACFは認証に成功したユーザーのパスワード、属性、接続グループなどの情報をACEEから取得します。TACFはユーザーの識別と認証、およびリソースへのアクセス権限を制限するメイン・モジュールです。
-
SAF_EXIT
SAF_EXITは、お客さまにカスタマイズ機能を提供するモジュールです。
顧客カスタマイズの一例として、お客さま固有のユーザーIDやパスワードの作成ルールが存在する場合、新規ユーザーを登録する際にユーザーIDの適合性を確認したり、パスワードを変更する際にその適合性を確認したりすることが挙げられます。
-
tacfmgr
TACFのマネージャーであるtacfmgrは、TACFでユーザーを追加するか、リソースのプロファイルを登録するなど、TACFを管理するためのツールです。詳細については、TACFコマンドを参照してください。
3. OpenFrameとの連携
オンライン・システムとバッチ・システムでは、それぞれ異なる方法でTACFを使用します。オンライン・システム環境のプログラムでは、TACFが提供するAPIインターフェースを呼び出してTACFの機能を使用します。
一方、バッチ・システム環境でジョブを実行するTJESエンジンは、ジョブがJCLに記述されているユーザーを直接認証するか、ユーザーが特定のリソースにアクセスする際、Tmaxサーバーのofrsasvrからサービス形式でTACFにユーザー認証と特定のリソースへのアクセス権限の確認を要求します。
ただし、バッチ・システムが提供するツールやユーティリティ・プログラムは、オンラインのプログラムと同様にTACFが提供するAPIインターフェースを直接呼び出してTACFの機能を使用します。
4. TACFサーバーの起動と終了
TACFサーバーは、各ドメインごとに1つのみ起動される必要があります。TACFサーバーが起動されるドメインのノードを決めてから起動してください。
指定したドメインのノードですでにTACFが起動されている場合は、そのノードのTmax設定ファイルを確認した後、起動中のTACFサーバーを終了してから、再起動する必要があります。また、TACFを起動する前に、DB接続の統合管理設定ファイルであるdbconn.confの[SYS1_ODBC]セクションに指定されたデータベースに接続し、使用できるかどうかを確認する必要があります。
データベースに接続できない場合は、自動的にバックアップ・データベースに接続を試みます。バックアップ・データベースにも接続できない場合は、TACFサーバーは起動されません。
TACFサーバーは、緊急でない限り、バッチ処理中には終了しないでください。バッチ処理中に強制終了すると、エラーが発生する原因となります。