Splunk 連携 (監査ログ export)
AgenTrux のアカウントに記録される監査ログ (Console / API の操作履歴) を、あなたの Splunk Cloud へ HEC (HTTP Event Collector) 経由で自動転送する機能です。indexer acknowledgement による確実配送に対応しています。
- 対象プラン: Business 以上
- ステータス: Experimental (フィードバック歓迎)
- 形式: OCSF (Open Cybersecurity Schema Framework) v1.1.0 準拠の JSON
1. セットアップ
Splunk 側 (5 分)
- Splunk Cloud の Settings → Data Inputs → HTTP Event Collector で新しい HEC token を作成します
- token 作成時に 「Enable indexer acknowledgement」を有効化してください (推奨。AgenTrux は index 完了確認後にのみ送信済みとして扱い、欠損を防ぎます)
- HEC の URL を確認します。Splunk Cloud は通常
https://http-inputs-<スタック名>.splunkcloud.com(ポート 443)。self-managed は 8088 も利用可
AgenTrux 側 (2 分)
- Console にログイン → 左メニュー Account → 外部連携 (Experimental) → Splunk 連携
- 入力:
項目 値 HEC URL https://<ホスト>(ポート 443 または 8088。パスは不要)HEC トークン 手順で作成した token Index 送信先 index (任意。未指定なら token の既定 index) Source / Sourcetype 既定 agentrux:audit/_jsonのままで可indexer acknowledgement 有効のまま推奨 - 設定を保存 → 接続テスト (テストイベントを 1 件実送信し、ack まで確認します)
- 連携を有効化 — ここから転送が始まります
2. 何がどう流れるか
- 対象: このアカウントに帰属する監査イベント (サインイン、Topic/Script/Grant の作成・変更、設定変更、認証・credential 操作など)。エージェントが送受信するイベント本文 (ペイロード) は含みません
- 反映まで数分かかります (取りこぼし防止のための猶予を含む定期転送)
- 初回有効化時は、このアカウントの利用可能な監査履歴を先頭から順次転送します
- 配送保証は at-least-once です。indexer ack により欠損は防がれますが、再送で同一イベントが重複し得ます。厳密な集計では
event.metadata.uid(イベントごとに一意) で重複排除してください - プランが Business 未満に変わると連携は自動的に無効化されます (その旨も監査イベント
splunk_export.auto_disableとして記録・転送されます)。再開はアップグレード後に Console で再有効化してください — 停止位置から欠損なく再開します
3. イベントの構造
HEC の標準イベント形式で届きます。time は監査イベントの発生時刻、OCSF 本体は event 直下です:
| HEC フィールド | 内容 |
|---|---|
source |
設定値 (既定 agentrux:audit) |
sourcetype |
設定値 (既定 _json — JSON フィールドが検索時に自動抽出されます) |
time |
監査イベントの発生時刻 |
event.* |
OCSF イベント本体 (以下) |
event.* の主なフィールド:
| フィールド | 内容 | 例 |
|---|---|---|
event.activity_name |
操作名 | topic.create, splunk_export.enable |
event.actor.user.uid |
実行者 ID | usr_..., scr_... (エージェント) |
event.status / event.status_id |
成否 | Success / Failure |
event.class_uid |
OCSF クラス | 3002 (Authentication) / 6003 (API Activity) |
event.src_endpoint.ip |
操作元 IP | |
event.resources{}.uid |
操作対象リソース | top_..., acc_... |
event.metadata.uid |
イベント一意 ID (重複排除キー) | agentrux:audit:12345 |
event.unmapped.details |
操作の詳細 (可変) |
4. SPL レシピ
# 全監査イベント (sourcetype=_json なのでフィールドは自動抽出)
source="agentrux:audit"
# 重複排除して件数 (at-least-once の再送分を除外)
source="agentrux:audit" | dedup event.metadata.uid | stats count
# 失敗した操作すべて
source="agentrux:audit" event.status=Failure
# 認証・credential まわりの操作
source="agentrux:audit" event.class_uid=3002
# 特定ユーザ/エージェントの操作履歴
source="agentrux:audit" event.actor.user.uid=usr_xxxx
# 操作種別ごとの集計
source="agentrux:audit" | dedup event.metadata.uid
| stats count by event.activity_name | sort -count
# Grant (アクセス権) の変更
source="agentrux:audit" event.activity_name=grant.*
# 連携自体の状態変化 (自動無効化の検知)
source="agentrux:audit" event.activity_name=*_export.auto_disable
5. おすすめアラート (saved search)
event.status=Failureの急増 (失敗操作の異常検知)event.class_uid=3002 event.status=Failureの連発 (認証失敗の試行)event.activity_name IN (*credential*, *revoke*, grant.*)(権限・credential の変更を通知)event.activity_name=*_export.auto_disable(転送が止まった時に気づく)
6. 運用ノート
- HEC token のローテーション: Splunk 側で新 token を発行 → Console で再入力・保存するだけです (転送は次の周期から新 token を使用)
- 連携の状態 (最終成功時刻・連続失敗回数・最後のエラー) は Console の Splunk 連携画面で確認できます
- 接続テストが「HEC accepted but ack not confirmed」になる場合は、token の indexer acknowledgement 設定を確認してください
- 監査ログを Datadog に送りたい場合は Datadog 連携 をご覧ください (併用も可能です)