Ana içeriğe geç

API Key'ler

Non-interactive caller'lar (CI script, otomasyon) için user-scoped bearer token'lar. Aynı kullanıcının başka türlü authenticate olması için bir alternatif.

Nerede bulunur​

Sidebar → Settings → API Keys kartı. Kendi key'lerinizi listeler.

API key nedir​

  • 64 karakterlik random hex string. pk_ prefix'i yok.
  • Org'unuza değil, sizin kullanıcınıza bağlı. İstek siz olarak çalışır, org üyelikleriniz ve casbin izinlerinizi inherit eder.
  • Server-side SHA-256 ile hash'lenir; plaintext oluşturmada bir kez gösterilir, asla tekrar.

Bir tane oluştur​

New API key butonu:

  • Name — key ne için
  • Expires in days — varsayılan 90; server APIKeyMaxExpiryDays'e cap'ler (daha fazlasını sorarsanız sessizce clamp eder)

Submit. Sonraki sayfa plaintext'i copy-to-clipboard butonuyla tam olarak bir kez gösterir. Şifre yöneticinize / CI secret store'unuza / nereye saklarsanız saklayın — recovery yolu yok.

HTTP'de kullan​

curl -H "X-API-Key: <64-char-hex'iniz>" \
https://your-host/api/orgs/<org_id>/helm/list

İki auth header da kabul edilir (Authorization: Bearer <jwt> ve X-API-Key: <hex>); ikisi de gönderilirse JWT öncelik alır.

Revoke​

Satır aksiyonları → Revoke. Satırı siler; bu key ile sonraki istekler 401 invalid api key alır.

Bir API key'in YAPMADIKLARI​

  • Casbin'i bypass etmez — sizin kullanıcınızla aynı izinler
  • Harici sistemlerden gelen webhook'ları authenticate etmez — onlar HMAC imza kullanır, API key değil
  • Policy seviyesinde 2FA'yı bypass etmez — key 2FA prompt'unu bypass eder (kullanım anında TOTP yok) ama "tüm kullanıcılar 2FA'da kayıtlı olmalı" server policy'si interactive login'leriniz için hâlâ uygulanır
  • Lisans gate'ini bypass etmez — LICENSE_MISSING / LICENSE_GRACE_READONLY API key istekleri için de uygulanır
  • Kendi org'u veya rolü taşımaz — bir key'i "Org A salt-okuma" kapsamına alamazsınız. Blast radius'u sınırlamak için sadece istediğiniz org/rol'e sahip adanmış bir kullanıcı oluşturup o kullanıcının altında key mint edin.

En iyi uygulamalar​

  • Tüketici başına bir key. İki script arasında bir key paylaşmayın; biri sızarsa diğerini bozmadan revoke edemezsiniz.
  • Varsayılan kısa expiry. 90 gün varsayılan cap; çoğu kurulum hassas otomasyon için 30 hatta 7 yapar.
  • Key'i tüketicisinin adına göre adlandırın. "github-actions-deploy" aranabilir; "test1" değil.
  • Expiry'den önce rotate edin. Yeni mint + switch + eskiyi revoke. Bunu cadence'a koyun; key'in expire olmasını beklemeyin.

Yaygın hatalar​

  • invalid api key — yanlış key, key revoked veya expired
  • api key expired — key'in expires_at'i geçmişte; yeni bir tane mint edin
  • USER_DEACTIVATED — kullanıcı hesabınız is_active=false; admin'e danışın
  • permission denied — kullanıcınızda script'in yapmaya çalıştığı şey için role permission yok

Ayrıca bakın​