DatadogでClaudeの監査ログを見る — APIキー作成と認証イベントのモニター
DatadogのClaude Complianceインテグレーションで、管理操作・APIキーの作成と削除・SSOの認証イベントをログとして取り込み、モニターを置くまでの手順と、取れない範囲を示します。
DatadogにClaudeの監査ログを入れると何が見えるか
Datadogの「Claude Compliance」インテグレーションは、AnthropicのCompliance APIが返す監査アクティビティをDatadogのログとして取り込みます。取り込まれたログにはsource:claude-compliance-logsのタグが付き、Log Explorerでそのまま検索できます。
Datadogのドキュメントが挙げる用途は5つです。
- SSOのサインインと認証イベントの監視
- Admin・Platform・ScopedのAPIキーについて、作成・削除・スコープ更新の追跡
- メンバー招待・ロール変更・ワークスペース更新といったAnthropic Console操作の監査
- チャットの閲覧やプロジェクトへのアクセスなど、Claude利用の監査レベルでの調査
- 同梱のCloud SIEM検出ルールによるセキュリティ上重要なイベントの検知
ログ1件には、created_at(マイクロ秒精度のタイムスタンプ)、操作した主体(ユーザー・APIキー・SCIM・システム)、type、組織とワークスペースの文脈が入ります。主体のメールアドレス・ユーザーID・IPアドレス・User-Agentは該当するときに付きます。種類は150以上、カテゴリは35以上です。
取り込み側のパイプラインは、主体のオブジェクトをusr.*とnetwork.client.*の標準属性に展開し、送信元IPにGeoIPを、User-Agent文字列に解析を加えます。「どの国のIPから管理者キーが作られたか」をクエリだけで絞れるのはこのためです。
Compliance APIそのものの全体像はClaude Compliance APIとはにあります。取り込みパイプラインを自作する場合の設計はCompliance APIのSIEM連携が扱っています。この記事は、Datadogが用意した取り込みの口を使って、最短でモニターまで届く道筋に絞ります。
始める前に確認する前提と、公式ページ同士の食い違い
前提は3つです。ここで、Datadog側とAnthropic側の説明に差があるので先に触れます。
Datadogのドキュメントは前提に「Anthropicのエンタープライズプランの契約」と「Anthropic Organization settingsのData and privacyでCompliance APIを有効化していること」を挙げます。一方、Claudeのヘルプセンターは、同じDatadogを「Claude Platformの監査ログを取り込み、管理操作・APIキーのライフサイクル・認証イベントを可視化する」と紹介しています。Compliance API自体は「Claude EnterpriseとClaude Platformの顧客が使える」とされ、Platformでの利用はAnthropicの営業チームへの問い合わせが入口です。
データの範囲はプロダクトで変わる
Claude Enterprise
チャットの内容・アップロードしたファイル・プロジェクトに加え、CoworkやClaude Codeのセッション内容も対象です。ユーザーのログイン・管理操作・設定変更のアクティビティフィードも取れます。
Claude Platform
メンバーやワークスペースの変更・APIキーの作成・アカウント設定といった管理・システムイベントと、ファイル作成・ダウンロード・スキル変更といったリソースイベントが対象です。プロンプトとモデル応答の内容は、Compliance API経由では取れません。
Datadogの手順に沿って組織設定を探すなら、自分の契約がどちらに当たるかを先に確かめておくと迷いません。DatadogのOverviewにある「チャットの閲覧」「プロジェクトアクセス」「ファイル操作」はEnterprise側のイベントです。Platformだけの契約では、APIキー・メンバー・ワークスペース・認証まわりのイベントが中心になると読むのが自然です。
三つ目の前提はキーです。次のどちらかを使います。
| キーの種類 | プレフィックス | 必要なスコープ |
|---|---|---|
| Admin APIキー | プレフィックスsk-ant-admin01- | 必要なスコープread:compliance_activities |
| Compliance Access Key | プレフィックスsk-ant-api01- | 必要なスコープread:compliance_activities(取りたい種別に応じて追加) |
Admin APIキーは、Compliance APIを有効にした後に作ったものだけがread:compliance_activitiesを持ちます。有効化の前から使っている管理者キーを流用すると、403になることがあります。スコープの選び方とキーの作り方はCompliance APIのセットアップとアクセスキー作成に詳しく書いてあります。
4ステップで取り込みを始める
Datadog側の操作は貼り付けて保存するだけです。手間がかかるのはAnthropic側の準備です。
セットアップの流れ
- 1
Compliance APIを有効にする
Primary OwnerとしてAnthropic Consoleにログインし、Organization settingsのData and privacyを開きます。Compliance APIの項目でEnableを押します。
- 2
Admin APIキーを用意する
Organization settingsのAPI keysから、新しいAdmin APIキーを作ります。DatadogのAnthropic Usage and Costsインテグレーションで使っているキーがあれば、同じキーを使い回せます。表示されたキーは安全な場所に控えます。
- 3
Datadogに貼り付ける
Datadogのインテグレーション設定画面で、Admin API Keyの欄にキーを貼り、Create Accountを押します。
- 4
ログが届いたか確かめる
最初の取得まで最大5分かかります。Log Explorerで
source:claude-compliance-logsを検索し、evt.nameにclaude_chat_viewed・admin_api_key_created・sso_login_succeededのような値が並べば成功です。
Datadogに貼る前に、キー自体がActivity Feedを読めるか手元で確かめておくと、あとの切り分けが楽になります。Compliance APIのエンドポイントはGET /v1/compliance/activitiesです。1件だけ取る確認用のコマンドを示します。
curl --fail-with-body -sS -G \
"https://api.anthropic.com/v1/compliance/activities" \
--header "x-api-key: $ANTHROPIC_ADMIN_KEY" \
--header "anthropic-version: 2023-06-01" \
--data-urlencode "limit=1"HTTP 200でJSONが返ればキーは使えます。403なら、Compliance APIの有効化とスコープを疑います。この確認はDatadogの外で行えるので、画面側のエラーより原因を絞りやすくなります。
Log Explorerで見る3つの検索クエリ
取り込みが動いたら、モニターを置く前に検索で件数を眺めます。普段どれくらい出るイベントかを知らないまま閾値を決めると、通知が鳴りっぱなしになるか、永遠に鳴らないかのどちらかになります。
Datadogのドキュメントが例に出すevt.nameは、Compliance APIのアクティビティtypeと同じ文字列です。次の3本が出発点になります。@evt.nameとするのは、ログ属性を検索するためのDatadogの書き方です。
| 見たいこと | 検索クエリの例 |
|---|---|
| 管理者APIキーの作成 | 検索クエリの例source:claude-compliance-logs @evt.name:admin_api_key_created |
| SSOサインインの失敗 | 検索クエリの例source:claude-compliance-logs @evt.name:sso_login_failed |
| ワークロードIDによる認証 | 検索クエリの例source:claude-compliance-logs @evt.name:platform_federated_authentication |
Anthropic側のAPIリファレンスには、APIキーまわりの種別が複数あります。管理者キーはadmin_api_key_created・admin_api_key_deleted・admin_api_key_updated、スコープ付きキーはscoped_api_key_deleted・scoped_api_key_updated、Platformのキーはplatform_api_key_created・platform_api_key_updatedです。名前にplatform_が付くものはPlatform側のイベントで、App Attestによる認証のplatform_app_attest_authenticationや、ワークロードID連携のplatform_federation_rule_createdもここに含まれます。
APIキーの種類ごとの違いはClaude APIの認証方式まとめで整理しています。
モニターに載せる価値が高いイベント
どのイベントにモニターを置くかは、「起きたら誰かが必ず確認すべきか」で決めます。次の表は、ドキュメントに載っている種別から選んだ検討用の例です。閾値と通知先は、組織の運用に合わせて決めます。
| 狙い | 対象のイベント | 考え方 |
|---|---|---|
| 管理者キーの無断作成 | 対象のイベントadmin_api_key_created | 考え方1件でも通知します。作成者と送信元IPを通知に含めます |
| 認証の失敗 | 対象のイベントsso_login_failed・magic_link_login_failed | 考え方短時間の回数で閾値を置きます |
| キーの削除・無効化 | 対象のイベントadmin_api_key_deleted・admin_api_key_updated・scoped_api_key_deleted・scoped_api_key_updated | 考え方運用ローテーションの時間帯外を拾います |
| メンバー・権限の変化 | 対象のイベントorg_user_invite_sent・org_user_deleted | 考え方管理者以外が起こしたものを拾います |
| 監査データへのアクセス | 対象のイベントcompliance_api_accessed | 考え方想定外のキーによる読み取りを拾います |
compliance_api_accessedは、Compliance APIを呼び出した事実そのものの記録です。取り込みに使っているキー自身の呼び出しも出るため、モニターでは取り込み用のキーを除外します。
モニターの作成そのものはDatadogの標準機能なので、この記事では何を検知対象にするかの設計に絞ります。
最初から全部を通知にする必要はありません。次の順で広げると、運用側が追いつきやすくなります。
導入の段階
- 1
作成系を1件通知にする
admin_api_key_createdのように、起きる頻度が低く、起きたら必ず確認したいイベントだけを即時通知にします。 - 2
失敗系を回数閾値にする
認証の失敗は、通常の運用でも一定数出ます。一週間ほど件数を眺めてから、平常値より大きい閾値を決めます。
- 3
同梱の検出ルールと突き合わせる
Datadogには、Claude向けのCloud SIEM検出ルールが同梱されています。自分で書いたモニターと重複していないかを確認し、役割を分けます。
取れないものと、つまずきやすい点
取り込みの限界と対処
メトリクス・サービスチェック・イベントは無い
このインテグレーションが集めるのはログだけです。ダッシュボードに件数の推移を置くなら、ログの検索結果から集計する形になります。API利用量や費用を見たいなら、同じAdmin APIキーを使うAnthropic Usage and Costsインテグレーションが別にあります。
ログが10分たっても出ない
Compliance APIの有効化を確認します。それでも出なければ、キーのスコープを確認します。
HTTP 403が返る
Compliance APIが有効になっていること、Admin APIキーが
read:compliance_activitiesを持つことの2点を確かめます。プランがEnterpriseでない場合も、ここに当たります。Gov向けのDatadogサイト
us2.ddog-gov.comでは、インテグレーションが組織で使えるとは限りません。画面のインテグレーション一覧で確かめるか、組織の管理者に確認します。
もう一点、Platformのイベントに会話内容が無いのは仕様です。Datadogで「誰がAPIキーを作ったか」は追えても、「そのキーでどんなプロンプトが送られたか」は追えません。後者が必要なら、アプリ側の記録か、利用形態に応じた別の仕組みを検討します。
閲覧系のイベントは数え方にも注意が要ります。claude_chat_viewedのようなイベントは、人が画面を見た回数ではなく、Claudeアプリがサーバーから内容を読み込んだ記録です。閲覧回数をモニターにするのは向きません。この性質はCompliance APIのSIEM連携に詳しく書いてあります。
Admin APIで取れる範囲との違いは、Claude Admin APIで監査ログは取れるかにあります。Admin APIキーを使ってCompliance APIのActivity Feedだけを読める、という関係です。
Datadogの外側で決めておくこと
取り込みを始める前に、運用側で決めておく項目があります。
- キーの保管先と持ち主。Admin APIキーはCompliance Activity以外の管理機能にも使えるので、取り込み専用のキーを分けるかどうかを決めます
- ログの保持期間。Anthropic側はアクティビティを6年保持しますが、Datadog側の保持は契約とインデックス設定次第です
- 通知の宛先。作成系は組織のセキュリティ担当へ、失敗系は運用チームへ、のように分けます
最初の1週間は通知を絞り、admin_api_key_createdと認証失敗の回数だけを見ます。そのあとで、使っている機能(ワークロードID連携やManaged Agentsなど)に対応する種別を足していくと、ノイズを抑えたまま範囲を広げられます。