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を使用(servershttps:// を記載)
  • クエリパラメータよりヘッダーベースのキーを優先(URLはログに記録される)
  • APIキーローテーションのガイダンスを説明に含める
  • テスト/本番など異なるキータイプがある場合はドキュメント化する

ユースケース

APIキー認証はパブリックAPI、SaaSプラットフォーム、開発者向けサービスの標準です。Stripe、Twilio、SendGridなどの企業がAPIキーを主要な認証方法として使用しています。キーの場所(ヘッダー vs クエリ)、命名規則、レート制限をOpenAPI仕様にドキュメント化することで、正確なSDK生成と明確な開発者ドキュメントが可能になります。

試してみる — OpenAPI Editor & Viewer

フルツールを開く