Secrets Management: Parola, API Key ve Sertifika Yönetimi Güvenli Nasıl Yapılır?

Secrets Management: Parola, API Key ve Sertifika Yönetimi Güvenli Nasıl Yapılır?

9 dk okuma22 Temmuz 2026DGTLFACE Editorial

Bir sistem “güvenli” görünse bile, bir API key’in yanlış yerde durması tüm güvenliği tek hamlede boşa çıkarabilir. Otel projelerinde PMS/OTA API key’leri; B2B’de CRM ve ödeme entegrasyon anahtarları doğrudan gelir ve operasyon akışlarına bağlıdır. Bu yüzden secrets management, teknik ekipler için “opsiyonel iyileştirme” değil, temel güvenlik standardıdır. Bu rehber; secret’ları koddan uzak tutmayı, vault/KMS ile rol bazlı erişimi, rotation/revocation ve audit logging ile denetlenebilir bir politika kurmayı adım adım ele alır.

Öne Çıkan Cevap

Parola, API key ve token’ların kod deposunda, .env dosyalarında veya not defterlerinde durması hâlâ en yaygın güvenlik açıklarından biridir. Çözüm; vault/KMS kullanarak secret’ları merkezi saklamak, erişimi rol bazlı sınırlandırmak, düzenli rotation (değiştirme) ve revocation (iptal) süreçleri işletmek ve audit log’larla “kim hangi secret’a erişti?” sorusunu cevaplayabilmektir. Bu model, otel ve B2B entegrasyonlarında kritik sistemlerin ele geçirilme riskini belirgin biçimde azaltır.

Özet

Secret’ları git/.env’den çıkar; Vault/KMS’de sakla; RBAC ile yetkiyi daralt; rotation+revocation uygula; audit log ile erişimi izleyerek sızıntı riskini düşür.

Maddeler

  • Hedef kitle: DevOps/Backend, otel IT, ajans teknik lideri, güvenlik/ops
  • KPI: Secret sızıntısı olayı, rotation uyum oranı, revocation süresi, yetkisiz erişim denemesi, audit bulguları
  • Entity: Secrets Management, Vault, KMS, API Keys, Passwords, Certificates, SSH Keys, Audit Logging
  • Geo: Türkiye geneli; PMS/CRM/ödeme entegrasyonlu otel ve B2B projeleri
  • Funnel: MoFu (policy + how-to) → BoFu (analiz)
  • SERP hedefi: Featured snippet + PAA (neden riskli, vault/KMS nasıl, politika)
  • Refresh: 365 gün (sağlayıcılar ve ekip yapısı değiştikçe)

Kısa Cevap

API key’leri vault/KMS’de tut; rol bazlı paylaş, logla ve düzenli rotation ile yenile.

Hızlı Özet

  • 1) Secret’ların envanterini çıkar (API key, token, sertifika, SSH key).
  • 2) Git/.env/not defteri kullanımını hedef olarak bitir.
  • 3) Vault/KMS’te merkezi sakla; RBAC ile dağıt.
  • 4) Rotation+revocation ve audit log’u standartlaştır.

1. Secrets Management Nedir?

Uygulamadan vault KMS’e secret akışı, rol bazlı erişim ve rotation politikasıyla güvenli paylaşım
Uygulamadan vault KMS’e secret akışı, rol bazlı erişim ve rotation politikasıyla güvenli paylaşım

Secrets management; şifreler, API key’ler, token’lar, sertifikalar, SSH key’ler gibi hassas bilgileri güvenli saklama, güvenli paylaşma ve yaşam döngüsünü yönetme disiplinidir. “Güvenli saklamak” tek başına yetmez; kim erişebilir, ne kadar süre erişebilir, sızarsa nasıl iptal edilir ve erişimler nasıl kayıt altına alınır soruları birlikte yönetilmelidir.

Secrets management nedir, neden önemlidir?

Secrets management; hassas anahtar/parolaları merkezi bir sistemde saklayıp rol bazlı erişimle dağıtmak, düzenli rotation ve gerektiğinde revocation yapmak ve erişimleri audit log ile izlemektir. Önemlidir çünkü kod depo sızıntıları, yanlış paylaşım ve eski çalışan erişimleri en yaygın sızma yollarıdır; iyi bir secret modeli bu riskleri ciddi biçimde azaltır.

