OpenAPIでのAPIキー認証
OpenAPI 3.0仕様でAPIキー認証をドキュメント化。ヘッダー、クエリパラメータ、CookieでのセキュリティスキームとエンドポイントごとのオーバーライドによるAPIキー定義方法を学びます。
Authentication
詳細な説明
OpenAPIでのAPIキー認証
APIキー認証は、クライアントが各リクエストに秘密鍵を含めるシンプルで広く使用されている方法です。OpenAPIはヘッダー、クエリパラメータ、またはCookieで送信されるAPIキーのドキュメント化をサポートしています。
ヘッダーベースのAPIキー
最も一般的なパターン — カスタムヘッダー:
components:
securitySchemes:
apiKeyHeader:
type: apiKey
in: header
name: X-API-Key
description: 登録時に提供されるAPIキー
クライアントの使用法:X-API-Key: sk_live_abc123...
クエリパラメータAPIキー
セキュリティは低いがシンプルさのために使用される場合があります:
components:
securitySchemes:
apiKeyQuery:
type: apiKey
in: query
name: api_key
クライアントの使用法:GET /data?api_key=sk_live_abc123
APIキーセキュリティの適用
グローバルまたはエンドポイントごとに適用:
# グローバル — すべてのエンドポイントでAPIキーが必要
security:
- apiKeyHeader: []
paths:
/public/health:
get:
security: [] # オーバーライド:認証不要
summary: ヘルスチェック
セキュリティのベストプラクティス
- 常にHTTPSを使用(
serversにhttps://を記載) - クエリパラメータよりヘッダーベースのキーを優先(URLはログに記録される)
- APIキーローテーションのガイダンスを説明に含める
- テスト/本番など異なるキータイプがある場合はドキュメント化する
ユースケース
APIキー認証はパブリックAPI、SaaSプラットフォーム、開発者向けサービスの標準です。Stripe、Twilio、SendGridなどの企業がAPIキーを主要な認証方法として使用しています。キーの場所(ヘッダー vs クエリ)、命名規則、レート制限をOpenAPI仕様にドキュメント化することで、正確なSDK生成と明確な開発者ドキュメントが可能になります。