セキュリティ、法務、ガバナンス、調査の各業務で監査可能な記録が必要な場合は、Compliance API を使用します。導入状況や利用傾向の把握には、コンプライアンス記録ではなく分析データを使用してください。
アクセス要件、対象イベント、ルート、スキーマ、フィルター、データ保持、リクエストの処理に関する最新の仕様は、管理 API リファレンスを参照してください。
利用可能なコンプライアンス機能と一般的な連携方法の概要は、コンプライアンスプラットフォームガイドを参照してください。
Compliance API の用途
Compliance API は、次のような用途に適しています。
- 対象となる記録を監査システムや調査システムにエクスポートする
- 組織のデータ保持手続きやリーガルホールド手続きを適用する
- Codex のアクティビティを他のセキュリティデータや ID データと関連付ける
- セキュリティ、法務、ガバナンスに関する承認済みの調査に役立てる
Compliance API は生産性を測るダッシュボードではありません。コードの品質や個人の業績を推定するために使用しないでください。導入状況のレポートには、ワークスペース分析または Analytics API を使用してください。
利用開始の手順
- 管理 API リファレンスを開き、自分の管理者ロールで必要なコンプライアンスリソースにアクセスできることを確認します。
- 継続的な収集には、追記専用のコンプライアンスログストリームを使用します。現在サポートされているリソースと取得方法は、API リファレンスで確認してください。
- ログファイルをダウンロードし、非本番環境のセキュリティ情報イベント管理(SIEM)システムまたはデータレイクに取り込めることを確認します。
- 継続的に収集できるようスケジュールを設定し、エクスポートした記録に組織のアクセス制御、データ保持、リーガルホールドの各ルールを適用します。収集元の保持期間を、組織の保持ポリシーの代わりにしないでください。
たとえば、セキュリティチームは変更できないコンプライアンスイベントを SIEM にストリーミングして調査に利用したり、承認済みの電子証拠開示ワークフローに転送したりできます。エンドポイントの仕様をこのガイドからコピーせず、最新のルートとスキーマを API リファレンスで確認してください。
ログのダウンロード
Bash スクリプトまたは PowerShell スクリプトをダウンロードします。どちらのスクリプトも、ページを順にたどり、指定したタイムスタンプより後の利用可能なログファイルをすべて列挙してダウンロードします。データは JSONL 形式で標準出力に、エラーは標準エラー出力に書き出します。
COMPLIANCE_API_KEY に Enterprise Compliance API のキーを設定します。<workspace_or_org_id> は ChatGPT のワークスペース ID または API プラットフォームの組織 ID に、<after> はタイムゾーンを含む ISO 8601 形式のタイムスタンプに置き換えます。この例では、AUTH_LOG ファイルを 100 件ずつ取得します。
macOS または Linux では、Bash、curl、jq をインストールしてから、次のコマンドを実行します。
bash ./download_compliance_files.sh "<workspace_or_org_id>" AUTH_LOG 100 "<after>" > output.jsonl
Windows 用スクリプトは PowerShell 5.1 以降に対応しています。ダウンロードしたファイルの内容を確認してください。Windows がファイルをブロックした場合、組織の実行ポリシーで許可されていれば、Unblock-File -Path .\download_compliance_files.ps1 を実行します。この例では、PowerShell 7 を使用して、バイトオーダーマークのない UTF-8 形式で保存します。
.\download_compliance_files.ps1 "<workspace_or_org_id>" AUTH_LOG 100 "<after>" |
Set-Content -Encoding utf8NoBOM output.jsonl
Work クラウドからローカルコンピューターにアクセスする際の監査記録
Work クラウドからローカルコンピューターにアクセスする場合も、Compliance API の対応範囲は Work クラウドと同じです。記録は conversation_message と codex_log のイベントタイプに含まれます。ローカルでの実行時には OpenTelemetry(OTel)イベントも生成されます。これらのイベントは、OTel コレクターのエンドポイントを設定すると収集できます。ローカルイベントは Compliance API の記録とは別に収集してください。これらの収集元だけでは、ローカルで実行したコマンド、ファイル操作、スクリーンショット、承認、外部での操作のすべてを網羅する記録は得られません。
収集を設定する際は、次の手順に従ってください。
-
対象となる Work の記録を取得するには、
conversation_messageとcodex_logを使用します。それぞれのスキーマ、アクション識別子、タイムスタンプは API リファレンスで確認してください。 -
そのワークフローで記録がどのように保持、削除されるかを確認します。
-
代表的なタスクを実行し、エクスポートした記録と実際に行った操作を照合します。
ポリシー管理を自動化するには、グローバル設定の管理にポリシー API を使用します。ローカルと Codex Cloud の設定は、Agent Security の UI で管理します。グローバル設定を API で管理する既存のワークフローは、移行後も利用できます。スクリプトと Terraform 連携をテストし、ポリシーの割り当てと適用順序が変わっていないことを確認してください。ポリシー管理の自動化は、監査記録の取得とは別に確認してください。ポリシー API の対応範囲によって、Compliance API が対象とするイベントが変わることはありません。
フックを使った監査がワークスペースで有効な場合は、管理者が定義した MCP フックを使用します。これらのフックは、対応するライフサイクルイベントやツールイベントが発生すると、クラウドコーディネーター(オーケストレーター)上で実行されます。既存の監査ワークフローを置き換える前に、コールバック接続、記録されるイベントの範囲、障害発生時の動作をテストしてください。フックで得られる記録は、Compliance API が対象とするイベントとは別に確認してください。
管理範囲の確認
コンプライアンスの対象範囲は、ChatGPT ワークスペースと現行の API リファレンスに記載された製品に基づきます。API プラットフォームの組織データには、同プラットフォーム独自の API データ管理と管理者向けの制御が適用されます。
現在のルート、対象イベント、スキーマ、フィルター、データ保持の仕組み、必要な権限、リクエストの処理方法は、API リファレンスで定められています。このページでは、それらの仕様は再掲していません。