En yaygın anti-pattern’ler

  • .env dosyasının sunucular arasında kopyalanması
  • Secret’ların git’e yanlışlıkla commit edilmesi
  • “Ortak bir admin hesabı” veya ortak SSH key
  • Slack/WhatsApp/not defteri ile paylaşım
  • Loglarda token/parola görünmesi

☑ Mini Check: Secret hijyeni hızlı kontrol

  • Repo’da (.env, config, README) secret var mı?
  • Secret paylaşımı “kişiye özel” ve geri alınabilir mi?
  • Token/parola loglarda maskeleniyor mu?
  • Rotation periyodu var mı?
  • “Kim hangi secret’a erişti?” audit ile görülebiliyor mu?

Ne yapmalıyım?

  • Secret’ların envanterini çıkar (API key, token, sertifika, SSH key).
  • Git/.env/not defteri kullanımını hedef olarak bitir.
  • Vault/KMS’te merkezi sakla; RBAC ile dağıt.
  • Rotation+revocation ve audit log’u standartlaştır.
Secrets management temelleri ve anti pattern’ler, otel ve B2B ekipleri için bölüm ayırıcı
Secrets management temelleri ve anti pattern’ler, otel ve B2B ekipleri için bölüm ayırıcı

2. Parola, API Key ve Token’ları Koddan Uzak Tutmak

Bu bölümün kuralı nettir: Secret, kod değildir. Kod deposunda durmamalı, build artifact’ına gömülmemeli, image içine yazılmamalı. Secret’lar çalışma zamanında (runtime) güvenli kanal üzerinden verilmelidir.

Parola ve API key’leri kod deposunda tutmak neden risklidir?

Çünkü repo; ekip içinde geniş erişime açılır, fork/backup’lanır, CI loglarına sızabilir ve yanlışlıkla public olabilir. Secret bir kez sızdığında saldırganlar onu otomatik kullanabilir; özellikle PMS/ödeme/CRM anahtarlarında etki alanı çok büyür. Bu yüzden secret’ları repo dışına taşımak temel güvenlik kuralıdır.

“Runtime injection” yaklaşımı (prensip)

  • Uygulama çalışırken secret’ı alır (pull) veya secret güvenli şekilde push edilir
  • Secret yalnız gereken servis/ortama verilir
  • Secret’ın yaşam döngüsü ve erişimi merkezi yönetilir

Loglarda ve hata çıktılarında secret sızıntısını engellemek

Secret’lar sadece depoda değil, loglarda da sızar. Bu yüzden:

  • Token/parola maskelenir
  • Hata mesajları sanitize edilir
  • Debug log’ları prod’da kısıtlanır

☑ Mini Check: Koddan uzak tutma

  • Repo’da secret zero-tolerance (scan) var mı?
  • CI/CD loglarında secret mask’leniyor mu?
  • Docker image içinde secret yok mu?
  • Runtime’da secret injection var mı?
  • Prod debug log’ları kontrol altında mı?

Ne yapmalıyım?

  • Repo secret scan’i CI gate yap.
  • .env yerine vault/KMS + runtime injection uygula.
  • Log masking’i zorunlu kıl.
  • Prod debug seviyesini sınırlandır ve audit et.

3. Vault Çözümleri (HashiCorp Vault, KMS vb.)

Vault/KMS; secret saklamanın “güvenli kasası”dır. Pratikte iki hedefi aynı anda sağlar: (1) merkezi saklama ve erişim kontrolü, (2) audit izleri. Çözüm seçimi sağlayıcıya göre değişir; prensipler aynı kalır.

Vault/KMS çözümleriyle secrets nasıl yönetilir?

Secret’lar vault/KMS’e kaydedilir, erişim politikaları (RBAC) ile hangi rolün hangi secret’ı okuyabileceği tanımlanır. Uygulamalar runtime’da token/kimlik ile doğrulanıp sadece gerekli secret’ları çeker. Erişimler audit log’a yazılır; rotation zamanı geldiğinde secret yenilenir, gerekirse eski secret revoke edilir ve uygulamalar yeni secret’a geçirilir.

