구글 클라우드 콘솔에서 API 키 사용량 제한 및 도메인 제한 설정하기(+구체적인 방법, 필수 선택)
Vite와 React 기반의 정적 사이트 배포에서 Gemini API 키는 브라우저 코드에 포함되므로, 누구나 개발자 도구를 통해 키를 확인할 수 있습니다. 따라서 구글 클라우드 콘솔(Google Cloud Console)에서 강력한 제한을 거는 것은 선택이 아닌 필수입니다.
오늘은 도메인 제한설정에 따른 구체적인 보안을 완벽하게 다지는 두 가지 핵심 제한 방법을 안내해 드립니다.
1. 애플리케이션 제한 (도메인 제한)
이 설정은 "내가 허용한 웹사이트 도메인에서만 이 키를 쓸 수 있게 하겠다"는 선언입니다. 키가 유출되더라도 공격자가 본인의 사이트에서 이 키를 사용할 수 없게 방어합니다.
-
설정 경로:
→ API 및 서비스 → 사용자 인증 정보Google Cloud 콘솔 -
방법:
-
사용 중인 API 키 이름을 클릭하여 편집 화면으로 들어갑니다.
-
애플리케이션 제한사항 섹션에서 HTTP 리퍼러(웹사이트)를 선택합니다.
-
웹사이트 제한사항 아래의 항목 추가를 눌러 본인의 도메인을 등록합니다.
-
-
권장 등록 형식 (중요):
-
https://yourdomain.com/*(기본 도메인과 하위 모든 경로 허용) -
https://*.yourdomain.com/*(서브 도메인까지 모두 포함) -
테스트용:
http://localhost:*/*(로컬 개발 환경에서 테스트 시 일시적 추가)
-
2. API 제한 (서비스 제한)
이 키가 Gemini API(Generative Language API) 외에 다른 구글 서비스(지도, 유튜브 등)를 호출하는 데 사용되지 않도록 차단하는 설정입니다.
-
설정 경로: 동일한 API 키 편집 화면 하단
-
방법:
-
API 제한사항 섹션에서 키 제한을 체크합니다.
-
드롭다운 메뉴에서 Generative Language API를 찾아 선택합니다.
-
저장을 누릅니다.
-
-
효과: 만약 키가 탈취되어도 해커가 이 키로 비용이 많이 발생하는 다른 API(예: Google Maps API)를 호출하는 것을 원천 차단합니다.
3. 추가 보안 팁: 할당량(Quota) 제한
공격자가 내 도메인을 사칭하거나 무차별적인 요청(DDoS 형태)을 보내 비용을 발생시키는 것을 방지하기 위해 사용량 상한선을 정해둘 수 있습니다.
-
설정 경로: API 및 서비스 → 대시보드 → Generative Language API 선택 → 할당량(Quotas) 탭
-
방법: 분당 요청 수(Requests per minute) 또는 하루 총 요청 수에 대해 본인의 서비스 규모에 맞는 적절한 제한값을 설정합니다.
-
무료 티어를 사용 중이라면 기본값이 이미 낮게 설정되어 있겠지만, 유료 전환 시 반드시 점검해야 할 항목입니다.
-
요약: 배포 전 필수 체크리스트
-
HTTP 리퍼러: 실제 호스팅 중인 도메인(
artontok.kr/*등) 등록 완료? -
API 제한: 오직 'Generative Language API'만 선택 완료?
-
로컬 테스트: 배포 후 작동이 잘 된다면
localhost제한은 삭제했는가?
이렇게 설정해두면 API 키가 코드에 노출되더라도 "허용된 내 사이트에서만, 허용된 Gemini 서비스만" 동작하게 되어 안전하게 운영할 수 있습니다.


댓글 쓰기
0댓글