【えーぴーあいきー】

APIキー とは?

💡 APIを使うための「合言葉」
📌 このページのポイント
APIキーによる認証フロー クライアント リクエスト + 🔑 APIキー 送信 APIサーバー キーを検証 権限を確認 ✓ 200 OK データ返却 ✗ 401/403 アクセス拒否 ⚠️ APIキーの取り扱い注意 公開リポジトリにコミットしない・環境変数で管理する・定期的にローテーション
APIキーを使った認証と許可・拒否の流れ
ひよこ ひよこ

APIキーってどう使うの?

ペンギン先生 ペンギン先生

APIリクエストのヘッダやクエリパラメータに含めて送信するよ。例えば「Authorization: Bearer sk-abc123...」のように。サービス側はこのキーで「誰のリクエストか」を識別して、利用量の計測やアクセス制御を行うんだ

ひよこ ひよこ

APIキーを漏洩させたらどうなるの?

ペンギン先生 ペンギン先生

不正利用で高額な請求が来ることがあるよ。AWS のアクセスキーがGitHubに公開されて、数百万円のEC2インスタンスを立てられた事例は有名。OpenAIAPIキーを漏洩させて大量のトークンを消費されるケースも多い。漏洩に気づいたら即座にキーを無効化(ローテーション)しよう

ひよこ ひよこ

安全な管理方法は?

ペンギン先生 ペンギン先生

環境変数(.envファイル)に保存してコードに直書きしない、②.gitignoreに.envを追加してGitにコミットしない、③本番環境ではAWS Secrets ManagerやVaultで管理、④GitHub Secret ScanningやGitGuardianで漏洩を自動検知。「コードにシークレットを書かない」は鉄則だよ

ひよこ ひよこ

APIキーとOAuthの違いは?

ペンギン先生 ペンギン先生

APIキーは「アプリケーション」を識別する。OAuthは「ユーザー」の権限を委譲する。APIキーは単純だけど権限の細かい制御が難しく、漏洩時のリスクも高い。ユーザーデータを扱うAPIOAuthサーバー間のAPI呼び出しにはAPIキーという使い分けが一般的だね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
APIキー」って出てきたら「APIを使うための認証用の秘密文字列」と思えればだいたいOK!
📖 おまけ:英語の意味
「API Key」 = APIキー
💬 API(アプリケーション連携の窓口)にアクセスするためのKey(鍵)だよ
← 用語集にもどる