dc_log_audit_print

名称

監査ログの出力

形式

ANSI C ,C++の形式

#include <dclog.h>
int  dc_log_audit_print(char *msgid,char *compid,DCLONG ctgry,
                       DCLONG result,DCLONG op,char *msg,DCLONG flags)

K&R版 C の形式

#include <dclog.h>
int  dc_log_audit_print(msgid,compid,ctgry,result,op,msg,flags)
char      *msgid;
char      *compid;
DCLONG    ctgry;
DCLONG    result;
DCLONG    op;
char      *msg;
DCLONG    flags;

機能

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

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

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

UAPで値を設定する引数

●msgid

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

●compid

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

●ctgry

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

DCLOG_CTG_STARTSTOP…「起動・停止」の監査事象を表します。

DCLOG_CTG_AUTH…「識別・認証」の監査事象を表します。

DCLOG_CTG_ACCESS…「アクセス制御」の監査事象を表します。

DCLOG_CTG_CONFIG…「構成定義」の監査事象を表します。

DCLOG_CTG_FAIL…「障害」の監査事象を表します。

DCLOG_CTG_LINK…「リンク状態」の監査事象を表します。

DCLOG_CTG_EXTERNAL…「外部サービス」の監査事象を表します。

DCLOG_CTG_CONTENT…「重要情報アクセス」の監査事象を表します。

DCLOG_CTG_MAINTAIN…「保守」の監査事象を表します。

DCLOG_CTG_ANORMALY…「異常事象」の監査事象を表します。

DCLOG_CTG_MANAGE…「管理動作」の監査事象を表します。

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

●result

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

DCLOG_RES_SUCCESS…事象の成功を表します。

DCLOG_RES_FAIL…事象の失敗を表します。

DCLOG_RES_OCCUR…成功または失敗の分類がない事象の発生を表します

●op

監査ログに出力する「動作情報」の値を設定します。ctgryに指定した「監査事象種別」と対応した,次の予約語のどれかを設定します。NULLを指定した場合はこの項目は出力されません。

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

監査事象種別予約語意味
DCLOG_CTG_STARTSTOP
(起動・停止)
DCLOG_OP_START開始・起動
DCLOG_OP_STOP終了・停止
DCLOG_CTG_AUTH
(識別・認証)
DCLOG_OP_LOGINログイン
DCLOG_OP_LOGOUTログアウト
DCLOG_OP_LOGONログオン
DCLOG_OP_LOGOFFログオフ
DCLOG_OP_DISABLEアカウントの無効化
DCLOG_CTG_ACCESS
(アクセス制御)
DCLOG_OP_ENFORCE実施
DCLOG_CTG_CONFIG
(構成定義)
DCLOG_OP_REFER参照
DCLOG_OP_ADD追加
DCLOG_OP_UPDATE更新
DCLOG_OP_DELETE削除
DCLOG_CTG_FAIL(障害)DCLOG_OP_OCCUR発生
DCLOG_CTG_LINK
(リンク状態)
DCLOG_OP_UPリンク活性
DCLOG_OP_DOWNリンク非活性
DCLOG_CTG_EXTERNAL
(外部サービス)
DCLOG_OP_REQ要求
DCLOG_OP_RES応答
DCLOG_OP_SEND発信
DCLOG_OP_RECV受信
DCLOG_CTG_CONTENT
(重要情報アクセス)
DCLOG_OP_REFER参照
DCLOG_OP_ADD追加
DCLOG_OP_UPDATE更新
DCLOG_OP_DELETE削除
DCLOG_CTG_MAINTAIN
(保守)
DCLOG_OP_INSTALLインストール
DCLOG_OP_UNINSTALLアンインストール
DCLOG_OP_UPDATE更新(アップデート)
DCLOG_OP_BACKUPバックアップ
DCLOG_OP_MAINTAIN保守作業
DCLOG_CTG_ANORMALY
(異常事象)
DCLOG_OP_OCCUR発生
DCLOG_CTG_MANAGE
(管理動作)
DCLOG_OP_INVOKE(管理者の)呼び出し
DCLOG_OP_NOTIFY(管理者への)通知

●msg

監査ログに出力する「自由記述」の値を設定した領域のアドレスを指定します。NULLを指定した場合はこの項目を出力しません。

使用できる文字は数字,英字,記号,スペース,引用符("),およびコンマ(,)です。最大1024文字で,最後はヌル文字で終わらせて設定します。このヌル文字は文字列の長さに数えません。

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

●flags

DCNOFLAGSを設定します。

リターン値

リターン値リターン値(数値)意味
DCLOG_AUDIT_OFF1監査ログの出力が無効になっています。次に示すことが考えられます。
  • ログサービス定義のlog_audit_outオペランドにNを指定しているか,またはlog_audit_outオペランドの指定がありません。
  • ユーザサービス定義,またはユーザサービスデフォルト定義のどちらかでlog_audit_out_suppressオペランドにYが指定されています。
次のどれかの定義ファイルで,msgidで指定したメッセージIDがlog_audit_messageオペランドに指定されていません。
  • ログサービス定義
  • ユーザサービス定義
  • ユーザサービスデフォルト定義
規定された範囲外のメッセージを指定しています。
DC_OK0正常に終了しました。
DCLOGER_PARAM_ARGS-1900引数に設定した値が間違っています。
DCLOGER_DEFFILE-1904定義解析に失敗しました。
DCLOGER_PROTO-1999dc_rpc_open関数が発行されていません。
DCLOGER_FATAL-1997上記以外のエラーが発生しました。

注意事項

dc_rpc_mainloop関数が終了したあとでdc_log_audit_print関数を呼び出した場合,リクエスト送信元ホストには,最後に要求したdc_rpc_call関数またはdc_rpc_call_to関数発行元ノードのアドレスが取得されます。