始める無料で始める

キー認証による API のセキュリティ保護

セキュアな API を構築し、API キーの検証を実装します。この API は、各リクエストの X-API-Key ヘッダーに含まれるキーを確認し、あらかじめ定義されたシークレットと照合します。FastAPI の組み込みセキュリティ機能を使って、この認証システムを実装しましょう。

FastAPI クラスと HTTPException クラスは、あらかじめインポートされています。

この演習はコースの一部です

FastAPI を使った AI のプロダクション環境へのデプロイ

コースを見る

演習の手順

  • FastAPI から依存関係を処理するために必要な関数をインポートします。
  • API キーヘッダーのインスタンスを作成し、リクエスト内の API キーを検証する依存関係を定義します。
  • 受け取った api_key を事前に定義されたシークレットキーと照合して、verify_api_key 関数を完成させます。
  • リクエストに無効なキーが渡された場合は、HTTP 例外を発生させます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import the function that handles dependencies
from fastapi import ____
from fastapi.security import APIKeyHeader

# Create the API key instance
api_key_header = ____(name="X-API-Key")
API_KEY = "your_secret_key"

# Pass the APIKeyHeader instance and verify against input api_key
def verify_api_key(api_key: str = Depends(____)):
    if api_key != ____:  
      	# Raise the HTTP exception here
        raise ____(status_code=403, detail="Invalid API Key")  
    return api_key
コードを編集して実行