API anahtarı, hesabınızın parolasına denk bir yetki taşır. Sızarsa başkası adınıza sertifika siparişi verebilir, bakiyenizi tüketebilir veya bilgilerinize erişebilir. Anahtar yönetimi bu yüzden açık bir süreç gerektirir.
Nerede saklanmalı?
- Doğru: Ortam değişkeni, sunucudaki izinleri kısıtlı yapılandırma dosyası, gizli yönetimi aracı (secret manager).
- Yanlış: Kaynak kod deposu, istemci tarafı JavaScript, sohbet/e-posta, herkese açık dizindeki dosyalar.
# yapılandırma dosyasını yalnızca uygulama kullanıcısı okuyabilsin
chmod 600 /etc/uygulama/api.env
chown uygulama:uygulama /etc/uygulama/api.env
# depoda yanlışlıkla bulunan sırları taramak için örnek
git log -p | grep -iE "api[_-]?key|secret|token" | head
Yaşam döngüsü
- Oluşturma: Her entegrasyon için ayrı anahtar ve en az yetki.
- Kısıtlama: Mümkünse izinli IP ve kapsam sınırı.
- Döndürme (rotation): Düzenli aralıklarla ve ekipten biri ayrıldığında yenileyin.
- İptal: Sızıntıdan şüphelenildiği an anahtarı devre dışı bırakın.
- İzleme: Beklenmeyen IP'den veya saatten gelen istekleri günlüklerden takip edin.
Sızıntı olursa
- Anahtarı hemen iptal edip yenisini üretin.
- Son dönemdeki siparişleri ve bakiye hareketlerini inceleyin.
- Anahtar git geçmişindeyse, yalnızca dosyayı silmek yetmez; geçmişi temizleyin ve anahtarı yine de yenileyin.
İlgili gizli veriler
Sertifikanın özel anahtarı (private key) ayrı bir sırdır ve kesinlikle üçüncü taraflarla paylaşılmamalıdır; CA'lara yalnızca CSR gönderilir. CSR'ı kendi ortamınızda hazırlamak için CSR oluşturucuyu kullanabilirsiniz. Anahtarla ilgili şüpheli bir durumda Türkçe teknik destek ekibimize başvurun.
Ekip içi pratikler
- Anahtarları kişisel hesaplara değil, ekip için oluşturulmuş servis hesaplarına bağlayın.
- Ekip üyesi ayrıldığında kullandığı anahtarları döndürün.
- Ortamlar (test, canlı) için farklı anahtarlar kullanın; test anahtarı canlı işlem yapamasın.