メニューボタン
サポートチーム便り2025.11.12

IBM i システム監査対応:ユーザーがサイン・オンした履歴を調べられませんか?

Question

システム監査の関係で、ユーザーがシステムにサイン・オンした日時を知りたいのですが調べる方法はないでしょうか。

Answer

サイン・オン/サイン・オフ の履歴は監査ジャーナルで確認することができます。

ただし、OSの機能である監査ジャーナルの設定が必要です。

設定は以下の通りです。

  1. 監査ログを記録するためのレシーバーの作成
     CRTJRNRCV JRNRCV(jrnlib/レシーバー名)
    ※レシーバー名およびライブラリー名の指定は、わかりやすい名前にします
  2. レシーバーに紐づける監査ジャーナルの作成
     CRTJRN JRN(QSYS/QAUDJRN) JRNRCV(jrnlib/レシーバー名) DLTRCV(*NO)
    ※ジャーナル名は固定です。
    ※レシーバーが自動削除されないようにここではDLTRCV(*NO)を指定しています。
  3. システム値 QAUDCTL
     WRKSYSVAL SYSVAL(QAUDCTL) にて *AUDLVL が設定されている。
  4. システム値 QAUDLVL
     WRKSYSVAL SYSVAL(QAUDLVL) にて *JOBDTA が設定されている。
    (*JOBDTAはジョブの開始 終了、他のジ ョブの保留、解放、停止、続行、変更の情報を収集します。)

ユーザーのログイン情報はジャーナル・コードのT、ジャーナル項目のJSにて確認できます。

項目タイプ :S:ジョブ開始/E:ジョブ終了、その他
ジョブタイプ:I:対話式/B:バッチ、その他

その他にも、ユーザープロファイルやリモートアドレス(IPアドレス) を確認できます。

詳細は以下の公開ドキュメントをご参照ください。

JS (ジョブ変更) ジャーナル項目
https://www.ibm.com/docs/ja/i/7.5.0?topic=entries-js-job-change-journal

監査ジャーナルの情報はDSPJRNコマンドにて確認および取得ができます。

出力されたファイルをQUERYで確認しても良いですし、データ転送にてExcelファイル形式でダウンロードしてフィルター機能を駆使しても見やすいかと思います。

コマンド例:

DSPJRN JRN(QAUDJRN) RCVRNG(jrnlib/レシーバー名)
       JRNCDE((T)) ENTTYP(JS)
       OUTPUT(*OUTFILE)
       OUTFILFMT(*TYPE5)
       OUTFILE(出力先LIB名/出力先FILE名)

下記画像はDSPJRNで出力した情報をQUERYで表示したものです。

ユーザーTSUKIが25/10/20 10:54ごろに対話型ジョブ(I)にてサイン・オン(S:ジョブの開始) /サイン・オフ(E:ジョブの終了)していることが分かります。

事前に上記3,4のようにシステム値が設定されていないと、その当時のサイン・オン/サイン・オフの情報が監査ジャーナルに記録されないので注意してください。

監査ジャーナルの場合、ログを長く持たせておく必要があるかと思います。レシーバーを自動削除する設定にすると直近の情報しか残りませんので、レシーバーの管理にも注意が必要です。

OSの機能なので使いこなすにはある程度のスキルが必要ですが、有償のツール等を使うのも一つの手法となります。 

by . 槻樹

あわせて読みたい記事

PAGE TOP