바이브코딩으로 외부 서비스를 연결하다 보면 거의 반드시 'API 키'를 만나게 됩니다. 키 한 줄이면 강력한 기능을 빌려 쓸 수 있지만, 잘못 다루면 요금 폭탄이나 계정 도용으로 이어질 수 있습니다. 이 글은 API 키가 무엇인지, 어떻게 발급하고, 어떻게 안전하게 보관하는지를 비개발자 눈높이로 설명합니다.
이 글의 흐름
- API와 API 키란
- 키는 왜 위험한가
- 키 발급 과정
- 절대 하면 안 되는 일
- 환경변수로 안전하게 보관하기
- 키가 유출됐을 때 대처
- 마치며
API와 API 키란
API는 한 프로그램이 다른 프로그램의 기능을 빌려 쓰게 해 주는 '창구'입니다. 예를 들어 날씨 정보, 지도, 번역, 인공지능 같은 기능을 직접 만들지 않고 가져다 쓸 수 있습니다.
API 키는 그 창구를 이용할 때 '나는 정당한 이용자입니다'를 증명하는 출입증입니다. 키를 보내면 서비스가 누가 얼마나 썼는지 확인하고 요청을 처리합니다.
키는 왜 위험한가
키 하나에 권한과 비용이 묶여 있기 때문입니다. 노출된 키로 일어날 수 있는 일은 다음과 같습니다.
- 요금 폭탄 — 타인이 내 키로 유료 기능을 대량 호출하면 요금이 내게 청구됩니다.
- 데이터 접근 — 키 권한에 따라 내 계정의 정보가 열람·변경될 수 있습니다.
- 서비스 정지 — 비정상 사용이 감지되면 계정 자체가 차단될 수 있습니다.
키 발급 과정
서비스마다 화면은 달라도 흐름은 비슷합니다.
- 해당 서비스에 가입하고 로그인합니다.
- 설정 또는 대시보드에서 API Keys 메뉴를 찾습니다.
- Create new key 같은 버튼을 누릅니다.
- 키 용도를 알아볼 수 있게 이름을 붙입니다. 예:
연습용-key - 생성된 키를 안전한 곳에 복사해 둡니다.
절대 하면 안 되는 일
- 코드에 직접 적기 —
key = "sk-실제키값"처럼 적고 공유·업로드하지 마세요. - 채팅·메일·캡처로 보내기 — 키를 메신저나 스크린샷으로 주고받지 마세요. 기록이 남습니다.
- 한 키를 여러 곳에 돌려쓰기 — 용도별로 키를 나누면 사고 시 피해 범위를 좁힐 수 있습니다.
환경변수로 안전하게 보관하기
정석은 키를 코드 밖으로 빼서 환경변수에 두는 것입니다. 환경변수는 프로그램이 실행될 때 읽어 가는 '비밀 메모지'입니다. 보통 .env라는 파일에 적습니다.
# .env 파일 예시
MY_API_KEY=여기에_발급받은_키
그리고 코드에서는 키 값 대신 이름만 불러옵니다.
key = 환경변수에서 MY_API_KEY 읽기
마지막으로 .env 파일이 실수로 업로드되지 않게, 무시 목록에 등록합니다. 깃을 쓴다면 .gitignore 파일에 한 줄 추가합니다.
# .gitignore
.env
| 방식 | 안전도 |
|---|---|
| 코드에 직접 입력 | 매우 위험 |
| 채팅·캡처로 공유 | 위험 |
| .env + .gitignore | 권장 |
키가 유출됐을 때 대처
유출이 의심되면 망설이지 말고 즉시 키를 폐기(Revoke)하고 새로 발급하세요. 그 키는 더 이상 작동하지 않게 되어 피해가 멈춥니다.
- 서비스의 API Keys 화면으로 들어갑니다.
- 문제의 키를 Revoke 또는 Delete 합니다.
- 새 키를 발급해
.env만 교체합니다. - 사용 내역을 확인해 비정상 호출이 있었는지 점검합니다.
마치며
API 키는 강력한 기능을 빌려 주는 열쇠인 만큼, 다루는 습관이 곧 보안입니다. '코드에 적지 않기, 환경변수에 보관하기, .gitignore로 가리기, 의심되면 즉시 폐기하기' 이 네 가지만 몸에 익혀도 대부분의 사고를 막을 수 있습니다. 처음 키를 발급하는 순간부터 이 습관을 함께 들이세요. 안전한 작업은 거창한 기술이 아니라 작은 원칙에서 시작됩니다.
읽었으면, 직접 풀어보는 게 가장 빠릅니다.
무료 ‘수련’에서는 레벨별 챕터의 핵심을 익히고 퀴즈를 풀며 경험치(XP)를 쌓아 한 단계씩 레벨을 올립니다. 로그인하면 내 진행 상황이 저장됩니다.