Why It Fits
選ぶ理由
- とにかく単純で導入が速い
- サービス間・CI/スクリプト向け
- 実装の負担が小さい
Product Profile
共有シークレット
1 つの秘密の文字列で呼び出し元を識別する最も単純な方式。サービス間連携やスクリプトで手軽に使える。
Specifications
Introducing
Decision Guide
採用する理由と、事前に受け入れるべきトレードオフを分けて確認します。
Why It Fits
Trade-offs
Deep Dive
API キーは、API へのアクセスに使う単純な鍵(文字列)です。リクエストにキーを添えて送り、サーバ側は「どのアプリ/どの契約からの呼び出しか」を識別します。
本人(人間)の認証というより、「どのアプリケーションからのアクセスか」を見分けるための識別子に近い、と捉えると役割がはっきりします。
呼び出し側はヘッダーなどにキーを付けてリクエストし、サーバはそのキーが有効かを確認します。
GET /v1/data
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx
キーごとに利用元を識別できるため、呼び出し回数の制限(レート制限)や使用量の計測、無効化といった運用に使えます。
OAuth 2.0 とよく比較されます。
「自社で発行し、自社サービスやサーバ間で使う」ならば API キー、「第三者アプリに利用者の権限を限定して委譲する」ならば OAuth 2.0、という使い分けになります。
サーバ間連携や開発者向け API の入口として、手早く導入できるのが利点です。一方で漏洩リスクが高く、鍵が露出すると悪用されやすい点に注意が必要です。
Implementation View
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
サービス間 API 呼び出し
種別: 共有シークレット / 目的: 認証(主に機械間) / トークン/形式: API キー文字列
サービス間・CI/スクリプト向け
漏れたら即なりすまし(ローテーション必須)
Best Fit