API キー
API キー とは何ですか?
API キーサービスが発行する静的なシークレット文字列。呼び出し元を識別・認証するため、各 API 呼び出しのヘッダーやクエリで送信される。
API キーは、バックエンド API に対してプロジェクト、サービスアカウント、開発者を識別する長いランダム文字列です。発行も利用も簡単ですが、保証は弱いものです。識別対象は呼び出し元でありエンドユーザーではなく、既定では失効せず、紐づいた権限がそのまま付与されます。ベストプラクティスはシークレットマネージャでの保管、クライアントコードや公開リポジトリへの埋め込み禁止、最小スコープ、IP や Referer による制限、定期的なローテーション、漏洩時の即時失効です。エンドユーザー認可や重要操作には OAuth 2.0、mTLS、あるいは署名付きリクエストを使ってください。
● 例
- 01
Authorization: ApiKey sk_live_abc123...
- 02
Stripe、Google Maps、Twilio などのプロジェクト単位 API キー利用。
● よくある質問
API キー とは何ですか?
サービスが発行する静的なシークレット文字列。呼び出し元を識別・認証するため、各 API 呼び出しのヘッダーやクエリで送信される。 サイバーセキュリティの ID とアクセス カテゴリに属します。
API キー とはどういう意味ですか?
サービスが発行する静的なシークレット文字列。呼び出し元を識別・認証するため、各 API 呼び出しのヘッダーやクエリで送信される。
API キー はどのように機能しますか?
API キーは、バックエンド API に対してプロジェクト、サービスアカウント、開発者を識別する長いランダム文字列です。発行も利用も簡単ですが、保証は弱いものです。識別対象は呼び出し元でありエンドユーザーではなく、既定では失効せず、紐づいた権限がそのまま付与されます。ベストプラクティスはシークレットマネージャでの保管、クライアントコードや公開リポジトリへの埋め込み禁止、最小スコープ、IP や Referer による制限、定期的なローテーション、漏洩時の即時失効です。エンドユーザー認可や重要操作には OAuth 2.0、mTLS、あるいは署名付きリクエストを使ってください。
API キー からどのように防御しますか?
API キー に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
● 関連用語
- appsec№ 459
コードへのハードコードされたシークレット
認証情報・API キー・トークン・暗号資産をソースコード・設定ファイル・コンテナイメージに直接埋め込むことで、容易に発見・悪用される状態。
- appsec№ 052
API セキュリティ
認証・認可・データ露出・濫用耐性が攻撃下でも崩れないように API を設計・実装・運用する分野。
- identity-access№ 088
ベアラトークン(Bearer Token)
RFC 6750 で定義された不透明あるいは構造化された資格情報。所持しているだけでリソースへのアクセス権が与えられ、本人確認は行われない。
- identity-access№ 749
OAuth 2.0
リソース所有者が資格情報を共有せずに、サードパーティ製アプリへ API に対する制限付き・スコープ付きのアクセスを委譲できる、オープンな認可フレームワーク。
- identity-access№ 1011
サービスアカウント
アプリケーション・スクリプト・サービスが他のシステムに認証するために用いる非人間アイデンティティで、通常は対話的ログインを行わない。
- identity-access№ 233
クレデンシャルボールト
パスワード、API キー、証明書、SSH 鍵などの機密を安全に保管・ローテーション・仲介する、集中管理された監査可能なサービス。