カテゴリー / 導入・研修

Claude Codeのセキュリティを企業で審査する時の確認点と設定

この記事の目次

Claude Codeのセキュリティを企業で審査するときの答えは次のとおりです。Team・Enterprise・APIなど商用条件では、送ったコードやプロンプトは原則として学習利用の対象にならず(顧客が改善用に提供を選んだ場合を除く)、Team・Enterprise・APIの標準の保持期間は30日です。保持をなくすにはEnterpriseの適格アカウント向けのZDR(Zero Data Retention)があります。開発者の設定は原則として「管理設定(managed settings)」で上書きでき、効いているかは /status で確かめられます。本記事はこれに通信先、監視、第三者認証を加えた論点を、公式ドキュメントの記述に沿って社内説明に使える形で整理します。

PoCから全社展開までの進め方はClaude Code企業導入の進め方で扱っています。

入力したコードは学習に使われるのか、どれくらい残るのか

公式のデータ利用ページは、契約単位ごとに扱いを分けています。

契約 学習への利用 Anthropic側の保持期間
Team / Enterprise / API 使わない(顧客が提供を選んだ場合を除く) 標準30日
Bedrockなどのクラウド経由 使わない(顧客が提供を選んだ場合を除く) 各プロバイダの保持方針に従う
Free / Pro / Max(個人向け) 設定がオンなら使う 許可時5年、不許可時30日

Claude Codeの商用条件の例外の一つが、組織の管理者がDevelopment Partner Programにオプトインする場合です(ファーストパーティAPIのみ対象)。社員が個人のProやMaxアカウントで業務に使うと個人向けの扱いになるため、後述のログイン強制で塞ぎます。

見落としやすいのが /feedback、/bug、/share です。これらで共有したトランスクリプトは5年間保持されます。止めるには環境変数 DISABLE_FEEDBACK_COMMAND を 1 にします。個人側の学習オプトアウトはオプトアウト設定の記事で扱っています。

ZDRはどの契約で使え、何が使えなくなるのか

ZDRを有効にすると、プロンプトと応答は応答を返した後にAnthropic側の保存対象になりません(法令順守と不正対策で必要な場合を除く)。条件は次のとおりです。

  • 対象: Claude for Enterpriseの適格アカウント。標準のEnterpriseプランには含まれず、管理画面からは有効化できない。申請は営業窓口かAnthropicのアカウントチーム経由
  • 単位: 組織ごと。同じアカウントの下に新しい組織を作っても自動では適用されない
  • 範囲: Anthropicの直接プラットフォームだけ。Bedrock、Agent Platform、Microsoft Foundry経由の場合は、それぞれのプラットフォームの保持方針に従う
  • 対象外: claude.aiのチャット、Cowork、Analyticsの利用メタデータ、ユーザーとシートの管理データ、MCPサーバーなど第三者連携が処理するデータ
  • 無効になる機能: クラウドセッション、Artifacts、/feedback・/bug・/share、Remote Controlなど、プロンプトや応答の保存を前提とする機能
  • 例外: ポリシー違反としてフラグが立ったセッションは、入出力が最大2年保持されることがある

落とし穴は、個人アカウントや別組織のAPIキーでログインしたセッションはZDRの対象外になる点です。管理設定の forceLoginMethod と forceLoginOrgUUID でログイン先を自社組織に限定します。

社員のPCに残るデータは何か

Claude Codeはセッション再開のために、トランスクリプトを ~/.claude/projects/ 配下へ平文保存し既定30日保持します。期間は cleanupPeriodDays で変えられます。Claude DesktopやCoworkで開始または最後に続行したセッションのトランスクリプトは、既定ではこの期限の対象外です。

APIキーやトークンは、macOSでは利用可能な場合はキーチェーン、Linuxではモード 0600 のファイルに保存されます。通信はTLS 1.2以上で暗号化され、保存時の暗号化はプロバイダで異なります(Anthropic APIはAES-256、BedrockはAWS KMSの顧客管理キー、Agent PlatformはCMEKが利用可能)。

開発者の設定を組織のポリシーで上書きさせないには

管理設定は、各開発者のユーザー設定、プロジェクト設定、ローカル設定、--settings に原則として優先する最上位の設定です。例外として、安全性に関わる一部の設定では下位のより厳しい値も有効になります。また管理設定の model は既定値にすぎず固定にはならないため、選べるモデルを絞るには availableModels を使います。配り方は4通りあり、優先度の高い順に並べると次のようになります。

