Compliance APIのセットアップとアクセスキー作成 — スコープの選び方
Compliance APIを有効化し、Compliance Access KeyまたはAdmin API keyを作成する手順と、4種類あるAPIキーの使い分け、スコープの選び方をまとめます。
Compliance APIとは何をするAPIか
Compliance APIは、組織のChatやファイル、プロジェクト、セッションをコンプライアンス担当者が横断的に読み書きするための管理者向けAPIです。eDiscovery(電子証拠開示)対応、DLP(データ損失防止)の運用、アカウント削除時のデータ処理などに使います。使うには、まず組織でCompliance APIを有効化し、次に権限を持つキーを作成する必要があります。キーには2種類あり、組織の形態によってどちらを作るべきかが決まります。
Claude Enterpriseの組織はclaude.aiでCompliance Access Keyを作成すればChat・ファイル・プロジェクト・セッション・ユーザー一覧まですべてのエンドポイントに届きます。単体のClaude Console組織はAdmin API keyを作成しますが、こちらはActivity Feed(組織全体の操作イベント一覧)にしか使えません。
どのキーを使うべきか
Compliance API絡みで名前が似たキーが4種類あり、実際に混同して403を踏むケースが多いところです。作成場所と用途を先に一覧で押さえます。
| キー種別 | 作成場所 | 主な用途 | Compliance APIとの関係 |
|---|---|---|---|
Compliance Access Key(sk-ant-api01-...) | 作成場所claude.ai > Organization settings > API | 主な用途Chat・ファイル・プロジェクト・セッション・ユーザー・組織設定 | Compliance APIとの関係全エンドポイントに対応 |
Admin API key(sk-ant-admin01-...) | 作成場所Claude Console > Settings > Admin keys | 主な用途Admin APIとCompliance APIのActivity Feed | Compliance APIとの関係Activity Feedのみ |
| Analytics APIキー | 作成場所claude.ai > Organization settings > API | 主な用途Claude Enterprise Analytics API | Compliance APIとの関係対応しない |
Claude APIキー(sk-ant-api03-...) | 作成場所Claude Console > Settings > API keys | 主な用途Claudeモデルの呼び出し | Compliance APIとの関係対応しない |
Analytics APIキーとClaude APIキーは名前が近いだけで、Compliance APIのどのエンドポイントも通しません。呼び出しが401や403で落ちたら、まずこの表でキーの種別を確認してください。
Claude Enterpriseのテナントには識別・SSO・SCIMを集約する親組織が1つあり、その配下にリンク組織(claude.ai組織とClaude Console組織)がぶら下がります。親組織はClaude Console(platform.claude.com)には表示されません。親組織はワークロードを持たないため、Compliance Access KeyはClaude Consoleではなくclaude.aiの組織設定で作成します。ここでClaude Consoleを探して見つからず戸惑う運用者は少なくありません。
Compliance APIを有効化する
有効化の場所は組織の構成によって変わります。
- Claude Enterprise組織: 親組織のPrimary Ownerがclaude.aiの「Organization settings > API」で有効化します。親組織レベルで有効化すると、claude.ai・Claude Console両方のリンク組織すべてに反映されます。
- 単体のClaude Console組織: 組織のAdmin(管理者ロール)が「Claude Console > Settings > Security」のCompliance APIトグルをオンにします。セルフサービスで即座に反映されます。トグルが見当たらない場合は、管理者ロールを持っていない、親組織にリンクされている(その場合は親組織側で有効化する)、またはセルフサービス対象外のいずれかです。
- 親組織にリンクされたClaude Console組織: 自組織側でオンにする操作はありません。親組織のPrimary Ownerに依頼します。
Compliance Access Keyを作成する(claude.ai)
Claude Enterpriseの手順です。
1. claude.ai にサインインする(Primary Owner または Organization Owner)
2. Organization settings > API を開き、Keys セクションを探す
3. 「Create key」をクリックし、キーに名前を付ける
4. スコープを1つ以上選択する(下表)
5. 「Create」をクリックし、表示されたシークレットを保存する(表示は1回だけ)キーの権限範囲(スコープ)は次の4つから選びます。最小のスコープ集合を選ぶのが原則で、読み取りと削除を両方使うワークフローではキーを2本に分ける選択肢もあります。漏洩した読み取り専用キーが削除まで実行できてしまう事態を避けられます。
| スコープ | 付与される権限 |
|---|---|
read:compliance_activities | 付与される権限Activity Feedの読み取り |
read:compliance_user_data | 付与される権限Chat・メッセージ・ファイル・プロジェクト・セッションのメタデータとトランスクリプト・組織ユーザー・グループメンバーの読み取り |
delete:compliance_user_data | 付与される権限Chat・ファイル・プロジェクトの削除 |
read:compliance_org_data | 付与される権限組織メタデータ(名前・種別・ロール・グループ)と有効設定の読み取り |
スコープはキー作成時に確定し、作成後の変更はできません。範囲を広げたいときは、新しいスコープを持つキーを作り直してから旧キーを削除します。
キーの権限範囲は、キーを作成する人の役割によっても変わります。親組織のPrimary Ownerはどちらのスコープ設定のキーも作成でき、配下の全リンク組織にアクセスできる範囲、または単一組織に絞った範囲を選べます。Organization Ownerが作れるのは自組織限定のキーだけです。
取得したシークレットは、後続のcURLサンプルが読めるように環境変数へ渡しておきます。
export ANTHROPIC_COMPLIANCE_ACCESS_KEY=sk-ant-api01-...Admin API keyを作成する(Claude Console)
単体のClaude Console組織は、Compliance APIの有効化後にAdmin API keyを作成します。手順はClaude Console共通のAdmin API keyの作り方(組織のAdmin役割のメンバーが「Claude Console > Settings > Admin keys」で作成)と同じで、Compliance APIに固有の追加操作はありません。
export ANTHROPIC_ADMIN_KEY=sk-ant-admin01-...変数名をCompliance Access Keyと分けておくと、両方を発行した組織で片方が片方を上書きする事故を防げます。Admin API keyがread:compliance_activitiesスコープを持つのは、キー作成時点でCompliance APIが有効化されていた場合だけです。有効化前に作ったAdmin API keyはこのスコープを持たず、Activity Feedへの呼び出しも403になります。作り直しが必要です。Admin API keyには他のCompliance APIスコープを追加することはできず、Activity Feed以外のエンドポイントを叩くと常に403 Forbiddenが返ります。
キーのスコープを確認する
手元のキーがどのスコープを持つかは、次の3つの手がかりで判断できます。
- キーのプレフィックス:
sk-ant-admin01-はAdmin API key(常にread:compliance_activitiesのみ、有効化タイミングの条件つき)、sk-ant-api01-はCompliance Access Key(作成時に選んだスコープの組み合わせ) - 設定画面: claude.aiの「Organization settings > API」のKeysセクション、またはClaude Consoleの「Settings > Admin keys」でScopes列を確認
- エラーレスポンス: スコープ不足の呼び出しは403で、
Got:に手持ちのスコープ、Needed:に必要なスコープが列挙される
{
"error": {
"type": "permission_error",
"message": "Missing required scopes. Got: ['read:compliance_activities'] Needed: ['read:compliance_user_data']"
}
}このメッセージだけで、Claude Console側の設定画面を開き直さなくてもキーの持ちスコープを把握できます。
キーの管理とローテーション
Compliance Access Keyの削除はclaude.aiの「Organization settings > API」の同じKeysテーブルから、Admin API keyの削除はClaude Consoleの「Settings > Admin keys」から行います。削除は次のリクエストから即座に効き、猶予期間はありません。Compliance Access Keyは自動失効しないため、ローテーションは運用側の責任になります。
ダウンタイムなしでローテーションする手順は次の4ステップです。
- 同じスコープの新しいキーを作成する
- 連携先の設定を新しいキーに切り替える
- 新しいキーで動作確認する
- 旧キーを削除する
ページネーションカーソルは組織に紐づいており、キーには紐づいていません。ローテーション前に発行したカーソルは、ローテーション後も引き続き有効です。
キーが漏洩した場合は、直ちに削除したうえでActivity Feedをcompliance_api_accessedアクティビティで絞り込み、漏洩したキーによるアクセス痕跡を洗い出します。activity_types[]=compliance_api_accessedでクエリを絞り、レスポンス中のactor.typeがapi_actorでactor.api_key_idが漏洩キーと一致するものだけを残す形で照合します。
つまずきやすいポイント
- 親組織がClaude Consoleに見当たらない: 仕様どおりです。親組織はワークロードを持たず、Claude Consoleにはリンクされたクラウド組織しか表示されません。Compliance Access Keyはclaude.ai側で作ります
- Admin API keyでChatやファイルのエンドポイントを叩いて403になる: Admin API keyが持てるスコープは
read:compliance_activitiesだけです。Chat・ファイル・プロジェクト・セッションを読むにはCompliance Access Keyにread:compliance_user_dataを付けて作り直します - スコープを追加したくてもキーの設定を編集できない: Compliance Access Keyのスコープは作成時に確定し、後から変更する手段はありません。新しいキーを作って移行し、旧キーを消します
- Analytics APIキーやClaude APIキーでCompliance APIを呼んで失敗する: この2種はそもそもCompliance APIのどのエンドポイントにも対応しません。用途の異なるキーです
まとめ
Compliance APIを使うには、まず組織形態に応じた場所(Enterpriseはclaude.ai、単体Consoleはセキュリティ設定)で有効化し、次にEnterpriseならCompliance Access Key、単体Consoleなら有効化後にAdmin API keyを作成します。Compliance Access Keyのスコープは最小権限で選び、読み取りと削除は用途に応じてキーを分けるのが安全です。キーのスコープが読めない・403が出る場合は、まずキーのプレフィックスとエラーメッセージのGot:/Needed:を確認すれば原因が特定できます。
Compliance Access Keyの発行が終わったら、Compliance APIでチャット・ファイル・プロジェクトを取得・削除する手順、またはCompliance APIでローカル/リモートのセッション文字起こしを取得する手順に進めます。組織のロール(Primary Owner・Organization Owner・Admin)の権限差はTeam/Enterpriseの権限ロール一覧にまとめています。Compliance APIとは別物の、Organization settingsから直接CSVを落とす監査ログ機能はClaude監査ログの見方を参照してください。