APIキーってどう使うの?
APIリクエストのヘッダやクエリパラメータに含めて送信するよ。例えば「Authorization: Bearer sk-abc123...」のように。サービス側はこのキーで「誰のリクエストか」を識別して、利用量の計測やアクセス制御を行うんだ
APIキーを漏洩させたらどうなるの?
不正利用で高額な請求が来ることがあるよ。AWS のアクセスキーがGitHubに公開されて、数百万円のEC2インスタンスを立てられた事例は有名。OpenAI のAPIキーを漏洩させて大量のトークンを消費されるケースも多い。漏洩に気づいたら即座にキーを無効化(ローテーション)しよう
安全な管理方法は?
①環境変数(.envファイル)に保存してコードに直書きしない、②.gitignoreに.envを追加してGitにコミットしない、③本番環境ではAWS Secrets ManagerやVaultで管理、④GitHub Secret ScanningやGitGuardianで漏洩を自動検知。「コードにシークレットを書かない」は鉄則だよ
APIキーとOAuthの違いは?
APIキーは「アプリケーション」を識別する。OAuthは「ユーザー」の権限を委譲する。APIキーは単純だけど権限の細かい制御が難しく、漏洩時のリスクも高い。ユーザーデータを扱うAPIはOAuth、サーバー間のAPI呼び出しにはAPIキーという使い分けが一般的だね