新しい CData Driver for Claude Compliance で組織全体の Claude 利用状況をモニタリング



Claude は、一部の人が試しに使うツールから、組織全体で日常的に使われるツールへと変わりつつあります。エンジニアは Claude Code でコードをリリースし、アナリストはプロジェクトで作業を進め、運用チームは複数ステップにわたる作業を Cowork に任せ、管理者は社内アプリ向けに API キーやワークスペースを作成しています。これだけ多くの利用が 1つのプラットフォームに集まると、セキュリティ・IT・コンプライアンスの各チームは同じ疑問を抱くようになります。誰が Claude を使っているのか? 設定の何が、誰によって変更されたのか? それを監査担当者に証明できるのか?

CData Driver for Claude Compliance は、こうした疑問に SQL で答えます。Claude のコンプライアンスデータをリレーショナルなビューとして公開するので、Java Database Connectivity(JDBC)、Open Database Connectivity(ODBC)、ADO.NET、Python に対応したあらゆるツールから、Activity Feed、ユーザー、グループ、チャット、プロジェクト、Claude Code のアーティファクトにクエリを実行できます。REST クライアントのコードも、ページネーション処理も、JSON のパースも必要ありません。

今、AI 利用のコンプライアンスレポートが重要な理由

AI アシスタントは今や企業データの作成・変換・共有を担っており、規制当局もそれに注目しています。組織には、AI ツールの中で何が起きたのかを後から再現できることが求められています。

そのための素材は Anthropic が提供しています。組織全体の Activity Feed に加え、ユーザー、グループ、ロール、チャット、ファイル、プロジェクト、Claude Code のアーティファクトにプログラムからアクセスできます。ただし、それ単体では 2種類のページネーション方式やチャット取得時のファンアウトパターンを持ち、深くネストされ、常に変化し続ける JSON のイベントペイロードを返す REST API にすぎません。エンジニアが 1人でスクリプトを 1本書くだけなら問題ありませんが、Excel や Power BI、SIEM(Security Information and Event Management)プラットフォームで毎週レポートを作成する必要があるコンプライアンス担当者には向いていません。

このギャップを埋めるために、私たちはこのドライバーを開発しました。お客様からは、すでに運用しているレポート、BI(ビジネスインテリジェンス)、データパイプラインにそのまま組み込める、Claude のコンプライアンスデータ向けの標準的な SQL インターフェースが欲しいという声をいただいていました。

CData Driver for Claude Compliance のご紹介

接続に必要なもの

接続はあえてシンプルに設計しています。OAuth フローは不要で、必要なのは Compliance Access Key だけです。

プロパティ必須説明
APIKeyはいCompliance Access Key(sk-ant-api01-…)
OrganizationUUIDいいえ組織レベルのビューの読み取り対象となる組織。空のままにすると、ドライバーは最初に返された組織を使用します。キーが複数の組織を対象としている場合は指定してください。

キーは、Claude Enterprise のプライマリオーナーまたは組織オーナーが作成します。付与したスコープによって、ドライバーから参照できる範囲が決まります。対象は Activity Feed、ユーザー、グループ、ロール、チャット、ファイル、プロジェクト、Claude Code のアーティファクト、組織設定、削除操作です。

セットアップでは、見落としやすいポイントが 2つあります。

  1. 最初に Compliance API を有効にします。
  2. キーは API を有効にした後で作成し、必要なスコープだけを付与します。スコープはキーの作成後に変更できません。

メモ:Enterprise プランではない Claude Console の組織では、Claude Console → Settings → Admin keys から発行した Admin API key(sk-ant-admin01-…)を使って、Activity Feed のみを読み取れます。以下の例でも、このキーを使用しています。キーは Compliance API を有効にした後で作成してください。そうしないと read:compliance_activities スコープが付与されません。

Activity Feed に記録されるのは、Compliance API を有効にした時点以降のアクティビティのみです。それ以前のアクティビティを後から取り込むことはできないため、早めに有効にしておきましょう。

データモデル

ドライバーは、読み取り専用のビューとストアドプロシージャを 3つのグループに分けて公開しています。

1. Activity Feed

組織全体の監査ログです。ほとんどのコンプライアンスレポートは、ここから始まります。

Activities は、将来のイベント追加にも対応できるマスタービューです。共通フィールド(Id、CreatedAt、Type、OrganizationId、OrganizationUuid)はフラットなカラムとして公開され、Actor と EventDetails には元のオブジェクト全体が JSON として格納されます。

