テック技報最新号へ →
AIコーディング

Claude Code のクラウドセッション: API キーは環境変数ではなく「network secrets」に置き、VM の外で付けてもらう

クラウド環境の設定で API キーを network secret として登録すると、Anthropic のプロキシが、指定したホスト宛てのリクエストに VM を出たあとでヘッダを付ける。セッション内の Claude やコマンドからはキーが見えない。

@laiso · 2026-11-09
#ai-coding#claude-code#クラウド#シークレット#セキュリティ

なぜ必要か

  • クラウド環境の「環境変数」は、その環境を使う人全員とセッション内のコマンドから読める。ドキュメント自身が「秘密を入れないで」と書いている
  • エージェントにキーが見えると、ログや出力、プロンプトインジェクション経由で漏れる余地がある
  • 2026-11-06 の更新で、Pro/Max/Ultra ではリポジトリに必要な依存・ネットワーク・API キーを Claude が判断して環境を作り、次回のために保存するようになった。そのときもキーは network secret として保存される(@ClaudeDevs)

登録の手順(claude.ai/code)

  1. 環境を編集する画面を開き、Network secrets を選ぶ
  2. Add secret で、Secret type は既定の Bearer のまま
    • Allowed websites: api.example.com(*. で始めるとサブドメインすべて)
    • Custom headers: Authorization/Prefix Bearer に値を貼る。X-Api-Key のように素の値を送る API は名前を変えて Prefix を消す
  3. Add を押すとすぐ保存される。保存後は値を再表示できない
  4. セッションで curl https://api.example.com/... を頼み、キーなしで通ること、環境変数やファイルにキーが出てこないことを確かめる

仕様のポイント

  • 登録したホストへは、環境のネットワーク許可レベルに関係なく到達できる(そのホストが許可リストに入るのと同じ効果)
  • 付かないもの: GitHub(専用の GitHub プロキシが担当)、api.anthropic.com と npm/PyPI/crates などの公開レジストリ、セットアップスクリプト中のリクエスト(プロキシに繋がる前に動くため)
  • 自前ホスト(self-hosted)の環境には network secrets がない
  • Team/Enterprise で組織の管理者ロール(Owner)がない人は、1ホスト1件の簡易フォームになる(*. は使えない)。共有環境の secret は Owner が管理画面から追加する

注意点

出典

X の元の投稿を開く