【えーぴーあいきー】

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(鍵)だよ
← 用語集にもどる