メインコンテンツへスキップ
Pro プラン8 minutes中級

監査ログのエクスポート

チームの監査ログをNDJSON、CSV、またはJSONにエクスポートして、コンプライアンス、アーカイブ、 後続の分析に利用できます。Proプラン以上で利用可能です。

auditexportcomplianceapicli
最終更新日:
Pro プラン

チームの監査ログをNDJSON、CSV、またはJSONにエクスポートして、コンプライアンス、アーカイブ、後続の分析に利用できます。

監査ログに含まれる内容

アカウントの状態を変更するすべてのアクション — 招待、ロール変更、キーのローテーション、Website設定、請求の変更など — は次のフィールドとともに記録されます:

  • id — ログエントリの一意のid
  • action — 何が起こったか(例:team.invite_memberwebsite.update_settings
  • resource_type + resource_id — 何に対して操作が行われたか
  • actor_id — どのチームメンバーが操作を実行したか
  • metadata — 追加のコンテキスト(ソース、ハッシュ化されたIPなど)
  • created_at — UTCタイムスタンプ

metadata内のIPアドレスは、日次でローテーションされるソルトを用いた一方向ハッシュとして保存されます。これにより、生IPを公開することなくフォレンジック上の価値を保持できます。

ダッシュボード内の設定 → セキュリティ → Audit logでも同じ監査証跡を参照できます。

プランごとの利用可否

監査ログのエクスポートはProプラン以上でご利用いただけます。(FreeプランではAPIキーの作成ができないため、このエンドポイントはFreeではアクセスできません。)

認証

このエンドポイントはExternal APIの一部であり、APIキーで呼び出されます:

Authorization: Bearer YOUR_API_KEY

ダッシュボードからAPIキーを作成してください:設定 → セキュリティ → API Keys → 新しいキー。フルアクセスキーはすべてのエンドポイントで機能します。

アカウントが複数のチームに属している場合は、各リクエストのX-Zenovay-Team-Idヘッダーで対象のチームを指定してください。

監査ログをエクスポート

curl -L "https://api.zenovay.com/v1/cli/mutate/audit/export?format=ndjson" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o zenovay-audit.ndjson

サポートされる形式

formatContent-Type適した用途
ndjson(デフォルト)application/x-ndjsonログ解析パイプラインへのストリーミング(行区切りJSON)
csvtext/csvExcel、Google Sheets、BIツールで開く
jsonapplication/jsonプログラムで処理するための単一のJSON配列

レスポンスはContent-Disposition: attachment; filename="zenovay-audit.<format>"とともに送信されるため、ほとんどのHTTPクライアントはこれをディスクに保存します。

エクスポートはチームの利用可能な監査履歴を返します(監査ログは24か月保持されます)。単一のエクスポートは最大10,000件の最新エントリを返します。より大きなアーカイブの場合は、定期的にエクスポートをスケジュール実行して、コールドストレージに追加してください。より軽量でインタラクティブな検索は、下記の/v1/cli/mutate/audit/logsを使用してください。

最近のエントリを取得(ページネーション)

インタラクティブな問い合わせには/v1/cli/mutate/audit/logsを使用します:

curl "https://api.zenovay.com/v1/cli/mutate/audit/logs?since=7d&limit=100" \
  -H "Authorization: Bearer YOUR_API_KEY"

クエリパラメータ

パラメータデフォルト備考
since7d時間範囲:1h7d4w12m
action完全一致のactionで絞り込み
actorユーザーidで絞り込み
limit501リクエストあたり最大200

要求されたlimitを超えるエントリがさらに存在する場合、レスポンスにはpagination.next_cursorが含まれます。より古いエントリに到達するには、limitを増やすか(最大200)、sinceウィンドウを減らしてください。完全なアーカイブについては、上記のエクスポートエンドポイントを使用してください。このエンドポイントは1回の呼び出しで最大10,000件の最新エントリを返します。

ベストプラクティス

  • 定期的なエクスポートをスケジュールする。 NDJSONをコールドストレージ(S3 Glacier、R2など)に保存する週次のcronジョブは、不変の監査トレイルを低コストで維持する有効な方法です。
  • APIキーを定期的にローテーションする ほか、チームメンバーのオフボーディング後にもローテーションしてください。
  • エクスポートを機密情報として扱う。 エントリ自体は機密ではありませんが、運用上の活動を記述しているため、公開バケットや共有ドライブには置かないでください。
  • Webhookと組み合わせて使う。 特定のアクションにリアルタイムで反応するためにWebhookを使い、エクスポートは定期的な完全照合として活用してください。

発生し得るエラー

ステータス意味
401 unauthorizedAPIキーが欠落しているか無効、またはキーがチームに紐付いていない
402 upgrade_requiredプランに監査ログのエクスポートが含まれていません — Proまたはそれ以上にアップグレードしてください
400 invalid_formatformatndjsoncsvjsonのいずれかである必要があります

すべてのレスポンスにはx-request-idヘッダーも含まれます。サポートチケットに含めていただくと、エンドツーエンドで該当の呼び出しを追跡できます。

この記事は役に立ちましたか?