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_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関数発行元ノードのアドレスが取得されます。