1. 監査ログ

1.1. はじめに

Exastroシステムでは、APIベースで処理しているため、誰がいつどこで何をしたかを特定するためのログを監査ログとして出力しております。
本説明は、その監査ログについての設定値等を記載する内容となっております。

1.2. 監査ログの出力先

監査ログは、platform-auth コンテナ内の"/var/log/exastro"ディレクトリに、ファイル名"exastro-audio.log"(デフォルト)で出力されます。

Kubernetes環境においては、永続ボリュームを指定することにより、永続ボリューム側のディレクトリに出力されます。
※永続ボリュームについては、インストール編 Exastro on Kubernetes - Online を参照してください。

1.3. 監査ログの設定項目

設定可能項目は、Exastro Platform 認証機能のオプションパラメータの AUDIT_LOG 項目となります。
表 1.9 Exastro Platform 認証機能のオプションパラメータ

パラメータ

説明

変更

デフォルト値・選択可能な設定値

exastro-platform.platform-auth.extraEnv.EXTERNAL_URL

Exastro Platform エンドポイントの公開URL。
リバースプロキシや PAT(Port Address Transport) などにより、Exastro のエンドポイントと公開時の URL に齟齬が発生することで、サービス接続に失敗する場合に設定をする必要があります。

公開用エンドポイントのURL
(http[s]://your-exastro.domain:port)

exastro-platform.platform-auth.extraEnv.EXTERNAL_URL_MNG

Exastro Platform 管理コンソールのエンドポイントの公開URL。
リバースプロキシや PAT(Port Address Transport) などにより、Exastro のエンドポイントと公開時の URL に齟齬が発生することで、サービス接続に失敗する場合に設定をする必要があります。

公開用エンドポイントのURL
(http[s]://your-exastro.domain:port)

exastro-platform.platform-auth.extraEnv.AUDIT_LOG_ENABLED

監査ログの出力有無。

True (デフォルト): 出力する
False: 出力しない

exastro-platform.platform-auth.extraEnv.AUDIT_LOG_PATH

監査ログのファイル名(ファイルパス)。

exastro-audit.log (デフォルト)

exastro-platform.platform-auth.extraEnv.AUDIT_LOG_FILE_MAX_BYTE

監査ログファイルの最大サイズ(Byte)を指定できます。

100000000 (デフォルト)

exastro-platform.platform-auth.extraEnv.AUDIT_LOG_BACKUP_COUNT

監査ログファイルのバックアップカウント数。
監査ログファイルの最大サイズ(Byte)を超えた際、ファイル名に"."+数値で指定された値の分、バックアップされます。

30 (デフォルト)

exastro-platform.platform-auth.ingress.enabled

Exastro Platform における Ingress 利用の要否

true (デフォルト): Exastro Platform にアクセスするための Ingress Controller をデプロイします。
false : Ingress Controller をデプロイしません。

exastro-platform.platform-auth.ingress.hosts[0].host

Exastro Platform 管理コンソールエンドポイントのホスト名、もしくは、FQDN
別途、DNSへのレコード登録が必要です。

可 (Ingress利用時)

"exastro-suite.example.local"

exastro-platform.platform-auth.ingress.hosts[0].paths[0].path

Exastro Platform 管理コンソールエンドポイントのパスのルール

不可

"/"

exastro-platform.platform-auth.ingress.hosts[0].paths[0].pathType

Exastro Platform 管理コンソールエンドポイントのパスの一致条件

不可

"Prefix"

exastro-platform.platform-auth.ingress.hosts[0].paths[0].backend

Exastro Platform 管理コンソールのサービス名

不可

"http"

exastro-platform.platform-auth.ingress.hosts[1].host

Exastro Platform エンドポイントのホスト名、もしくは、FQDN
別途、DNSへのレコード登録が必要です。

可 (Ingress利用時)

"exastro-suite-mng.example.local"

exastro-platform.platform-auth.ingress.hosts[1].paths[0].path

Exastro Platform エンドポイントのパスのルール

不可

"/"

exastro-platform.platform-auth.ingress.hosts[1].paths[0].pathType

Exastro Platform エンドポイントのパスの一致条件

不可

"Prefix"

exastro-platform.platform-auth.ingress.hosts[1].paths[0].backend

Exastro Platform エンドポイントのエンドポイントのサービス名

不可

"httpMng"

exastro-platform.platform-auth.service.type

Exastro Platform のサービスタイプ

ClusterIP (デフォルト): Ingress Controller を利用する場合などに選択
LoadBalancer : LoadBalancer を利用する場合に選択
NodePort : NodePort を利用する場合に選択

exastro-platform.platform-auth.service.http.nodePort

Exastro Platform のサービス用公開ポート番号

可 (NodePort利用時)

"30080"

exastro-platform.platform-auth.service.httpMng.nodePort

Exastro Platform のシステム管理用公開ポート番号

可 (NodePort利用時)

"30081"

exastro-platform.platform-auth.image.repository

コンテナイメージのリポジトリ名

不可

"docker.io/exastro/exastro-platform-auth"

exastro-platform.platform-auth.image.tag

コンテナイメージのタグ

不可

""

1.4. 監査ログの内容

監査ログは、Json形式 で出力されています。
1つのイベント(API呼び出し)が、改行を区切りとした1明細 となっており、以下の内容で構成されております。
表 1.10 監査ログ内容

項目名

説明

ログの例

備考

ts

イベント呼び出し日時

"2024-03-11T01:15:58.147Z"

user_id

ユーザーID

"155427e2-c154-49d8-a2b7-9496bb0e6b25"

username

ユーザー名

"admin_user"

org_id

オーガナイゼーションID

"org1"

システム管理者側の操作の場合は"-"が出力されます。

ws_id

ワークスペースID

"ws1"

ワークスペース外の操作の場合は"-"が出力されます。

level

メッセージレベル

"INFO"

"INFO":APIの呼び出し結果が正常、"ERROR":APIの呼び出し結果が異常

full_path

呼び出されたエンドポイントとパラメータ

"/api/org1/platform/workspaces?"

access_route

アクセスルートのIPアドレス

["0.0.0.0"]

ルートが複数ある場合は、カンマ区切りで複数出力される

remote_addr

リモートアクセスのIPアドレス

"0.0.0.0"

request_headers

APIが呼び出された際のリクエストヘッダー

request_user_headers

APIを呼び出す際のリクエストヘッダー

{
"User-Id": "4c5c8c11-d7fa-4963-9dc5-5a7c3d923ad6",
"Roles": "",
"Org-Roles": "X29yZ2FuaXphdGlvbi1tYW5hZ2Vy",
"Language": null
}

Roles, Org-Roles情報はBase64エンコードされた値となります。

request_body

APIの呼び出し時のリクエストボディ

null

内容が無い場合は、nullが出力されます。

request_form

APIの呼び出し時のリクエストfrom

null

内容が無い場合は、nullが出力されます。

request_files

APIの呼び出し時のリクエストfiles

null

内容が無い場合は、nullが出力されます。

status_code

API呼び出し時のステータスコード

200

name

"audit"固定

"audit"

message

応答メッセージ

"audit: response. 200"

message_id

APIの応答メッセージID

"-"

API呼び出し結果の応答メッセージがある場合は、メッセージIDが出力されます。

message_text

APIの応答メッセージ

"-"

API呼び出し結果の応答メッセージがある場合は、メッセージが出力されます。

stack_info

APIエラーじのスタック情報

null

APIエラーが発生した際のスタック情報が出力されます。エラーが無い場合はnullが出力されます。

process

プロセスID

7

処理のProcess ID

log_ts

ログの出力日時

"2024-03-12T01:29:36.357Z"

userid

プロセス処理ユーザーID

"76541d8f-6de4-4b49-8fe6-58640c15a965"

method

API呼び出し時のmethod

"GET"

"GET","POST","PUT","PATCH","DELETE"などの呼び出し時のmethod

content_type

API呼び出し時のメディアタイプ

"application/json"