결론부터 말씀드리면, “기술적으로는 사용 가능하지만, 운영 및 관리 측면에서 권장하지 않습니다.”
구글 클라우드 플랫폼(GCP)의 API 키는 특정 프로젝트에 종속되어 생성되지만, 키 값 자체를 다른 프로그램이나 사이트에서 호출한다고 해서 바로 막히지는 않습니다. 하지만 다음과 같은 3가지 중요한 이유 때문에 프로젝트별로 키를 분리하는 것이 좋습니다.
1. 비용 및 사용량(Quota) 관리의 혼선
API 키는 ‘생성된 GCP 프로젝트’의 결제 계정으로 비용을 청구합니다.
-
상황: 기존 A 프로젝트의 키를 새로운 B 프로젝트에 사용함.
-
문제: B 프로젝트에서 발생한 API 비용이 A 프로젝트 앞으로 청구됩니다. 나중에 B 프로젝트가 얼마나 비용을 썼는지, API를 몇 번 호출했는지 정확히 분리해서 파악하기 어려워집니다.
2. 보안 및 제한 설정(Restrictions) 충돌
API 키는 보안을 위해 **’애플리케이션 제한(HTTP 리퍼러, IP 주소)’**을 걸어두는 것이 원칙입니다.
-
상황: 기존 키가
www.old-site.com에서만 작동하도록 제한되어 있음. -
문제: 새로운 프로젝트(
www.new-site.com)에서 이 키를 쓰면 작동하지 않습니다. 작동하게 하려면 보안 제한을 풀어야 하는데, 그러면 기존 프로젝트의 보안이 취약해집니다.
3. 리스크 분산
-
상황: 새로운 프로젝트를 테스트하다가 실수로 API 키가 외부에 유출됨.
-
문제: 해당 키를 폐기(재발급)해야 하는데, 이 경우 잘 돌아가던 기존 프로젝트까지 API 호출이 멈추게 됩니다. 키를 분리해두면 하나가 터져도 다른 하나는 안전합니다.
💡 추천하는 방법
“새로운 GCP 프로젝트를 만들거나, 같은 프로젝트 내에서도 용도별로 ‘새 API 키’를 발급받으세요.”
API 키 생성은 무료이고 개수 제한도 거의 없으며, 생성하는 데 10초도 걸리지 않습니다.
-
GCP 콘솔 접속
-
사용자 인증 정보(Credentials) 메뉴 이동
-
+ 사용자 인증 정보 만들기 > API 키 클릭
-
새로 나온 키를 복사해서 새 프로젝트에 적용
-
(중요) 새 키에 **’이 프로젝트에서 사용할 IP나 도메인’**으로 제한 설정 걸기
제가 새 API 키 발급 메뉴로 바로 가실 수 있는 경로를 안내해 드릴까요? 아니면 키 발급 후 보안 설정(특정 사이트에서만 작동하게 하기) 방법을 알려드릴까요?
답글 남기기