アクティビティビューは、コンプライアンスチームからの問い合わせが特に多いイベントタイプをカバーしています。アクター情報はカラムにフラット化されており(ActorType、ActorEmailAddress、ActorUserId、ActorIpAddress、ActorUserAgentなど)、さらにタイプごとの固有フィールドも含まれます。

  • コンテンツ:ClaudeChatCreated、ClaudeChatViewed、ClaudeChatDeleted、ClaudeFileUploaded、ClaudeProjectCreated、ClaudeProjectDocumentUploadedなど
  • 認証情報:ApiKeyCreated、AdminApiKeyCreated、AdminApiKeyDeleted、ScopedApiKeyUpdated、ScopedApiKeyDeleted
  • ユーザー:OrgUserInviteSent、OrgUserInviteAccepted、OrgUserDeleted、AccountDeleted
  • 認証:SsoLoginSucceeded、SsoLoginFailed、MagicLinkLoginFailed、SocialLoginSucceededなど
  • 組織の設定:OrgSsoToggled、OrgSsoConnectionActivated、OrgDataExportStartedなど
  • 監査の監査:ComplianceApiAccessed(ドライバー自身によるものも含め、コンプライアンスデータへのすべての読み取りを記録)

CreateActivitySchema は、実際のイベントをサンプリングして、任意のアクティビティタイプに対応する型付きのビューを新たに作成するストアドプロシージャです。次のコマンドを実行すると、そのイベントのフラット化されたビューを作成できます。

EXEC CreateActivitySchema ActivityType = 'platform_workspace_created'

2. 組織とコンテンツのエンティティ

領域ビュー
組織Organizations, OrganizationSettings, OrganizationAPIKeys
ユーザーとアクセス権OrganizationUsers, ComplianceGroups, ComplianceGroupMembers, ComplianceRoles, ComplianceRolesPermissions
チャットChats, ChatMessages
プロジェクトProjects, ProjectAttachments, ProjectCollaborators, ProjectDocumentMetadata
Claude CodeCodeArtifacts, CodeArtifactVersions

3. アクション用のストアドプロシージャ

  • コンテンツの取得:DownloadFile、DownloadGeneratedFile、DownloadProjectDocument、DownloadCodeArtifact、GetChatMessageFilesなど
  • データ保持ポリシーと eDiscovery への対応:DeleteChat、DeleteFile、DeleteProject、DeleteProjectDocument、DeleteCodeArtifact

ビューは設計上読み取り専用のため、書き込みを行えるのはこれらの削除プロシージャだけです。

ドライバーは、主要なフィルタ(Type、アクター ID やユーザー ID、組織、CreatedAt の範囲)を API 側にプッシュダウンし、それ以外の標準 SQL の処理はドライバー自身が担います。結合や GROUP BY、JSON_EXTRACT などの関数も利用できます。

Claude Compliance Monitor を構築する

ドライバーの実際の動きをお見せするために、モニタリング用のダッシュボードを構築しました。アクティビティの推移、管理操作や設定の変更、誰が操作しているか、誰がコンプライアンスデータを読み取っているかを確認できます。テストに使った組織は Admin API key で接続した Claude Console の組織だったため、この例では Activity Feed を中心に紹介します。

今回は CData Claude Compliance JDBC Driver と CData CLI を使用しましたが、同じドライバーは CData の他のエディションでもご利用いただけます。

コーディングエージェントに任せる

このアプリは手書きしたものではありません。CData CLI のスキルを使って Claude Code で構築しました。このスキルは、コマンドラインから CData ドライバーをインストール・接続し、クエリを実行する方法をエージェントに教えるものです。プロジェクト全体は、次のような日常的な言葉で書いた 1つのプロンプトから始まりました。

「Claude のアクティビティの推移をモニタリングするダッシュボードを作りたいです。チームごとのアクティブユーザー数、作成されたチャット・ファイル・プロジェクト、Claude Code と Cowork のセッション、管理操作と設定の変更を確認できるようにしてください。/cdata-cli スキルを使い、まずはドライバーのアクティベートと接続の確立から始めてください。」

そこから、エージェントは次のステップで作業を進めました。

  1. 調査:インストール済みのドライバーを確認し、接続プロパティを読み込んで、テーブルとカラムを一覧表示しました。
  2. データモデルの理解:ドライバーのローカルドキュメントを読んで Activity Feed の設計を理解し、サンプルクエリを実行しました。
  3. 計画:依頼した各指標を具体的なビューに対応付け、Compliance Access Key が必要なものを洗い出しました。
  4. 構築とテスト:ダッシュボードを Java で構築することに決めると、対になる cdata-cli-java スキルに切り替えました。CLI がすでに使用していたものと同じ JDBC JAR ファイルを再利用してアプリを作成し、コンパイル・起動したうえで、すべてのエンドポイントをテストし、結果のスクリーンショットを確認しました。

私たちの役割は、方向付けをすることでした。計画を承認し、API キーを渡し(エージェントのセッションに貼り付けるのではなく、ご自身のターミナルで設定することをおすすめします)、Claude Console を操作してアクティビティを発生させただけです。CLI とアプリは同じ JDBC ドライバーを使用しているため、エージェントがコマンドラインで検証したクエリは、完成したアプリでもそのまま動作しました。

CData CLI とそのスキルのダウンロード方法は、こちらをご覧ください。

ステップ 1:CData CLI で接続してデータを探索する

CData CLI(cdatacli)は、ターミナルから JDBC ドライバーを実行するツールです。アプリケーションのコードを書く前に、接続を確認してスキーマを把握するには、これが一番の近道です。