RBAC — “kim hangi secreti görebilir?”

İdeal yaklaşım:

  • İnsan kullanıcılar minimum erişime sahip
  • Uygulama servis hesapları sadece kendi secret’ını görür
  • Prod ve staging secret’ları ayrıdır
  • Ajans/partner erişimi süreli ve logludur

Rotation ve revocation (iptal) süreçleri

  • Rotation: belirli periyotta secret değiştir
  • Revocation: sızıntı şüphesinde anında iptal et

Bu ikisi “kâğıt üstünde” değil, operasyonel prosedür olmalıdır.

☑ Mini Check: Vault/KMS olgunluğu

  • RBAC politikaları rol bazlı mı?
  • Prod/stage secret ayrımı var mı?
  • Rotation takvimi ve sorumlusu var mı?
  • Revocation prosedürü (incident) hazır mı?
  • Audit log’lar erişilebilir ve korunuyor mu?

Ne yapmalıyım?

  • Rol bazlı policy çıkar: insan ≠ servis hesabı.
  • Prod secret’ları için daha sıkı erişim uygula.
  • Rotation’ı takvime bağla ve otomasyonla destekle.
  • Revocation’ı tatbik et (tabletop + teknik test).
Vault KMS ile RBAC ve audit log, güvenli secret saklama bölümü ayırıcı
Vault KMS ile RBAC ve audit log, güvenli secret saklama bölümü ayırıcı

4. Sertifika ve SSH Key Yönetimi

Secret sadece API key değildir; sertifikalar ve SSH key’ler de kritik kimlik materyalidir. Sertifika süreleri bittiğinde kesinti olur; SSH key’ler paylaşıldığında iz kaybolur. Bu yüzden yaşam döngüsü yönetimi şarttır.

Sertifika yaşam döngüsü

  • Envanter: hangi domain/subdomain, nerede kullanılıyor?
  • Yenileme: otomasyon ve uyarı
  • Dağıtım: doğru ortama doğru sertifika
  • İptal: sızıntıda revocation

SSH key yaşam döngüsü

  • Kişi bazlı key, paylaşım yok
  • Süreli erişim ve offboarding
  • Oturum kayıtları (bastion/SSM gibi) ile audit

Sertifika/SSH key ile KVKK ve erişim izleri

Kişisel veri erişimi olan sistemlerde “kim erişti?” sorusunu yanıtlamak önemlidir. Bu nedenle key/sertifika kullanım izleri ve erişim logları KVKK teknik tedbirleriyle uyumlu şekilde saklanmalıdır (Internal link: /tr/raporlama/kvkk-veri-guvenligi, /tr/yazilim/kvkk-uyum-hizmeti).

☑ Mini Check: Sertifika + SSH key

  • Sertifika envanteri ve yenileme alarmı var mı?
  • SSH key’ler kişi bazlı mı?
  • Offboarding’de key iptali otomatik mi?
  • Oturumlar kayıt altına alınıyor mu?
  • Audit log’lar KVKK uyumlu saklanıyor mu?

Ne yapmalıyım?

  • Sertifika ve SSH key envanteri çıkar.
  • Yenileme/rotasyon otomasyonu + alarm kur.
  • Paylaşılan key kullanımını bitir; kişi bazlı model.
  • Erişim loglarını audit için merkezi topla ve koru.

5. Otel ve B2B İçin Secrets Politika Örnekleri

Bu bölüm, politika dilini “iş bağlamı”na bağlar: PMS/OTA, CRM, ödeme anahtarları en kritik secret’lardır. Ayrıca ajans/partner erişimi olan projelerde paylaşım kültürü risk yaratır; policy bunu standardize eder.

Otel örneği — PMS/OTA API key’leri

  • Her entegrasyon için ayrı key
  • Scope/izin minimal
  • Vault/KMS’ten runtime çekme
  • Rotation periyodu + sızıntı prosedürü
  • Kim erişti: audit log

