サポートチーム便り2019.02.28
ワークステーション、DEVDの監視方法について
Question
社内システムは、デバイス記述をワークステーションIDで管理をしています。
ユーザーにPCを渡す前に、あらかじめシステム担当者によってワークステーションIDを設定して渡しているのですが、ユーザーによっては、セッションマネージャーからワークステーションIDを変更したり、新たに割り当てて使用したりすることができてしまいます。
ユーザーに許可しているワークステーションID以外は使えないように、IBM i Accessなどのエミュレータソフトで抑止はできるのでしょうか。
Answer
メニューバーを非表示に設定しても、詳しい人であれば再表示の設定をすると出せてしまうため、完全な抑止はできません。 事後の処理となっていますが、固定IPアドレスであれば接続中のジョブID(セッションID)のIPアドレスを取得できますので、予めマスタを準備し、プログラムで許可しているかのチェックを掛けることは可能です。
【前提】
各PCの接続時には固定IPアドレスでの接続が前提です。DHCPで変化する場合はこの仕組みは適用できませんのでご注意ください。
【準備】
セッションID とIPアドレスとのテーブルを作成します。
【仕組みの概要】
- WRKACTJOBを*PRINTで取得し、CPYSPLFで物理ファイルにコピーします。
- 上記の物理ファイルPFを読込み、APIでジョブ名を基にIPアドレスを取得します。
- ジョブ名とIPアドレスを元にセッションIDとIPアドレスのテーブルに突合せをします。
- 突合せがNGの場合、QSYSOPRと該当のジョブ(WSID)にメッセージを送ります。
- 上記の1~4を組込んだ処理をQBATCH等に投入し、ジョブを常駐させます。
※処理自体にゴミが残らぬようにQTEMPを使用したり、DLTSPLFをしたり、工夫が必要です。
APIの説明は以下の内容です。
接続されている状態であれば、QDCRDEVDのAPIで情報の取得が可能です。
Sample of a CL Program That Uses the QDCRDEVD API
https://www-01.ibm.com/support/docview.wss?uid=nas8N1014558
by けやきのじぃじ