API token güvenli kullanım
API token, REST API üzerinden hesabınıza tam programatik erişim sağlayan bir anahtardır. Sızdırılırsa, bir saldırgan da sizin yaptığınızı yapabilir. Aşağıdaki öneriler bunun başınıza gelme riskini azaltır.
Token'a parola gibi davranın
- Token'ı asla genel repolara (GitHub, GitLab) koymayın.
- Sorun ayıklama sırasında token'ı Discord, Slack veya e-posta ile göndermeyin.
- Token'ı bir ortam değişkenine veya bir secrets yöneticisine (HashiCorp Vault, AWS SSM Parameter Store, Doppler ve benzeri) kaydedin.
- CI/CD pipeline'ında (otomatik build/deploy sisteminde) "masked secret" özelliğini kullanın, böylece token loglarda okunabilir biçimde görünmez.
Token rotasyonu
Aşağıdaki durumların her birinde eski token'ı hemen iptal edin ve yenisini oluşturun:
- Erişimi olan bir çalışan ayrılıyor.
- Kontrol panelinde her token için Son kullanım zaman damgasını görürsünüz - beklemediğiniz bir etkinlik görürseniz token'ı hemen iptal edin.
- Hiçbir şey olmasa bile rutin hijyen olarak en az 90 günde bir.
Bir token = bir amaç
Aynı token'ı beş farklı scripte koymayın. Her entegrasyon için ayrı bir token oluşturun:
epulzio_xxxxxxxxxxxxxxxx- yalnızca GitHub Actions üzerinden dağıtım içinepulzio_xxxxxxxxxxxxxxxx- yalnızca Terraform veya Pulumi için (altyapı yönetim araçları)epulzio_xxxxxxxxxxxxxxxx- metrikleri indiren bir Grafana panosu için
Bir token sızdırılırsa yalnızca o belirli olanı iptal edersiniz ve diğer entegrasyonlar çalışmaya devam eder.
Token'ı nereye güvenli şekilde saklamalı
| Ortam | Önerilen yöntem |
|---|---|
| Yerel CLI | chmod 600 izinlerine sahip ~/.config/epulzio/token dosyası (yalnızca kullanıcınız okur) |
| Docker | Docker secret veya --env-file (Dockerfile'da ENV üzerinden sabit kodlanmış değil) |
| Kubernetes | Ortam değişkeni veya dosya olarak monte edilmiş Secret nesnesi |
| GitHub Actions | Settings -> Secrets -> EPULZIO_TOKEN |
| Bulut fonksiyonları (AWS Lambda, GCP Functions) | AWS SSM Parameter Store veya Google Secret Manager |
Webhook'lar için token vs. imza sırrı
Gelen webhook'ları (size gönderdiğimiz bildirimleri) doğrulamak için API token'ı değil, ayrı bir imza sırrı (HMAC signing secret) kullanın. Bunlar iki farklı şeydir. Detaylar için API token oluşturma makalesine bakın.