B2B örneği — CRM ve payments API key’leri

  • Prod ve staging ayrımı
  • Token’lar kısa ömürlü (mümkünse)
  • Export/rapor gibi işlerde secret’lar log’a düşmez
  • Revocation hızlı (incident runbook)

Otel ve B2B entegrasyonları için secrets politikası nasıl olmalı?

Politika; secret’ların repo/.env’de tutulmasını yasaklamalı, vault/KMS kullanımını zorunlu kılmalı, erişimi rol bazlı sınırlandırmalı, rotation periyodu ve revocation prosedürü tanımlamalı ve tüm erişimleri audit log’la kayıt altına almalıdır. Prod secret’ları için daha sıkı yetki ve daha güçlü izleme uygulanmalıdır.

Fark yaratan mini bölüm (Competitor Gap): “Eski çalışan erişimi” ve paylaşılmış secret riski

Birçok sızıntı “kötü niyetli dış saldırgan” kadar, eski çalışan/ajans erişiminin açık kalmasından doğar. Bu yüzden offboarding; secret revocation ve rol iptaliyle otomatikleşmelidir. Sheet’teki sektörel notla uyumlu şekilde, vault/KMS’e geçen ekiplerde repo sızıntısı kaynaklı ifşa vakalarının azaldığı sık raporlanır.

☑ Mini Check: Politika uygulanabilir mi?

  • Repo/.env yasağı net mi ve CI ile denetleniyor mu?
  • RBAC rolleri tanımlı mı?
  • Rotation periyotları yazılı mı?
  • Revocation runbook’u var mı?
  • Audit log ile “kim erişti” cevabı var mı?

Ne yapmalıyım?

  • Secrets policy yaz: saklama, paylaşma, rotation, revocation.
  • Denetimi otomatikleştir: repo secret scan + pipeline gate.
  • Prod secret’ları için ayrı sıkı policy uygula.
  • KVKK uyum hizmetiyle erişim izlerini teknik tedbire bağla (Internal link: /tr/yazilim/kvkk-uyum-hizmeti).
Uygulama vault KMS secrets yönetimi akışı, audit log ve rotation ile güvenli erişim diyagramı
Uygulama vault KMS secrets yönetimi akışı, audit log ve rotation ile güvenli erişim diyagramı
Secrets management checklist’i, repo dışı saklama ve rotation politikasıyla uygulanabilir güvenlik rehberi
Secrets management checklist’i, repo dışı saklama ve rotation politikasıyla uygulanabilir güvenlik rehberi
Rotation uyumu ve revocation süresi KPI paneli, otel ve B2B projelerinde secret hijyeni takibi
Rotation uyumu ve revocation süresi KPI paneli, otel ve B2B projelerinde secret hijyeni takibi
Secrets deliverable seti, policy ve RBAC matrisiyle denetlenebilir secret yönetimi standardı
Secrets deliverable seti, policy ve RBAC matrisiyle denetlenebilir secret yönetimi standardı

6. İçerik İçi Tablo: Secret Türleri ve Rotation Periyotları

Tablo: Secret türü → Örnek → Rotation periyodu → Not
Secret türüÖrnekRotation periyodu (çerçeve)Not
API keyPMS/OTA, CRMAylar (ör. 90–180 gün)Sızıntıda anında revoke
Access tokenOAuth tokenKısa (dakika–saat)Mümkünse kısa ömürlü
ParolaDB/app adminAylarMFA + erişim log’u
SertifikaHTTPS sertifikasıSüre bitimine göreAuto-renew + alarm
SSH keyAdmin erişimiPeriyodik gözden geçirmeKişi bazlı, paylaşım yok

Varsayım: Periyotlar altyapı kritiklik ve sağlayıcı kısıtlarına göre değişir; tablo “prensip” çerçevesidir.

7. Parola & API Key Yönetimi için Vault/KMS Planlama Şablonunu İndir

PDFv1.0Checklist + Sprint

Parola & API Key Yönetimi için Vault/KMS Planlama Şablonunu İndir — Yazılım / Sunucu ve Güvenlik (v1.0)

