監査ログファイル

ここでは監査ログファイルの仕様について示します。

監査ログの記録先

ke2-docker パッケージで KE2.0 システムを構築する場合、監査ログファイルは Docker の kompira_log ボリュームに記録されます。 または、デプロイ時に環境変数 KOMPIRA_LOG_DIR が指定されていれば、ホスト上のそのディレクトリに記録されます。

作成されるログファイル名は以下のようになります。

audit-${CONTAINERNAME}.log
  • ${CONTAINERNAME} の部分はログを記録するコンテナの名称に展開されます。

kompira_log ボリュームに記録された監査ログファイルの確認方法については、ボリュームログ管理 を参照してください。

監査ログのファイル形式

監査ログは UTF-8 でエンコードされたテキストファイルで、1エントリを1行の JSON 形式で出力します。

監査ログの記録項目

項目名称形式説明
操作レベルlevel整数操作レベル値
操作開始日時started日時操作を開始した日時
操作終了日時finished日時操作が終了した日時
操作元情報exec辞書操作元 Linux プロセスの情報(辞書形式)
操作ユーザuser文字列操作した Kompira ユーザ名
操作方式interface文字列ブラウザによる操作か管理コマンドによる操作かなどの区別
操作分類class文字列セッション操作やオブジェクト操作などの区分
操作対象target_path文字列オブジェクトパス(セッション操作以外の時)
target_type文字列型オブジェクト(オブジェクト操作時)
操作種別type文字列「参照」や「削除」など操作の種類を示す区分
操作認否permit文字列操作が「許可」または「拒否」されたかを示す区分
操作成否result文字列操作が「成功」または「失敗」したかの記録
結果理由reason文字列失敗の場合の原因(原因が分かる場合)
詳細情報detail辞書操作に関する詳細情報(操作ごとに異なる辞書形式)

監査ログのサンプル

以下にブラウザで操作したときの監査ログファイル /var/log/kompira/audit-apache.log のサンプルを示します。ログは1エントリ1行で出力されていますが、ここでは分かりやすく整形して表示しています。

{
    "level": 3,
    "started": "2021-10-05T15:51:31.403016+09:00",
    "finished": "2021-10-05T15:51:31.452097+09:00",
    "exec": {
    "pid": 1286192,
    "name": "/usr/sbin/httpd",
    "user": "apache",
    "remote": "10.10.0.110"
    },
    "user": "root",
    "interface": "web",
    "class": "session",
    "target_path": null,
    "target_type": null,
    "type": "login",
    "permit": "allowed",
    "result": "succeeded",
    "reason": null,
    "detail": {
    "next_page": "/"
    }
}
{
    "level": 2,
    "started": "2021-10-05T15:51:43.447941+09:00",
    "finished": "2021-10-05T15:51:43.486984+09:00",
    "exec": {
    "pid": 1285426,
    "name": "/usr/sbin/httpd",
    "user": "apache",
    "remote": "10.10.0.110"
    },
    "user": "root",
    "interface": "web",
    "class": "object",
    "target_path": "/config/license",
    "target_type": "/system/types/License",
    "type": "read",
    "permit": "allowed",
    "result": "succeeded",
    "reason": null,
    "detail": {
    "http_method": "GET",
    "http_status": 200
    }
}