配布経路 置き場所
サーバー管理設定 claude.aiの管理コンソール(Team / Enterpriseが必要。MDMがない組織向け)
plist / レジストリ macOS: com.anthropic.claudecode、Windows: HKLM\SOFTWARE\Policies\ClaudeCode(MDM向け)
ファイル macOS: /Library/Application Support/ClaudeCode/managed-settings.json、Linux・WSL: /etc/claude-code/managed-settings.json、Windows: C:\Program Files\ClaudeCode\managed-settings.json
Windowsユーザーレジストリ HKCU\SOFTWARE\Policies\ClaudeCode(昇格なしで書けるため強制手段にしない)

サーバー管理設定は、起動時に取得され、セッション中も1時間ごとに更新されます。管理コンソールで編集できるのはOwnerかPrimary Ownerの役割を持つ人で、端末から api.anthropic.com へ到達できることが前提です。

公式ドキュメントが示している managed-settings.json の例は、.env と secrets 配下の読み取りを禁止し、権限確認を飛ばすモードを無効にし、権限ルールを管理設定からだけ受け付けるものです。

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./secrets/**)"
    ],
    "disableBypassPermissionsMode": "disable"
  },
  "allowManagedPermissionRulesOnly": true
}

permissions.allow と permissions.deny は全ソースでマージされ、開発者は管理側のリストに追加はできても削除はできません。ほかに審査で問われやすいキーは次のとおりです。

  • サンドボックス: sandbox.enabled、sandbox.network.allowedDomains(OSレベルでファイルと通信先を隔離)
  • MCPサーバーの制限: allowedMcpServers、deniedMcpServers、allowManagedMcpServersOnly
  • フックの制限: allowManagedHooksOnly、allowedHttpHookUrls
  • 管理者によるログイン先制限: forceLoginMethod、forceLoginOrgUUID
  • テレメトリの停止: env で CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC を 1

権限ルールとサンドボックスは守る層が違います。WebFetchを拒否しても、Bashが許可されていれば curl や wget で任意のURLに届きます。この穴を埋めるのが、OSレベルで通信先を制限するサンドボックスです。設定の詳細はサンドボックスの記事、設定ファイル全般の優先順位はsettings.jsonの記事で扱っています。

管理設定にも届かない範囲があります。端末の管理者権限を持つ開発者は管理ソース自体を書き換えられます。また、管理設定が縛るのはClaude Codeだけです。別のツールからAPIを呼ぶ場合は対象外になります。

ポリシーが効いているかをどう確かめるか

配布した後は、開発者の端末で次の順に確認します。

  1. Claude Codeの中で /status を実行し、Setting sources の行を見る。管理設定が効いていれば Enterprise managed settings と表示され、括弧内に採用されたソースが出る(サーバー管理設定なら (remote)、MDMなら (plist) か (HKLM)、ファイルなら (file))
  2. /permissions で、実際に有効な権限ルールを確認する
  3. サーバー管理設定の場合は、ターミナルで次を実行し、Managed settings (remote) の行を見る(v2.1.248以降)
claude doctor

うまくいかないときの切り分けは、/status の表示で分かれます。

  • Setting sources の行が出ない: 方針キーを配る管理ソースが見つかっていない。ファイル配布なら、OSごとのパスに置いたか、方針キーが入っているかを確認する。サーバー管理設定なら claude doctor の取得結果(読み込み済み、組織に設定なし、取得失敗、取得スキップ)を見る
  • 配ったものと違うソース名が出る: より優先度の高いソースが端末にあり、そちらが採用されている。無視されたソースは Skipped sources の行に出る
  • 起動しない: 管理設定ファイルやplist、HKLMの値がJSONオブジェクトとして読めないと、Claude Codeはそのソース名を示すエラーを出して起動を拒否する

サーバー管理設定は、初回起動で取得に失敗するとサーバー管理設定なしで起動を続け、対話セッションでは警告を出します。端末側に配った管理設定は引き続き適用されます。一度取得できれば、以降はキャッシュがネットワーク障害時も適用されます。初回失敗時に起動させたくない場合は、管理ソースで forceRemoteSettingsRefresh を設定すると終了するようになります。

社内ネットワークで通すべき通信先とプロキシ設定

公式がプロキシやファイアウォールで許可するよう挙げるURLのうち、基本になるのは次の4つです。

  • api.anthropic.com: Claude APIへのリクエスト
  • claude.ai: claude.aiアカウントの認証
  • platform.claude.com: Consoleアカウントの認証。claude.aiアカウントでもトークンの交換と更新に使うため、どちらのログインでも必要
  • downloads.claude.ai: ネイティブインストーラーと自動更新

プラグインのダウンロードなど、使う機能によっては追加の通信先があります。Bedrock、Agent Platform、Microsoft Foundry経由では、モデルの通信と認証は各プロバイダに向かいます。

社内プロキシと独自の認証局は、公式どおり環境変数で指定します。

export HTTPS_PROXY=https://proxy.example.com:8080
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem

既定では、同梱のMozilla CA証明書とOSの証明書ストアの両方を信頼します。mTLSでクライアント証明書が必要な環境では CLAUDE_CODE_CLIENT_CERT で証明書のパスを指定します。

api.anthropic.com を塞ぐ構成には注意が必要です。WebFetchツールは取得前にホスト名だけを api.anthropic.com に送って安全確認をし、この確認はどのプロバイダでも動きます。塞ぐとWebFetchが失敗するため、ドメインを許可するか、設定で skipWebFetchPreflight: true にします。

利用メトリクスにはコード、プロンプト、ファイルパスは含まれないと公式は明記しています。Bedrock、Agent Platform、Microsoft Foundry、Claude Platform on AWSでは、エラー報告、テレメトリ、バグ報告が既定で無効です。

利用状況の監視と監査ログはどこまで取れるか

Claude Codeは、利用状況やツールの実行をOpenTelemetryでエクスポートできます。有効化に必須なのは次の変数です。

export CLAUDE_CODE_ENABLE_TELEMETRY=1

プロンプト本文は既定では記録されず <REDACTED> になります(OTEL_LOG_USER_PROMPTS で有効化)。Bashのコマンドやファイルパスは OTEL_LOG_TOOL_DETAILS を有効にしたときだけ記録されます。記録範囲を広げるほど機密コードがログ基盤に入るため、範囲はセキュリティ部門と先に決めておきます。

リクエスト単位の監査ログが必要なら、公式はゲートウェイの設置を勧めています。自社ホストのClaude apps gatewayは、IdPの識別情報付きでリクエストごとの監査ログを残せます(ゲートウェイ経由のセッションはHIPAA構成の対象外)。

クラウドセッションはAnthropic管理の隔離VMで動き、全操作が監査のために記録されます。セッション中の設定変更を監査・阻止したい場合は ConfigChange フックが使えます。

第三者認証と規制業種の確認先

SOC 2 Type 2の報告書とISO 27001の証明書は、Anthropic Trust Center(trust.anthropic.com)で入手できると公式のセキュリティページに書かれています。企業の審査では、報告書の対象範囲と期間を原本で確認してください。

医療情報を扱う組織向けには、HIPAAを有効にしたClaude for Enterprise組織のためのHIPAA構成があり、一部の機能が無効または既定オフになります。BedrockやAgent Platformは、既存のAWSやGCPのコンプライアンス管理と請求を引き継ぎたい場合の選択肢として公式に挙げられています。プロバイダ選びの判断軸はBedrock経由の記事を参照してください。

AnthropicはMCPサーバーのセキュリティ監査や管理をしません。リポジトリの .mcp.json だけでは読み込まれるサーバーの全部は分からないため、使ってよいサーバーは前述の管理設定で絞り込みます。

セキュリティ審査で使える確認表

審査の問い 公式の答え 社内で決めること
コードは学習に使われるか 商用条件では原則使わない(顧客が提供を選んだ場合を除く) 個人アカウントでの業務利用を禁止するか
どれくらい保持されるか Team・Enterprise・APIは標準30日。ZDRなら原則として応答後に保存しない(法令・不正対策の例外あり) ZDRが必要か、無効になる機能を許容できるか
端末に何が残るか ~/.claude/projects/ に平文で既定30日 cleanupPeriodDays と端末暗号化の規程
設定を強制できるか 管理設定が原則優先(一部例外あり) 配布経路(サーバー管理かMDMか)と禁止する操作
強制を確認できるか /status、/permissions、claude doctor 展開前に確認する担当者と端末
通信先は api.anthropic.com、claude.ai、platform.claude.com など プロキシ・CA・mTLSの設定方法
監視できるか OpenTelemetry。プロンプト本文は既定で記録しない 記録範囲と保存先
認証は SOC 2 Type 2、ISO 27001をTrust Centerで提供 報告書の範囲と期間の確認

本記事の内容は2026年10月18日時点の公式ドキュメント(code.claude.com)に基づいています。プランの条件、ZDRの対象、許可すべき通信先は更新されることがあるため、契約や審査の確定前にデータ利用、ZDR、ネットワーク設定の各ページを一度見直してください。料金やシートの条件は本記事では扱っていません。

個人や小規模チームで自分の設定を点検したい場合は個人利用のセキュリティリスクの記事、権限モードの選び方は権限モードの記事が対象です。

自社の契約形態や業界の規制に照らして、どの管理設定を配るべきか整理したい場合は、お問い合わせから状況を共有してください。