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を指定した場合はこの項目は出力されません。
監査事象種別 |
予約語 |
意味 |
---|---|---|
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を指定した場合はこの項目を出力しません。
使用できる文字は数字,英字,記号,スペース,引用符("),およびコンマ(,)です。最大1,024文字で,最後はヌル文字で終わらせて設定します。このヌル文字は文字列の長さに数えません。
msgの表示内容には指定した情報の先頭と末尾に引用符(")が付与されます。また,文字列中に引用符(")がある場合は,その文字の前に引用符(")が付与されます。
●flags
DCNOFLAGSを設定します。
リターン値
リターン値 |
リターン値(数値) |
意味 |
---|---|---|
DCLOG_AUDIT_OFF |
1 |
監査ログの出力が無効になっています。次に示すことが考えられます。
|
次のどれかの定義ファイルで,msgidで指定したメッセージIDがlog_audit_messageオペランドに指定されていません。
|
||
規定された範囲外のメッセージを指定しています。 |
||
DC_OK |
0 |
正常に終了しました。 |
DCLOGER_PARAM_ARGS |
-1900 |
引数に設定した値が間違っています。 |
DCLOGER_DEFFILE |
-1904 |
定義解析に失敗しました。 |
DCLOGER_PROTO |
-1999 |
dc_rpc_open関数が発行されていません。 |
DCLOGER_FATAL |
-1997 |
上記以外のエラーが発生しました。 |
注意事項
dc_rpc_mainloop関数が終了したあとでdc_log_audit_print関数を呼び出した場合,リクエスト送信元ホストには,最後に要求したdc_rpc_call関数またはdc_rpc_call_to関数発行元ノードのアドレスが取得されます。