Datadog 連携 (監査ログ export)
AgenTrux のアカウントに記録される監査ログ (Console / API の操作履歴) を、あなたの Datadog 組織の Logs に自動転送する機能です。エージェントの活動履歴を、自社アプリケーションのログ・メトリクスと同じ画面で分析・監視・長期保存できます。
- 対象プラン: Business 以上
- ステータス: Experimental (フィードバック歓迎)
- 形式: OCSF (Open Cybersecurity Schema Framework) v1.1.0 準拠の JSON
1. セットアップ
Datadog 側 (2 分)
- Datadog の Organization Settings → API Keys で API key を発行します
- 「Key」欄の secret 文字列をコピーしてください
- ⚠️ 「Key ID」(UUID 形式) ではありません。認証に使うのは Key 本体 (32 文字の英数字) です
- Application Key は不要です
- 自組織の site (リージョン) を確認します。日本のトライアル/契約は通常 AP1 です
AgenTrux 側 (2 分)
- Console にログイン → 左メニュー Account → 外部連携 (Experimental) → Datadog 連携
- 入力:
項目 値 Datadog サイト あなたの組織のリージョン (日本は AP1) API キー 手順で控えた Key (secret) Service / Source Datadog 上の service/ddsource属性 (既定agentruxのままで可)タグ 任意の ddtags(例env:prod,team:platform) - 設定を保存 → 接続テスト (テストイベントを 1 件実送信して受理を確認します)
- 連携を有効化 — ここから転送が始まります
2. 何がどう流れるか
- 対象: このアカウントに帰属する監査イベント (サインイン、Topic/Script/Grant の作成・変更、設定変更、認証・credential 操作など)。エージェントが送受信するイベント本文 (ペイロード) は含みません
- 反映まで数分かかります (取りこぼし防止のための猶予を含む定期転送)
- 初回有効化時は、このアカウントの利用可能な監査履歴を先頭から順次転送します
- 配送保証は at-least-once です。再送で同一イベントが重複し得るため、厳密な集計では
@ocsf.metadata.uid(イベントごとに一意) で重複排除してください - プランが Business 未満に変わると連携は自動的に無効化されます (その旨も監査イベント
datadog_export.auto_disableとして記録・転送されます)。再開はアップグレード後に Console で再有効化してください — 停止位置から欠損なく再開します - 1 件が 1MB を超える巨大イベントは要約形に縮退されます (
@ocsf.agentrux_truncated: trueが付きます)
3. ログの構造
各監査イベントは 1 本のログとして届きます:
| 属性 | 内容 |
|---|---|
message |
<操作名> (<Success/Failure>) |
status |
info / error (失敗イベント) |
timestamp |
監査イベントの発生時刻 |
service / ddsource / ddtags |
設定画面の値 |
@ocsf.* |
OCSF イベント本体 (以下) |
@ocsf.* の主なフィールド:
| フィールド | 内容 | 例 |
|---|---|---|
@ocsf.activity_name |
操作名 | topic.create, datadog_export.enable |
@ocsf.actor.user.uid |
実行者 ID | usr_..., scr_... (エージェント) |
@ocsf.status / @ocsf.status_id |
成否 | Success / Failure |
@ocsf.class_uid |
OCSF クラス | 3002 (Authentication) / 6003 (API Activity) |
@ocsf.src_endpoint.ip |
操作元 IP | |
@ocsf.resources[].uid |
操作対象リソース | top_..., acc_... |
@ocsf.metadata.uid |
イベント一意 ID (重複排除キー) | agentrux:audit:12345 |
@ocsf.unmapped.details |
操作の詳細 (可変) |
4. 分析の準備 (推奨レシピ)
4-1. Facet を作る
Logs Explorer で service:agentrux を検索 → 任意のログを開き、以下の属性を Create facet:
@ocsf.activity_name
@ocsf.actor.user.uid
@ocsf.status
@ocsf.class_uid
@ocsf.src_endpoint.ip
4-2. Pipeline で標準属性へマッピング (任意・推奨)
Logs → Pipelines で service:agentrux を filter に新規 pipeline を作り、remapper を追加すると、Datadog の標準機能 (Cloud SIEM 等) がそのまま効きます:
| Remapper | 元 | 先 |
|---|---|---|
| Attribute remapper | @ocsf.actor.user.uid |
usr.id |
| Attribute remapper | @ocsf.src_endpoint.ip |
network.client.ip |
(status / timestamp / message は標準位置に置いてあるため追加設定不要です)
4-3. クエリ例
# 失敗した操作すべて
service:agentrux status:error
# 認証・credential まわりの操作
service:agentrux @ocsf.class_uid:3002
# 特定ユーザ/エージェントの操作履歴
service:agentrux @ocsf.actor.user.uid:usr_xxxx
# Grant (アクセス権) の変更
service:agentrux @ocsf.activity_name:grant.*
# 連携自体の状態変化 (自動無効化の検知)
service:agentrux @ocsf.activity_name:*_export.auto_disable
4-4. おすすめモニター (アラート)
status:errorの急増 (失敗操作の異常検知)@ocsf.class_uid:3002 status:errorの連発 (認証失敗の試行)@ocsf.activity_name:(*credential* OR *revoke* OR grant.*)(権限・credential の変更を Slack 通知)@ocsf.activity_name:*_export.auto_disable(転送が止まった時に気づく)
5. ダッシュボードテンプレート
すぐ使えるダッシュボード定義を配布しています:
datadog-dashboard-agentrux-audit.json をダウンロード
インポート手順: Datadog の Dashboards → New Dashboard → 右上歯車 → Import dashboard JSON に貼り付け。
含まれるウィジェット: 24h イベント数 / 失敗数、操作種別の時系列、失敗の時系列、実行者 Top 10、操作 Top 10、直近の失敗ログストリーム。 ※ 事前に §4-1 の facet 作成が必要です。
6. 運用ノート
- API key のローテーション: Datadog 側で新 key を発行 → Console で再入力・保存するだけです (転送は次の周期から新 key を使用)
- 連携の状態 (最終成功時刻・連続失敗回数・最後のエラー) は Console の Datadog 連携画面で確認できます
- 長期保存が必要な場合は Datadog の Log Archives をご利用ください