Day 6・外とつながる — Web・API
認証とAPIキー(合言葉・会員証)
「あなたは誰?」を確かめる仕組みと、その合言葉(APIキー)の安全な扱い方。
窓口はまず「あなたは誰?」を確かめる
会員制のお店を思い出してください。入り口で会員証を見せて、初めて中に入れます。APIの窓口も同じで、多くは『あなたは誰? ちゃんと利用資格がある人?』を確かめてから頼みを受け付けます。この確認のしくみを 認証 と呼びます。
たとえるなら
認証は『会員証の提示』や『合言葉』です。受付は『会員証を見せてくれた人だから、この人の頼みを聞こう』と判断します。会員証が本物なら中へ、無ければお断り。誰でも自由に頼めてしまうと、料金の請求先も分からず、いたずらもし放題になってしまいます。
APIキーは「あなた専用の合言葉」
APIを使うとき、多くは APIキー という文字列を一緒に渡します。これは『あなた専用の会員番号つき合言葉』です。窓口はこのキーを見て『この利用者からの頼みだな』と判断し、利用回数や料金もこのキーに紐づけて記録します。だからAPIキーは、あなたの財布の紐と直結した大事なものなのです。
危ない扱い
APIキーをアプリの目立つ場所に直接書き、そのまま公開の場所(例:みんなが見られる保管庫)に上げてしまう。合言葉が丸見え。
安全な扱い
APIキーは『秘密の引き出し』(環境変数や秘密管理のしくみ)に入れ、コード本体には書かない。共有する保管庫には絶対に上げない。
最重要の警告:合言葉は絶対に見せない
APIキーが他人に漏れると、その人があなたのふりをして頼み放題になり、料金があなたに請求されたり、悪用されたりします。合言葉は『家の鍵』と同じ。人に渡さない、公開の場所に置かない、が鉄則です。
どこに置くか——秘密の引き出し
- コードの中に直書きしない(見た人全員に鍵を渡すのと同じ)。
- 『環境変数』という秘密の引き出しに入れて、コードからは名前で呼び出す。
- 共有の保管庫(バージョン管理)に上げる前に、鍵が混ざっていないか必ず確認する。
- 漏れたと思ったら、すぐに古い鍵を無効化して新しい鍵に交換する(鍵の付け替え)。
【やってはいけない】
api_key = "abcd-1234-himitsu" ← コードに直書き(丸見え)
【おすすめ】
api_key = 秘密の引き出しから取り出す("WEATHER_API_KEY")
← 鍵そのものはコードに書かず、名前で呼ぶこの『鍵はコードの外の秘密の引き出しに置き、名前で呼び出す』という考え方は、言語が変わっても共通です。PythonでもTypeScriptでも書き方は違っても、狙いは同じ『合言葉を人目から隠す』です。
AIにはこう頼む
「APIキーはコードに直書きせず、環境変数から読み込む形にして。共有の保管庫に上げない設定(除外)も一緒に用意して」と頼むと、最初から安全な形にしてくれます。作ってもらった後は『鍵がコードに残っていないか確認して』と一言添えましょう。
なぜ基礎を知ると強いのか
認証とAPIキーの意味がわかっていれば、AIに丸投げしても『鍵の置き場所は安全?』と最後の確認ができます。バイブコーディングで一番怖い事故のひとつが『合言葉の漏洩』です。仕組みを一言で説明できる人は、この事故を防げます。
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
APIキーを一番安全に扱っているのはどれ?
APIキーが他人に漏れると起きうる問題は?
認証とAPIキーの関係を、会員制のお店のたとえで説明してください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。