分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編

[目次][索引][前へ][次へ]

CBLDCADT('PRINT ')

名称

監査ログの出力

形式

PROCEDURE DIVISIONの指定

 
CALL 'CBLDCADT' USING 一意名1 一意名2 一意名3
 

DATA DIVISIONの指定

 
01 一意名1.
   02 データ名A  PIC X(8) VALUE 'PRINT   '.
   02 データ名B  PIC X(5).
   02 FILLER    PIC X(3).
   02 データ名Z  PIC S9(9) COMP VALUE ZERO.
01 一意名2.
   02 データ名C  PIC X(12).
   02 データ名D  PIC X(3).
   02 FILLER    PIC X(1).
   02 データ名E  PIC S9(9) COMP.
   02 データ名F  PIC S9(9) COMP.
   02 データ名G  PIC S9(9) COMP.
01 一意名3.
   02 データ名H  PIC S9(9) COMP.
   02 データ名I  PIC X(n).
 

機能

引数に設定した情報に,OpenTP1でヘッダ情報,通番,日時,発生プログラム名,発生プロセスID,発生場所,サブジェクト識別情報,オブジェクト情報,オブジェクトロケーション情報,リクエスト送信元ホスト,ロケーション識別情報を付けて,監査ログファイルに出力します。出力する監査ログの発生プログラム名はOpenTP1です。監査ログの出力処理でエラーが発生した場合,エラーメッセージを標準エラー出力およびsyslogに出力します。

OpenTP1では,CBLDCADT('PRINT ')で使うメッセージID用に,34000から34999までの範囲の番号を割り当てています。UAPから出力するメッセージIDの番号には,34000から34999までの範囲の値を付与してください。

監査ログの出力項目については,マニュアル「OpenTP1 プログラム作成の手引」を参照してください。

UAPで値を設定するデータ領域

●データ名A

監査ログの出力要求を示す要求コードを「VALUE 'PRINT△△△'」と設定します。

●データ名Z

0を設定します。

●データ名C

監査ログごとに付けられる識別子(メッセージID)を設定します。

「KFCAn1n2n3n4n5−x」の形式(11文字)で,最後に空白文字を付けて設定します。UAPから出力する通番(n1n2n3n4n5の部分)には,34000から34999までの間の数値を設定します。xの部分には,出力する監査ログの内容によってメッセージの種類(「E」,「W」,または「I」)を指定してください。

●データ名D

監査ログを出力したUAPを識別する任意の値(要求元プログラムID)を設定します。英数字2文字で,最後は空白文字で終わらせて設定します。使用できる文字は,数字,英字,または記号の2文字で,最後はヌル文字で終わらせて設定します。監査ログには,先頭にアスタリスク(*)が付いて,「*AA」の形式で出力されます(AAはデータ名Dで指定した文字列です)。

●データ名E

監査ログに出力する「監査事象種別」の値を設定します。次の数値のどれかを設定します。

監査事象種別 数値 意味
StartStop 1000 「起動・停止」の監査事象を表します。
Authentication 1001 「識別・認証」の監査事象を表します。
AccessControl 1002 「アクセス制御」の監査事象を表します。
ConfigurationAccess 1003 「構成定義」の監査事象を表します。
Failure 1004 「障害」の監査事象を表します。
LinkStatus 1005 「リンク状態」の監査事象を表します。
ExternalService 1006 「外部サービス」の監査事象を表します。
ContentAccess 1007 「重要情報アクセス」の監査事象を表します。
Maintenance 1008 「保守」の監査事象を表します。
AnomalyEvent 1009 「異常事象」の監査事象を表します。
ManagementAction 1010 「管理動作」の監査事象を表します。

監査事象種別の詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。

●データ名F

監査ログに出力する「監査事象結果」の値を設定します。次の数値のどれかを設定します。

監査事象結果 数値 意味
Success 2000 事象の成功を表します。
Failure 2001 事象の失敗を表します。
Occurrence 2002 成功または失敗の分類がない事象の発生を表します。

●データ名G

監査ログに出力する「動作情報」の値を設定します。データ名Eに指定した「監査事象種別」と対応した,次の数値のどれかを設定します。0を指定した場合,この項目は出力されません。

表2-1 監査事象種別と予約語の対応

監査事象種別 予約語 数値 意味
StartStop(起動・停止) Start 3000 開始・起動
Stop 3001 終了・停止
Authentication(識別・認証) Login 3002 ログイン
Logout 3003 ログアウト
Logon 3004 ログオン
Logoff 3005 ログオフ
Disable 3006 アカウントの無効化
AccessControl(アクセス制御) Enforce 3007 実施
ConfigurationAccess
(構成定義)
Refer 3008 参照
Add 3009 追加
Update 3010 更新
Delete 3011 削除
Failure(障害) Occur 3012 発生
LinkStatus(リンク状態) Up 3013 リンク活性
Down 3014 リンク非活性
ExternalService(外部サービス) Request 3015 要求
Response 3016 応答
Send 3017 発信
Receive 3018 受信
ContentAccess
(重要情報アクセス)
Refer 3008 参照
Add 3009 追加
Update 3010 更新
Delete 3011 削除
Maintenance(保守) Install 3019 インストール
Uninstall 3020 アンインストール
Update 3010 更新(アップデート)
Backup 3021 バックアップ
Maintain 3022 保守作業
AnomalyEvent(異常事象) Occur 3012 発生
ManagementAction(管理動作) Invoke 3023 (管理者の)呼び出し
Notify 3024 (管理者への)通知

●データ名H

監査ログに出力する「自由記述」の文字列の長さを設定します。0を設定した場合は,この項目は出力されません。

●データ名I

監査ログに出力する「自由記述」の値を設定します。

使用できる文字は数字,英字,記号,スペース,引用符("),およびコンマ(,)です。最大1024文字です。

データ名Iの表示内容には指定した情報の先頭と末尾に引用符(")が付与されます。また,文字列中に引用符(")がある場合は,その文字の前に引用符(")が付与されます。

OpenTP1で値を設定するデータ領域

●データ名B

ステータスコードが,5けたの数字で返されます。

ステータスコード

ステータスコード 意味
00001 監査ログの出力が無効になっています。次に示すことが考えられます。
  • ログサービス定義のlog_audit_outオペランドにNを指定しているか,またはlog_audit_outオペランドの指定がありません。
  • ユーザサービス定義,またはユーザサービスデフォルト定義のどちらかでlog_audit_out_suppressオペランドにYが指定されています。
次のどれかの定義ファイルで,データ名Cで指定したメッセージIDがlog_audit_messageオペランドに指定されていません。
  • ログサービス定義
  • ユーザサービス定義
  • ユーザサービスデフォルト定義
規定された範囲外のメッセージを指定しています。
00000 正常に終了しました。
01900 データ領域に設定した値が間違っています。
01904 定義解析に失敗しました。
01999 dc_rpc_open関数が発行されていません。
01997 上記以外のエラーが発生しました。

注意事項

CBLDCRSV('MAINLOOP')が終了したあとでCBLDCADT('PRINT ')を呼び出した場合,リクエスト送信元ホストには,最後に要求したCBLDCRPC('CALL ')発行元ノードのアドレスが取得されます。