バイブコーディングの土台

Day 6外とつながる — Web・API

認証とAPIキー(合言葉・会員証)

「あなたは誰?」を確かめる仕組みと、その合言葉(APIキー)の安全な扱い方。

窓口はまず「あなたは誰?」を確かめる

会員制のお店を思い出してください。入り口で会員証を見せて、初めて中に入れます。APIの窓口も同じで、多くは『あなたは誰? ちゃんと利用資格がある人?』を確かめてから頼みを受け付けます。この確認のしくみを 認証 と呼びます。

たとえるなら

認証は『会員証の提示』や『合言葉』です。受付は『会員証を見せてくれた人だから、この人の頼みを聞こう』と判断します。会員証が本物なら中へ、無ければお断り。誰でも自由に頼めてしまうと、料金の請求先も分からず、いたずらもし放題になってしまいます。

APIキーは「あなた専用の合言葉」

APIを使うとき、多くは APIキー という文字列を一緒に渡します。これは『あなた専用の会員番号つき合言葉』です。窓口はこのキーを見て『この利用者からの頼みだな』と判断し、利用回数や料金もこのキーに紐づけて記録します。だからAPIキーは、あなたの財布の紐と直結した大事なものなのです。

危ない扱い

APIキーをアプリの目立つ場所に直接書き、そのまま公開の場所(例:みんなが見られる保管庫)に上げてしまう。合言葉が丸見え。

安全な扱い

APIキーは『秘密の引き出し』(環境変数や秘密管理のしくみ)に入れ、コード本体には書かない。共有する保管庫には絶対に上げない。

最重要の警告:合言葉は絶対に見せない

APIキーが他人に漏れると、その人があなたのふりをして頼み放題になり、料金があなたに請求されたり、悪用されたりします。合言葉は『家の鍵』と同じ。人に渡さない、公開の場所に置かない、が鉄則です。

どこに置くか——秘密の引き出し

  • コードの中に直書きしない(見た人全員に鍵を渡すのと同じ)。
  • 『環境変数』という秘密の引き出しに入れて、コードからは名前で呼び出す。
  • 共有の保管庫(バージョン管理)に上げる前に、鍵が混ざっていないか必ず確認する。
  • 漏れたと思ったら、すぐに古い鍵を無効化して新しい鍵に交換する(鍵の付け替え)。
TEXT
【やってはいけない】
  api_key = "abcd-1234-himitsu"   ← コードに直書き(丸見え)

【おすすめ】
  api_key = 秘密の引き出しから取り出す("WEATHER_API_KEY")
  ← 鍵そのものはコードに書かず、名前で呼ぶ
考え方は言語共通。PythonでもTypeScriptでも「鍵は外に置き、名前で呼ぶ」

この『鍵はコードの外の秘密の引き出しに置き、名前で呼び出す』という考え方は、言語が変わっても共通です。PythonでもTypeScriptでも書き方は違っても、狙いは同じ『合言葉を人目から隠す』です。

AIにはこう頼む

「APIキーはコードに直書きせず、環境変数から読み込む形にして。共有の保管庫に上げない設定(除外)も一緒に用意して」と頼むと、最初から安全な形にしてくれます。作ってもらった後は『鍵がコードに残っていないか確認して』と一言添えましょう。

なぜ基礎を知ると強いのか

認証とAPIキーの意味がわかっていれば、AIに丸投げしても『鍵の置き場所は安全?』と最後の確認ができます。バイブコーディングで一番怖い事故のひとつが『合言葉の漏洩』です。仕組みを一言で説明できる人は、この事故を防げます。

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

APIキーを一番安全に扱っているのはどれ?

Q2

APIキーが他人に漏れると起きうる問題は?

Q3

認証とAPIキーの関係を、会員制のお店のたとえで説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。