Bu şablon; secret’ları repo/.env’den çıkarıp vault/KMS’e taşıma, rol bazlı erişim politikası kurma ve rotation/revocation süreçlerini standartlaştırma için hazırlanmıştır. PMS/OTA, CRM ve ödeme entegrasyonlarında “kritik key” riskini azaltır. Audit log’larla erişimleri izleyip KVKK teknik tedbirlerini destekler.

Kim Kullanır?

DevOps/Backend, güvenlik/ops, otel IT ve B2B entegrasyon ekipleri.

Nasıl Kullanılır?

  1. Secret envanterini çıkar ve risk sınıfını işaretle.
  2. RBAC politikası ve erişim akışını yaz; runtime injection planını ekle.
  3. Rotation periyotları, revocation runbook’u ve audit log kurallarını tanımla.

Ölçüm & Önceliklendirme (Kısa sürüm)

  • ▢ ✅ Secret’lar repo/.env’de değil
  • ▢ ✅ Prod/stage ayrımı var
  • ▢ ✅ RBAC rol matrisi hazır
  • ▢ ✅ Rotation takvimi var
  • ▢ ✅ Revocation runbook test edildi
  • ▢ ✅ Audit log ile erişim izleniyor

PDF içinde: Problem→Kök Neden→Çözüm tablosu + 14 gün sprint planı + önce/sonra KPI tablosu

Şablonu İndir Ücretsiz • PDF / Excel

6) Kontrol listesi

  • Secret’lar repo/.env’de değil
  • Prod/stage ayrımı var
  • RBAC rol matrisi hazır
  • Rotation takvimi var
  • Revocation runbook test edildi
  • Audit log ile erişim izleniyor

Deliverables

  • Secret envanteri ve risk sınıflandırması
  • Vault/KMS saklama ve runtime dağıtım planı
  • RBAC rol matrisi
  • Rotation takvimi
  • Revocation incident runbook’u
  • Audit logging ve KVKK erişim politikası
Secrets deliverable seti, policy ve RBAC matrisiyle denetlenebilir secret yönetimi standardı
Secrets deliverable seti, policy ve RBAC matrisiyle denetlenebilir secret yönetimi standardı

Bir Sonraki Adım

PMS/CRM/ödeme entegrasyonlarında secret sızıntısı riskini azaltıp, RBAC+rotation ile denetlenebilir secret yönetimi kurmak isteyen otel ve B2B ekipleri için.

Sık Sorulan Sorular

Secrets management nedir, neden önemlidir?
Parola, API key, token ve sertifikaları merkezi saklayıp RBAC ile sınırlandırmak, rotation/revocation yapmak ve audit log tutmaktır. Çünkü repo/.env sızıntıları ve eski çalışan erişimleri en yaygın risklerdir.
Parola ve API key’leri kod deposunda tutmak neden risklidir?
Repo geniş erişime açılır, yanlışlıkla paylaşılabilir ve CI loglarına sızabilir. Bir secret sızdığında saldırganlar otomatik kullanabilir; özellikle PMS/ödeme anahtarlarında etki çok büyür.
Vault/KMS çözümleriyle secrets nasıl yönetilir?
Secret’lar vault/KMS’te saklanır, RBAC ile erişim politikası tanımlanır ve uygulamalar runtime’da gerekli secret’ı çeker. Erişimler audit log’a yazılır; rotation zamanı gelince yenilenir, gerekirse revoke edilir.
Otel ve B2B entegrasyonları için secrets politikası nasıl olmalı?
Repo/.env yasağı, vault/KMS zorunluluğu, rol bazlı erişim, prod/stage ayrımı, rotation periyotları, incident revocation runbook’u ve audit log şartlarını içermelidir.
API key’leri nerede tutmalıyım, nasıl paylaşmalıyım?
Vault/KMS’te tutmalı, kişiye özel/rol bazlı erişim vermeli ve paylaşımı loglamalısınız. Paylaşılan dosya/mesajlaşma yerine süreli yetkiler ve audit izleri kullanın.
Rotation yapmak neden zorunlu?
Çünkü sızıntı her zaman mümkündür; rotation etkilenme süresini kısaltır. Ayrıca eski çalışan veya eski entegrasyon erişimlerinin kalıcı risk olmasını engeller.
Secrets Management: API Key ve Parolayı Güvenli Yönet | DGTLFACE