AWS공부

GCP 무료 크레딧으로 Vertex AI 쓰다가 조직 정책에 막혔을 때

0
Please log in or register to do it.

Owner 권한인데도 서비스 계정 API 키 생성이 안 된다면? 조직 정책 충돌이 원인입니다.

목차

  1. 문제 상황 — 왜 Owner인데 막히는가
  2. 원인 진단 — 조직 소속 확인
  3. 해결 Step 1 — 조직 정책 관리자 권한 부여
  4. 해결 Step 2 — 문제 정책 비활성화
  5. 해결 Step 3 — API 키 재생성 및 검증
  6. 여전히 막힌다면 — ADC 우회법

1. 문제 상황

GCP 무료 크레딧($300)으로 Vertex AI에서 Claude API를 호출하려고 서비스 계정 키를 생성하려 했는데, 프로젝트 Owner임에도 아래 에러가 뜹니다.

에러: iam.managed.disableServiceAccountApiKeyCreation 제약 조건에 의해 API 키 생성이 차단되었습니다.

직관적으로 말이 안 되는 상황이죠. Owner인데 왜 못 만드는 걸까요?

2. 원인 — GCP 권한 계층 구조

GCP의 권한 계층은 아래처럼 생겼습니다. 조직 정책은 IAM 역할(Owner 포함)보다 상위 레이어에 있습니다.

최상위

조직 정책
(Org Policy)

중간

폴더 / 프로젝트
정책

하위

IAM 역할
(Owner 등)

즉, 집주인(Owner)이라도 건물 관리 규정(Org Policy)에서 “방 구조 변경 금지”를 걸어두면 마음대로 못 바꿉니다.

핵심 진단: 콘솔 상단 프로젝트 드롭다운에서 프로젝트 옆에 조직 이름이 표시되나요? “조직 없음”이 아닌 특정 조직 이름이 뜬다면 그 조직의 정책이 적용된 것입니다.


3. 해결 방법

해당 조직의 관리자가 본인이라면 직접 정책을 풀 수 있습니다.

Step 1

조직 정책 관리자 권한 부여

  1. GCP 콘솔 → IAM 및 관리자 → IAM
  2. 상단 범위를 프로젝트 → 조직으로 전환
  3. 본인 계정 옆 수정(연필) 아이콘 클릭
  4. 조직 정책 관리자 (Organization Policy Administrator) 역할 추가
  5. 저장

Step 2

문제 정책 비활성화

  1. IAM 및 관리자 → 조직 정책으로 이동
  2. 검색창에 disableServiceAccountApiKeyCreation 입력
  3. 해당 정책 클릭 → [관리] 버튼
  4. “재정의 후 미적용 (Not enforced)” 으로 변경 → 저장

Step 3

서비스 계정 API 키 재생성 및 검증

  1. IAM 및 관리자 → 서비스 계정으로 이동
  2. 대상 서비스 계정 클릭 →  탭
  3. [키 추가] → JSON 형식으로 다운로드

4. 정책 수정 권한도 없다면 — ADC 우회법

조직 관리자가 본인이 아닌 경우(교육기관 제공 계정 등), API 키 방식 자체를 우회할 수 있습니다.

원리: Service Account API Key를 생성하지 않고, 현재 로그인된 사용자 인증 정보(ADC)를 SDK가 자동으로 읽어가게 하는 방식입니다.

terminal

gcloud auth application-default login
gcloud config set project YOUR_PROJECT_ID

python

import anthropic
import google.auth
import google.auth.transport.requests

credentials, project = google.auth.default()
credentials.refresh(google.auth.transport.requests.Request())

client = anthropic.AnthropicVertex(
    project_id=project,
    region="us-east5"
)

message = client.messages.create(
    model="claude-opus-4-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}]
)

5. 그래도 할당량 0 에러가 뜬다면

정책 문제를 해결했는데도 “할당량 소진” 에러가 뜨는 경우가 있습니다. 신규 유료 계정은 Claude 등 파트너 모델의 초기 할당량이 0으로 설정되어 있기 때문입니다.

해결: GCP 콘솔 → IAM 및 관리자 → 할당량 및 시스템 한도 → Claude 관련 항목 검색 → 값이 0이면 [할당량 수정 요청]으로 최솟값(예: 1~5 RPM) 신청

요약: Owner 권한인데 막힌다 → 조직 소속 확인 → 조직 정책 관리자 권한 부여 → 정책 비활성화 → 키 재생성. 조직 수정 권한이 없다면 ADC 방식으로 우회.

이 글을 먼저 봐야 하는 사람과 아닌 사람

이 문제는 “GCP를 처음 써서 헷갈리는 상황”과 “조직 정책이 실제로 막고 있는 상황”이 섞여 보이기 쉽습니다. 무료 크레딧을 막 시작한 개인 계정이라도 결제 계정, 조직, 프로젝트가 얽히면 Owner 권한만으로 해결되지 않는 경우가 있습니다. 반대로 개인 프로젝트에 조직이 붙어 있지 않다면 이 글의 조직 정책 단계보다 서비스 계정 권한, API 활성화, 할당량 문제를 먼저 보는 편이 빠릅니다.

증상먼저 볼 곳다음 행동
disableServiceAccountApiKeyCreation 오류조직 정책조직 범위에서 정책 적용 여부 확인
키는 만들었는데 호출 실패서비스 계정 IAMVertex AI 관련 역할과 API 활성화 확인
모델 호출 할당량이 0할당량 및 시스템 한도파트너 모델 할당량 증액 요청
조직 권한이 전혀 없음ADC 또는 새 개인 프로젝트키 생성 없이 로그인 인증 방식 검토

무료 크레딧 환경에서 더 안전한 선택

학습용이나 개인 테스트라면 서비스 계정 키를 꼭 만들어야 하는지부터 다시 생각해볼 만합니다. 로컬 개발에서는 ADC 방식이 더 간단하고, 키 파일을 따로 보관하지 않아도 됩니다. 서버에 올려서 자동 실행해야 한다면 그때 서비스 계정 키 또는 Workload Identity 같은 방식을 검토하면 됩니다.

특히 무료 크레딧 환경에서는 “일단 키를 만들고 어디든 넣어두기”보다 인증 방식을 최소화하는 편이 좋습니다. 키 파일을 다운로드했다면 저장 위치를 기록하고, 공개 저장소나 공유 드라이브에 올라가지 않도록 관리해야 합니다. 막힌 오류를 푸는 것만큼이나 이후 키 관리가 중요합니다.

관련 흐름: Google API를 보고서 자동화에 쓰려는 목적이라면 Gemini 3.5 업무 활용과 모델 선택 기준, 로컬 실행까지 비교하려면 Gemma 4 로컬 AI 가이드를 먼저 보고, GA4 데이터를 구글 Colab에서 가져오는 방법오라클 클라우드 무료티어 서버 가이드도 이어서 볼 수 있습니다.

권한 문제를 해결한 다음 단계: Vertex AI에 연결한 뒤에는 모든 작업을 가장 큰 모델에 보내기보다 조회·계산·해석을 나눠야 합니다. Gemini 3.5 업무 활용 가이드에서 구글시트·드라이브 자동화용 모델 선택 구조를 이어서 확인할 수 있습니다.

AWS DynamoDB 장기 데이터 보관 전략: 실무 가이드

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다