Bir SSL API'sine kimliğinizi kanıtlamanın birkaç yaygın yolu vardır. Hangisinin kullanıldığı sağlayıcıya bağlıdır; her yöntemin güvenlik açısından artıları ve eksileri farklıdır.
Yaygın yöntemler
- API anahtarı (header):
X-API-Keyya da özel bir başlık. Basit ve yaygındır. - Bearer token:
Authorization: Bearer .... Süreli olabilir, yenilenir. - Basic Auth: Kullanıcı adı ve parola Base64 kodlanır; yalnızca HTTPS üzerinde kullanılmalıdır.
- Kullanıcı/parola ile oturum anahtarı: İlk istekte kimlik doğrulanır, dönen anahtar sonraki isteklerde kullanılır.
- OAuth 2.0: Yetki kapsamları (scope) ve süreli token ile daha ince denetim sağlar.
- İstemci sertifikası (mTLS): İstemci de sertifika sunar; kurumsal ortamlarda kullanılır.
Anahtar yerine ne zaman token?
Uzun ömürlü anahtar sızarsa ciddi risk yaratır. Süreli token, sızıntının etkisini sınırlar; ancak yenileme mantığı gerektirir. Oturum anahtarının geçersizleşmesi (ör. "auth key is not valid") durumunda yeniden giriş yapan bir katman tasarlayın.
Örnek başlıklar
# Bearer
curl -H "Authorization: Bearer $TOKEN" https://api.ornek-ca.example/v1/orders
# Basic
curl -u "$KULLANICI:$PAROLA" https://api.ornek-ca.example/v1/orders
Güvenlik önerileri
- Her zaman HTTPS kullanın; düz HTTP'de kimlik bilgisi açığa çıkar.
- Kimlik bilgisini URL sorgu parametresine koymaktan kaçının; sunucu günlüklerinde görünebilir.
- Entegrasyon için ayrı, en az yetkili bir kullanıcı/anahtar oluşturun.
- Mümkünse izinli IP listesi tanımlayın.
Anahtar yönetimi için ayrıca bilgi bankasındaki API güvenliği yazılarına bakabilirsiniz. Kendi sitenizin HTTPS yapılandırmasını SSL denetleyici ile, sertifika seçeneklerini SSL sertifikaları sayfasından inceleyin.
Hangisini seçmeli?
Sağlayıcı yöntemi belirler; size kalan seçim, bilgiyi nasıl saklayıp yenileyeceğinizdir. Mümkünse süreli token ve dar yetki tercih edin. Uzun ömürlü anahtar kullanmak zorundaysanız izinli IP listesi ve düzenli döndürme ile riski azaltın.