APIキーとは?
APIキー(API Key)は、アプリやプログラムがAPIへ接続するときに、誰の契約やプロジェクトから利用しているかを識別するための文字列です。OpenAIやGoogleなどのAI APIでは、リクエストにAPIキーを付けることで、利用できるモデル、権限、使用量、料金を管理します。
人間がWebサービスへログインするときのパスワードに似ていますが、主にプログラム同士の接続で使われます。APIキーが漏れると、第三者に自分の契約でAPIを使われ、予期しない料金が発生することがあります。
APIやOAuthとの違い
APIは、別のアプリからサービスの機能やデータを利用するための接続口やルールです。APIキーは、そのAPIを利用する側を識別するための鍵です。「APIを取得する」という表現を見かけますが、実際にはAPIを使うためのAPIキーを発行している場合があります。
OAuthは、利用者がパスワードを相手のアプリへ渡さず、「このアプリにはカレンダーの閲覧だけを許可する」のように権限を与える仕組みです。APIキーはプロジェクトやアプリにひもづくことが多く、OAuthは特定の利用者による許可を扱うことが多い、という違いがあります。
どこへ保存する?
APIキーは、ソースコードへ直接書かず、環境変数やシークレット管理サービスへ保存します。GitHubなどのリポジトリ、ブログ、スクリーンショット、AIへのプロンプトへ貼り付けてはいけません。
特に、ブラウザで動くJavaScriptや配布するスマートフォンアプリへAPIキーを埋め込むと、利用者が中身を調べて取り出せます。必要な通信は自分のサーバーを経由させ、サーバー側でキーを扱うのが基本です。
安全に使うためのポイント
- 開発、テスト、本番など用途ごとにキーを分ける
- 必要なAPIだけを使えるよう権限を制限する
- 使用量と料金の上限、通知を設定する
- 使わなくなったキーは無効化する
- 漏えいが疑われたら、すぐに削除・再発行する
AIエージェントにAPIを使わせる場合も、キーの文字列そのものを会話へ貼るのではなく、1Passwordなどから実行時だけ渡す方法が安全です。「AIだから秘密を守ってくれる」と考えず、人間や通常のアプリへ渡す場合と同じ基準で管理しましょう。