★★★★★
#시작·빌드·환경 · claude-code
Cloud Functions — 배포 + IAM 권한
프로젝트: {{firebaseProjectId}}
#Cloud Functions#IAM#callable
변수 3개 — 여기 채우면 아래 프롬프트에 바로 들어가요
프로젝트: {{firebaseProjectId}}
함수 이름: {{functionName}}
Cloud Functions를 배포해야 해. IAM 3종 권한이 매번 빠뜨려지는 항목 (글로벌 #4, #5, #6).
단계:
1. functions/index.js에 함수 작성:
```typescript
exports.{{functionName}} = onCall(async (request) => {
// 로직
return { result: ... };
});
```
2. 배포:
```bash
firebase deploy --only functions:{{functionName}} --project={{firebaseProjectId}}
```
3. IAM 권한 설정 (배포 실패/403 에러 방지):
- Google Cloud Console → IAM → {{firebaseProjectId}}@appspot.gserviceaccount.com → **"서비스 계정 토큰 생성자"** 역할
- Cloud Run 콘솔 → {{functionName}} → 보안 → allUsers에 **"Cloud Functions 호출자"** 권한
- {{projectNumber}}-compute@developer.gserviceaccount.com → **"Storage Object Viewer"**
자동화: `~/Project/_scripts/iam-kakao.sh {{firebaseProjectId}}`
4. 테스트:
```bash
firebase functions:log --project={{firebaseProjectId}} --only {{functionName}}
```
검증: 함수 호출 성공 + 반환값 정상
쓰는 법 — 위 칸에 본인 값을 채우면 아래 프롬프트에 바로 반영돼요. 복사 버튼을 누르면 채워진 그대로 클립보드에 담기니까, claude-code(또는 본인이 쓰는 AI)에 붙여넣기만 하면 됩니다. 변수가 없으면 그냥 복사해서 쓰세요.

