키 인증으로 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