~/VibeHandbook
無料 PDF

04 · 06

API キーと認証ヘッダー

役に立つ のほとんどは、世界に開かれてはいない。会社は誰が尋ねているのかを知る必要がある。利用状況を追跡し、あなたに課金するためだ。会社はあなたに API キーを渡す——あなたのアカウントを識別する、長い秘密の文字列だ。あなたはそれをすべてのリクエストに付ける。通常は Authorization という ヘッダーに、上の Bearer sk_live_... の行のように添える。

API キーはパスワードとまったく同じように扱うこと。実際それがパスワードなのだから。それを持っている者は誰でも、あなたとしてリクエストを送れる——そしてあなたの請求額を膨らませたり、データを読んだりできる。これはセキュリティの章に直結する話で、最も重要なルールがひとつある。

  • API キーを、ブラウザに配信されるコードに絶対に置かないこと。 フロントエンドにあるものはすべて公開されている——ユーザーは開発者ツールを開いてそれを読める。「ページから API を呼び出して」と頼まれた AI は、あなたの秘密のキーをそこに嬉々として貼り付ける。止めること。秘密のキーはサーバーにあるべきだ。
  • キーを にコミットしないこと。 あとで削除したとしても、それは履歴の中に永遠に生き続けるし、ボットは公開リポジトリを数分以内にスキャンしてキーを探している。
  • キーは環境変数に保存すること。 コード自体の中ではなく——セキュリティの章で扱うのと同じパターンだ。

キーは安全な場所から運ばれなければならず、決してブラウザから運ばれてはならない。2つの経路を思い描いてほしい——ひとつは安全、ひとつは漏洩だ。

   安全 ✓                                  漏洩 ✗
   ┌──────────┐ key    ┌──────────┐        ┌──────────┐ key   ┌──────────┐
   │ サーバー │ ───▶   │   API    │        │ ブラウザ │ ──▶   │   API    │
   │ (バック  │隠れる  │          │        │ (誰でも  │       │          │
   │ エンド)  │        │          │        │ 読める)  │       │          │
   └──────────┘        └──────────┘        └──────────┘       └──────────┘
   key は環境変数に                        フロントの key = 公開

もし本物のキーが差分の中、フロントエンドのファイルの中、あるいはチャットメッセージの中に居座っているのを見かけたら、それはすでに漏洩したものとして扱うこと。すぐにローテーションする(新しいものを生成し、古いものを無効化する)のだ。

オフラインでも読みたい?

本編まるごとを PDF または EPUB で無料ダウンロード。