개발 공부하면서 API 키를 다루게 됐다. 일반 비밀번호와 뭐가 다른지, 비밀번호 생성기처럼 API 키도 복잡해야 하는지 정리해봤다.
API 키란
프로그램이 다른 서비스에 접근할 때 쓰는 인증 수단이다. 사람이 기억할 필요 없이 코드에 넣어서 쓴다. "sk_live_abc123xyz..." 같은 긴 문자열이다.
비밀번호와의 차이
비밀번호는 사람이 외워서 입력하지만, API 키는 프로그램이 자동으로 전송한다. 그래서 API 키는 아무리 길고 복잡해도 상관없다. 실제로 대부분 32~64자리다.
API 키 관리의 중요성
API 키가 유출되면 해커가 내 권한으로 서비스를 사용할 수 있다. 유료 서비스면 요금 폭탄, 클라우드 서비스면 서버 탈취까지 가능하다. 코드에 직접 쓰지 말고 환경변수로 관리해야 한다.
깃허브에 올리면 안 됨
실수로 API 키를 깃허브에 커밋하는 일이 많다. 봇이 깃허브를 스캔하면서 노출된 키를 수집한다. 비밀번호든 API 키든 공개 저장소에 절대 올리면 안 된다.
API 키 로테이션
중요한 API 키는 주기적으로 교체하는 게 좋다. 혹시 모르게 유출됐을 가능성에 대비하는 거다. 비밀번호처럼 API 키도 변경 이력을 관리하면 체계적이다.
.env 파일 관리
API 키는 .env 파일에 저장하고, .gitignore에 추가해서 깃에 올라가지 않게 한다. 팀원 공유는 1Password 같은 팀 기능이나 암호화된 채널로.
마무리 정리
비밀번호 생성기로 복잡하게 만들고, 관리 앱에 저장하고, 2단계 인증 걸어두는 것. 이 세 가지가 개인 보안의 기본이다. 귀찮아도 지금 시작하면 나중에 편하다. 한 번 털리면 그 수습이 훨씬 힘들다.