arrow_back $300 Kredi Rehberi
KURUMSAL / İLERİ SEVİYE

"API Keys are Disallowed" Çözümü

Google Cloud'da API anahtarı oluşturmaya çalışıp "Your organization's security policy disallows API keys" hatası mı aldın? Yeni hesap/proje açmak bunu çözmez. Sebebini ve iki kalıcı çözümü adım adım anlatıyoruz.

Doğrulandı: Haziran 2026 · Google Cloud Console + resmi dökümanlar

1. Belirti — Ekranda ne görürsün?

⚠️ API Keys are Disallowed

"Your organization's security policy disallows API keys. Please use Application Default Credentials (ADC) instead." — ve "+ Create API Key" butonu pasif veya hiç yok.

2. Kök Neden — Neden yeni proje açmak işe yaramaz?

❌ Yanlış 1: "Yeni proje açarsam çözülür."

Yasak proje seviyesinde değil, organizasyon seviyesinde. Tüm projeler org'un altındadır ve bu yasağı miras alır (inherit). 100 proje açsan hepsinde kapalı olur.

❌ Yanlış 2: "Hesap benim, yetkim var."

Süper Admin her şeyi yönetir ama org güvenlik politikasını değiştirmek için ayrı bir rol gerekir: Organization Policy Administrator. Yeni org'da bu rol otomatik gelmez — ama Süper Admin'sen kendine verebilirsin (Çözüm 1).

Teknik kimlik: Yasağı koyan org policy constraint'i → iam.managed.disableServiceAccountApiKeyCreation (Status: Enforced, Inherit parent's policy).

3. Hangi Çözümü Seçmeli?

Çözüm 1: API Key'i AçÇözüm 2: ADC (key'siz)
YöntemOrg policy'yi kapat, key üretHiç key yok, kimlikle bağlan
Kim yapabilirSadece org Süper AdminHerkes (yetki gerekmez)
GüvenlikDaha riskli (key sızabilir)Daha güvenli (org'un önerdiği)
Sunucu (GCloud VM)Key'i .env'e koymalısınOtomatik (sıfır key yönetimi)
$300 kredi
Ne zamanOrg dışı / basit entegrasyonProduction, GCloud altyapısı
💡 Öneri: Google Cloud altyapısında (özellikle GCloud VM) çalışıyorsan Çözüm 2 (ADC) hem daha hızlı hem daha güvenli — org policy'yle hiç uğraşmazsın. Kod org dışı bir yerde çalışacak ve illa key string'i lazımsa Çözüm 1.
ÇÖZÜM 1

API Key'i Açmak (Org Policy Override)

1.1

Kendine "Organization Policy Administrator" rolü ver

console.cloud.google.com/iam-admin/iam → en üstteki kaynak seçici → organizasyonu seç (proje değil!) → kendi e-postanı bul → ✏️ Edit → + ADD ANOTHER ROLEOrganization Policy Administrator → SAVE. 1-2 dk yayılma bekle.

Konsoldan atayamıyorsan gcloud ile:

gcloud organizations add-iam-policy-binding ORG_ID \ --member="user:SENIN_MAILIN" \ --role="roles/orgpolicy.policyAdmin"

ORG_ID'yi gcloud organizations list ile bul.

1.2

Policy'yi kapat

console.cloud.google.com/iam-admin/orgpolicies → ara: disableServiceAccountApiKeyCreation → aç → Manage policy (artık tıklanır) → Override parent's policy → Add a rule → Enforcement: Off → Set policy. 1-2 dk bekle.

1.3

API Key üret

Agent Platform / API Keys sayfasına dön → + Create API Key artık aktif. İsim ver, gerekirse kısıt uygula → key'i güvenli kaydet (bir daha tam gösterilmez). Kullanım: GEMINI_API_KEY olarak .env'e koy.

⚠️ Asla git'e commit etme, kimseyle paylaşma.

ÇÖZÜM 2 · ÖNERİLEN

ADC — Application Default Credentials (key'siz)

Key üretmezsin; ortam kendi kimliğiyle bağlanır. Org policy'ye hiç dokunmazsın.

Senaryo A — Lokal geliştirme/test

gcloud config set project PROJE_ID gcloud auth application-default login

Tarayıcı açılır → kredinin/projenin olduğu hesabı seç → izin ver. Kod tarafı (API key yerine Vertex modu):

const ai = new GoogleGenAI({ vertexai: true, project: 'PROJE_ID', location: 'us-central1' });

ADC otomatik bulunur, key gerekmez.

Senaryo B — Production (GCloud VM)

  1. VM'e bir service account ata (veya varsayılan compute SA).
  2. O SA'ya Vertex AI User (roles/aiplatform.user) rolü ver.
  3. Kod aynı (vertexai: true). VM kendi kimliğiyle bağlanır — hiç key dosyası yok.

Avantaj: key sızması imkansız, rotasyon derdi yok, org policy'ye uyumlu.

Not: ADC kullanırken disableServiceAccountApiKeyCreation policy'si AÇIK kalabilir — ADC bu policy'ye takılmaz çünkü API key üretmez.

4. $300 Ücretsiz Kredi — Nerede, Nasıl?

5. Doğrulama — Çalışıyor mu?

API key yolu

SDK/`curl` ile basit bir generateContent çağrısı → yanıt dönerse OK.

ADC yolu

gcloud auth application-default print-access-token token döndürüyorsa ADC hazır → vertexai:true çağrısı.

Maliyet

Billing → Credits'te kredinin düştüğünü gör → gerçekten çalışıyor.

6. Özet Karar Ağacı

API key sayfasında "Disallowed" mı? ├── Org Süper Admin'i SEN misin? │ ├── Evet → Çözüm 1 (rol al → policy Off → key üret) [illa key string lazımsa] │ │ ya da → Çözüm 2 (ADC, daha hızlı/güvenli) │ └── Hayır → Çözüm 2 (ADC) — org admin'e ulaş ya da ADC kullan └── GCloud VM'de mi çalışacak? → Çözüm 2 (ADC) her durumda en iyisi
Tek cümle: "API Keys are Disallowed" = organizasyon yasağı (proje değil). Ya org admin olarak policy'yi kapatıp key üret (Çözüm 1), ya da hiç key kullanmadan ADC ile bağlan (Çözüm 2 — önerilen). Yeni proje açmak boşunadır.

Takıldın mı? Atlas Çözer

Org policy, IAM rolü veya ADC kurulumunda takılırsan chat.agentshub.com.tr'deki Atlas ajanına hata mesajını yapıştır — adım adım birlikte gideriz.

🚀 DEMO BAŞLAT