2부: AI Studio 실전 — 4장
원클릭 배포(Publisher)의 함정과 IAM 권한 파괴 규칙
🧐 편리함 뒤에 숨은 구글 자동화 스크립트의 한계
Google AI Studio의 Publisher(Deploy app) 기능은 마우스 클릭 한 번으로 인프라를 구축해 주는 축복 같은 도구입니다. 하지만 완벽한 인공지능과 달리, 구글의 백엔드 배포 자동화 스크립트는 생각보다 엉성하여 빈번하게 먹통이 됩니다.
소스코드를 서버(Cloud Run)에 올리는 것까지는 잘하지만, 프로젝트 내부에서 데이터베이스(Firebase)와 통신하기 위해 필요한 구글 전용 서비스 에이전트(Service Agent) 계정의 권한을 할당하는 단계에서 무조건 병목 현상이 발생합니다.
🚨 악질 에러 로그: Concurrent Policy Changes
배포 도중 화면이 멈추거나 로그에 아래와 같은 에러 코드가 찍힌다면 백엔드 랙에 걸린 것입니다.
"code": 10,
"message": "Exception calling IAM: There were concurrent policy changes. Please retry..."
배포 로봇이 구글 클라우드 내 시스템 계정에 역할을 새로 쥐여주려는 찰나의 순간에, 구글 내부 서버의 다른 보안 업데이트 정책이 1억 분의 1초 단위로 동시에(Concurrent) 겹치면서 데이터가 꼬이는 것을 막기 위해 구글이 요청을 강제로 폭파(Aborted)시킨 상태입니다.
이 상태에서 배포 버튼만 무한으로 연타하면 구글 내부 스크립트가 무한 루프에 빠져 영원히 배포에 실패하게 됩니다.
🛠️ 실전 Vibe: 클릭 3번으로 IAM 권한 강제 분쇄 공식
컴퓨터 내부의 꼬인 실타래를 내 손으로 직접 풀고 돌파하는 Vibe Control 프로토콜입니다.
- 구글 IAM 콘솔 진입: 격리된 Workspace 크롬 창을 열고 [Google Cloud IAM 콘솔]로 직접 진입합니다.
- 최상위 프로젝트 전환: 최상위 프로젝트 선택창을 클릭하여, 배포용 프로젝트(
goguma-prod)가 정확히 켜져 있는지 눈으로 확인합니다.
- 소유자 최고 권한 강제 주입: 상단의 [+ 액세스 권한 부여(GRANT ACCESS)]를 누릅니다.
- 내 진짜 계정 바인딩: 새 주체 입력란에 구글의 유령 시스템 번호 대신, 완벽히 살아있는 나의 최고 관리자 이메일(
admin@kwavemission.org)을 집어넣습니다.
- 역할 파괴 규칙 적용: 역할 선택창에서 [Firebase Realtime Database 관리자 (Firebase Realtime Database Admin)] 역할을 직접 부여하고 저장합니다.
🎯 인프라 우회 성공
최고 관리자 계정에 DB 통제권을 직접 박아두었기 때문에, AI Studio로 돌아가 배포 버튼을 다시 누르면 시스템 충돌 버그를 완벽히 우회하며 0.1초 만에 서버리스 배포가 성공 완료됩니다.