API Key란?
API Key(API 키)는 API를 사용하기 위한 인증 수단입니다. 비밀번호처럼 "나는 허가받은 사용자"임을 증명하는 고유한 문자열입니다.
쉽게 이해하기
비유로 이해하기
API Key는 아파트 출입 카드와 같습니다.
카드가 있어야 아파트(API 서버)에 들어갈 수 있고,
카드로 누가 언제 출입했는지 기록도 남습니다.
API Key가 필요한 이유
- 인증 - 허가받은 사용자만 API 사용
- 사용량 관리 - 누가 얼마나 사용하는지 추적
- 요금 청구 - 사용량에 따른 과금
- 보안 - 무단 접근 및 남용 방지
API Key 사용 방법
HTTP 헤더에 포함
가장 일반적인 방법입니다. Authorization 헤더에 API 키와 Secret 키를 함께 넣어 보냅니다.
POST /v1/tracking/trace
Host: api.deliveryapi.co.kr
Authorization: Bearer __API_KEY__:__SECRET_KEY__
Content-Type: application/json 자세한 API 호출 방법은 API 문서를 참고하세요.
API Key 보안 수칙
절대 하면 안 되는 것
- GitHub 등 공개 저장소에 API 키 커밋
- 프론트엔드(JavaScript) 코드에 하드코딩
- 다른 사람에게 API 키 공유
- API 키를 URL에 포함 (로그에 남음)
안전한 관리 방법
- 환경 변수로 관리 (
process.env.API_KEY) - 서버 사이드에서만 API 키 사용
- 정기적으로 키 교체
- .gitignore에 .env 파일 추가
환경 변수 사용 예시
// .env 파일 (절대 커밋하지 않음)
DELIVERY_API_KEY=your_api_key_here
// Node.js에서 사용
require('dotenv').config();
const API_KEY = process.env.DELIVERY_API_KEY; API Key vs 다른 인증 방식
| 방식 | 설명 | 용도 |
|---|---|---|
| API Key | 간단한 문자열 | 서버 간 통신, 간단한 인증 |
| OAuth | 토큰 기반 인증 | 사용자 대신 권한 위임 |
| JWT | 정보가 담긴 토큰 | 사용자 인증, 세션 관리 |
API Key 발급 받기
- 회원가입 (이메일 인증)
- 대시보드에서 "API 키 생성" 클릭
- 생성된 키를 안전한 곳에 저장
- 환경 변수에 설정 후 사용