ㅇAPI 키(Key): 특정 API를 사용할 수 있도록 허가받은 사용자임을 인증하기 위한 고유한 문자열(e.g. abcdef1234567890XYZ!@#)
주로 API 제공자가 각 사용자나 애플리케이션에 발급하며, 다음과 같은 역할을 지닌다
- 사용자 인증: API 요청을 보낸 사용자가 인증된 사용자임을 증명
- 사용량 추적: API 제공자는 키를 통해 각 사용자의 API 호출 횟수나 사용 패턴을 추적
- 권한 제어: 특정 API 키에 따라 사용할 수 있는 기능이나 데이터 접근 범위를 제한
[사용 방법] API 호출 시 키를 요청 헤더 or 요청 바디 or URL 파라미터에 포함하여 사용
예를 들어, 기상청 Open API를 호출할 때 API 키를 URL 파라미터에 포함한다
import requests
url = "http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getUltraSrtNcst"
params = {
'serviceKey': 'YOUR_API_KEY', # 여기에 발급받은 API 키 입력
'numOfRows': 10,
'pageNo': 1,
'dataType': 'JSON',
'base_date': '20230101',
'base_time': '0600',
'nx': 60,
'ny': 127
}
response = requests.get(url, params=params)
print(response.json())
[API 키 발급]
보통 API 제공자의 개발자 포털에 가입하고, 애플리케이션을 등록하면 발급받을 수 있다
[보안 관리 수칙 3가지]
① 키를 절대 공개 저장소(GitHub, 블로그 등)에 노출하지 말 것!
② .env 파일에 저장하고 코드에서는 이를 참조하는 방식을 사용할 것!
③ 키가 노출된 경우, 즉시 폐기하고 새로운 키를 발급받을 것!
API 키는 개발자가 외부 서비스와 통합할 때 필수적인 요소이므로, 이를 안전하게 관리하는 것이 중요하다!
'웹 > 웹 지식' 카테고리의 다른 글
[웹 지식] 토큰(token)에 대해서 (1) | 2025.01.25 |
---|---|
[웹 지식] 가상 환경(Virtual Environment) (5) | 2024.10.17 |
[웹 지식] 템플릿 엔진(feat. JSP, Thymeleaf, Freemarker) (2) | 2024.10.06 |
[웹 지식] .jar 파일은 무엇일까? (4) | 2024.10.06 |
[웹 지식] CRUD (1) | 2024.10.05 |