Quick Answer
Claude EnterpriseのCompliance APIアクティビティフィードをBigQueryに日次自動収集するには、Cloud Scheduler+Cloud Functions(またはCloud Run)でAPIを定期呼び出し、取得したJSONをBigQueryへロードするのが最も効率的です。
この記事でわかること
– Compliance APIのアクティビティフィード取得手順
– Google Cloud上での日次自動同期アーキテクチャ
– Cloud Functionsでの実装ポイントとサンプルコードの考え方
– BigQueryテーブル設計とパーティション活用
– 運用時の注意点とコスト最適化
Compliance APIのアクティビティフィードとは
Claude EnterpriseのCompliance APIは、ユーザー操作やモデル呼び出しの履歴をJSON形式で取得できるエンドポイントを提供しています。アクティビティフィードには、プロンプト送信時刻、モデル名、トークン数、ユーザーIDなどのメタデータが含まれ、企業ガバナンスに不可欠な情報源です。APIはBearerトークン認証を必要とし、1回の呼び出しで最大1000件まで取得可能です。
BigQuery同期が必要な理由
EnterpriseプランでもClaudeの管理画面では過去30日程度のデータしか確認できません。長期的な監査や社内ダッシュボード作成には、BigQueryへの永続保存が必須です。また、Looker Studioや自社BIツールと連携しやすくなり、セキュリティチームがSQLで自由に分析できる点も大きなメリットです。
推奨アーキテクチャ
最もシンプルで運用コストが低い構成は以下の通りです。
- Cloud Scheduler:毎日午前2時にジョブ起動
- Cloud Functions(第2世代):API呼び出しとBigQueryロード
- Secret Manager:APIキーとサービスアカウントキーを安全に管理
- BigQuery:日付パーティション+クラスタリングでクエリ性能を確保
この構成なら月額数百円〜数千円程度で運用可能です。
Cloud Functionsでの実装ポイント
Functionsでは以下の処理を順に実行します。
- Secret ManagerからAPIキーを取得
- 前回取得日時をFirestoreまたはBigQueryメタテーブルから取得
- Compliance APIを呼び出し、差分データを取得
- pandasまたはgoogle-cloud-bigqueryライブラリでBigQueryへストリーミングインサート
エラー発生時はCloud Loggingに出力し、必要に応じてリトライを設定します。
テーブル設計とパーティション活用
推奨スキーマは以下の通りです。
- event_time(TIMESTAMP)
- user_id(STRING)
- model(STRING)
- prompt_tokens(INT64)
- completion_tokens(INT64)
- action_type(STRING)
event_timeで日付パーティションを切り、user_idでクラスタリングを行うと、月間数十GB規模でも高速にクエリできます。
運用時の注意点とトラブルシューティング
APIレート制限(1分あたり60リクエスト程度)に注意が必要です。取得件数が多い場合はページング処理を必ず実装してください。また、BigQueryへの書き込みは1日あたりの無料枠を超えないよう、ストリーミングではなくバッチロードを検討するとコストを抑えられます。エラーが続く場合は、APIトークンの有効期限切れを最初に確認しましょう。
わさびの見解
12プロジェクトでClaude Enterpriseを導入してきましたが、Compliance APIのBigQuery同期は「作って終わり」ではなく、取得漏れ検知の仕組みまで含めて設計しないと後で痛い目を見ます。特にトークン使用量の急増を早期に検知できるダッシュボードを最初に用意しておくと、予算超過のリスクを大幅に下げられます。



コメント