# Confirm the driver is installed
cdatacli drivers list
# Save an encrypted connection (run this in your own terminal so the key stays private)
cdatacli connection create --driver "Claude Compliance" --name claude-compliance \
  --connectionstring "APIKey='<your key>'"
# Explore the schema
cdatacli metadata tables  --connection claude-compliance
cdatacli metadata columns --connection claude-compliance --table Activities

集計クエリを 1つ実行するだけで、組織内で何が起きているかを把握できます。

SELECT [Type], COUNT(*) AS cnt
FROM [Activities]
GROUP BY [Type]

テスト用の組織では、次の結果が返ってきました。

admin_api_key_created                1
admin_api_key_deleted                1
compliance_api_accessed              3
org_compliance_api_settings_updated  1
org_invites_listed                   3
org_user_invite_sent                 1
org_users_listed                     5
platform_api_key_created             1
platform_api_key_updated             1
platform_workspace_created           1

ステップ 2:ダッシュボードを構築する

エージェントはデータモデルの探索とクエリのテストを終えると、Java でダッシュボードを構築しました。ダッシュボードは、次のパネルで構成されています。

主要 KPI の概要:アクティビティイベントの総数、管理操作の件数、アクティブユーザー数、サインインの失敗数、Compliance API の読み取り回数を表示します。

Claude Compliance Monitor ダッシュボードの主要 KPI

アクティビティの推移:イベントをカテゴリ別(組織とワークスペースの設定、API キー、ユーザーと招待、Compliance API へのアクセス、管理コンソールの閲覧)に積み上げ縦棒グラフで表示します。直近 24時間は 1時間単位、それより長い期間は 1日単位で集計され、アクセシビリティに配慮した表形式の表示も用意しています。

アクティビティの推移を示す積み上げ縦棒グラフ

管理操作と設定の変更:すべての特権操作をフィルタ可能なログとして表示します。誰が、いつ、どの IP アドレスから操作したのかに加え、イベントペイロードから抽出した詳細も確認できます。テスト用の組織では、次の内容が表示されました。

  • Compliance API の有効化(compliance_api_enabled: true)
  • api:admin と read:compliance_activities のスコープを持つ Admin API key の作成
  • ワークスペーススコープの API キーの作成と、別のキーのアーカイブ(status: active → archived)
  • 新しいワークスペースの作成と、user ロールでのユーザーの招待
管理操作と設定の変更をフィルタできるログ

タイプ別のイベントと操作者:未加工のイベントタイプをランキング形式で表示し、その操作を行ったユーザー、API キー、サービスを並べて確認できます。

Compliance API へのアクセス(監査担当者の監査):コンプライアンスデータの読み取りは、それ自体が compliance_api_accessed イベントとして記録されます。ダッシュボードでは、どのキーやクライアントがデータを読み取っているかを一覧表示します。今回の場合は、ユーザーエージェント CData Data Provider Engine で識別されるダッシュボード自身でした。これこそ、監査担当者が求める監督体制の証跡そのものです。

コンプライアンスデータを読み取っているキーとクライアントを一覧表示する Compliance API アクセスパネル

技術スタックをわかりやすく紹介

構成要素役割
CData JDBC Driver for Claude ComplianceCompliance API を SQL テーブルに変換します。Anthropic と通信するのはこの部分だけです。
CData CLI がインストールされていること最初の段階で、接続のテスト、テーブルの参照、クエリの試行に使用
Java 17 + Mavenアプリケーションのランタイムとビルドツール
SQLiteアクティビティをキャッシュする小さなローカルファイル。ダッシュボードを瞬時に読み込めるようにします
Javalinキャッシュしたデータをページ用の JSON に変換する軽量な Web サーバー
Chart.jsブラウザ上でグラフを描画

アプリ全体のコードは数百行程度です。認証、ページネーション、API へのフィルタのプッシュダウン、変化し続けるイベントスキーマへの追従といった難しい部分は、ドライバーが引き受けてくれます。

CData で Claude のコンプライアンスデータへのクエリを始めましょう

Claude が日々の業務に浸透するにつれて、「誰が、いつ、何をしたのか」に答えられることは、もはや欠かせない要件になっています。CData Driver for Claude Compliance を使えば、Anthropic の Compliance API をこうした用途に活用できます。接続プロパティは 1つだけ。Activity Feed と組織のコンテンツをリレーショナルモデルで扱え、フィルタは API 側にプッシュダウンされます。さらに、Anthropic が新しいイベントタイプを追加しても追従できる設計になっています。Compliance Access Key で接続すれば、ユーザー、チーム、コンテンツ、設定の変更を 1つの接続でまとめて監督できます。

今回は JDBC ドライバーと CData CLI を使い、実際に動作するコンプライアンスダッシュボードを数分で構築しました。皆さんのチームで使い慣れた言語や BI ツールでも、同じことが実現できます。まず CLI とそのスキルをインストールする場合は、CData CLI:Claude Code、Cursor、Copilot で CData ドライバーを活用をご覧ください。

さっそく始めましょう:CData Driver for Claude Compliance をダウンロードして Compliance Access Key で接続し、Activities に最初のクエリを実行してみてください。