mTLS service-to-service iletişim 2026 yılında SPIFFE ve SPIRE ile kimliklendiriliyor. CNCF Annual Survey 2025, kurumsal Kubernetes kullanıcılarının %47’sinin workload identity benimsediğini ancak yalnızca %18’inin tam mTLS’e geçtiğini raporluyor. NIST SP 800-204D bunu Zero Trust’ın kritik kontrolü olarak listeliyor.
mTLS Service-to-Service: 2026 Tanım ve Bağlam
mTLS (Mutual TLS), TLS handshake’inde hem server hem client’ın sertifika sunması ve karşılıklı doğrulama yapmasıdır. Mikroservis mimarisinde service-to-service iletişimde “her servis kim” sorusunu kriptografik garantiyle cevaplar. Edge TLS termination ile karıştırılmamalı; mTLS internal mesh’te workload identity sağlar. CNCF Service Mesh Survey 2025: kurumların %53’ü Istio veya Linkerd kullanıyor.
SPIFFE (Secure Production Identity Framework For Everyone), CNCF Graduated proje, workload identity için açık standart. SVID (SPIFFE Verifiable Identity Document) format X.509 veya JWT olabilir. SPIRE (SPIFFE Runtime Environment) referans implementation; HPE, AWS, Cisco, Bloomberg gibi kurumlarda production’da.
SPIFFE SVID: Workload Identity Formatı
SVID, bir workload’ın kim olduğunu kriptografik olarak ispatlayan kimlik belgesidir. Format: spiffe://trust-domain/path. Trust domain organizasyon sınırı; path workload tanımlayıcı. X.509-SVID standart TLS sertifikası; JWT-SVID HTTP authorization header için. Her ikisi de SPIFFE workload API üzerinden alınır, kısa ömürlü (default 1 saat), otomatik rotate.
| SVID Türü | Format | Kullanım | Ömür |
|---|---|---|---|
| X.509-SVID | X.509 cert + private key | mTLS, IPsec | 1 saat (rotate) |
| JWT-SVID | JWS imzalı JWT | HTTP authorization | 5 dakika |
| Trust Bundle | CA bundle | Verifier tarafı | Sınırsız (rotate) |
| Federated Bundle | Diğer trust domain bundle | Cross-domain | Manuel |

SPIRE Server-Agent Mimarisi
SPIRE iki bileşenden oluşur: Server (control plane) ve Agent (data plane). Server, workload registration entry’lerini yönetir, root CA’yı tutar, attestation kararlarını verir. Agent her node’da çalışır, workload identity’sini attest eder ve SVID dağıtır. Workload Unix Domain Socket üzerinden Workload API’ye erişir.
SPIRE 1.10 (2025) ile Tornjak yönetim arayüzü GA oldu; HPE acquisition (Mayıs 2025) sonrası enterprise destek arttı. SPIRE federation 2.0 cross-cloud trust domain bağlantısı sağlıyor; AWS PrivateLink ve Azure Private Link üzerinden secure tünel destekleniyor.
Attestor Seçimi: K8s, AWS, GCP
Attestor, workload’ın iddia ettiği kimliği doğrulayan plugin. SPIRE çoklu attestor destekler. K8s ortamında en yaygın K8s PSAT (Projected Service Account Token) attestor; service account token’ı projected volume olarak workload’a verir, SPIRE bu token’ı kube-apiserver’a TokenReview ile doğrular. AWS EC2 instance identity document, GCP metadata server attestor bulut native seçenekler.
- K8s PSAT: En yaygın, kube-apiserver TokenReview
- K8s SAT: Legacy (mounted token), SPIRE 1.10+ deprecate
- AWS IID: EC2 Instance Identity Document doğrulama
- GCP IIT: Identity-aware GCP metadata token
- Azure MSI: Managed System Identity
- x509pop: Mevcut PKI ile bootstrap
İlgili konu: Service mesh karşılaştırma rehberimizde SPIFFE’in Istio ve Linkerd ile entegrasyonu detaylı.
Service Mesh Entegrasyonu: Istio, Linkerd, Consul
Istio 1.20+ SPIRE federation native destekliyor; Linkerd kendi identity sistemini kullanıyor ama SPIRE entegrasyonu ImpacTLS projesi ile yapılıyor. Consul Connect SPIFFE-uyumlu CA sağlıyor. Tetragon ve Cilium service mesh modu SPIFFE SVID consumer olarak çalışabiliyor.

Certificate Rotation: Production’ın Kritik Noktası
mTLS’in en kırılgan tarafı sertifika rotation. SPIRE default 1 saatlik SVID süresinde 80% mark’ta otomatik yeniler. Application kodu Workload API’yi watch ediyorsa kesintisiz; legacy uygulamalar SIGHUP veya restart gerektirebilir. Envoy proxy SDS (Secret Discovery Service) ile sıcak rotate. Production’da rotation success rate %99,99 hedef; %99 altında alert.
| Rotation Sorunu | Sebep | Çözüm |
|---|---|---|
| Stale cert kullanım | SDS watch eksik | Envoy ADS, app SDK update |
| CA bundle drift | Trust bundle distribute edilmedi | SPIRE agent bundle reload |
| Time skew | Node NTP eksik | NTP zorunlu, ±5sn tolerance |
| High volume rotation | SPIRE Server bottleneck | Server HA, cache |
| JWT-SVID expire mid-request | 5 dk çok kısa | JWT cache + refresh |
Sektörel Use Case: Finans, Telekom, Multi-Cloud
Finansta SWIFT alpha PoC 2024’te SPIFFE workload identity’yi cross-bank settlement için test etti. Telekomda 5G SBA (Service Based Architecture) mTLS ve workload identity native gerektirir; 3GPP TS 33.501 SPIFFE-uyumlu mimari önerir. Multi-cloud’da SPIFFE Federation AWS↔GCP↔Azure trust domain bağlantısını standartlaştırıyor.

Kurumsal mTLS Dönüşümünde Karşılaşılan Tipik Sorunlar
Danışmanlık projelerinde gözlemlenen tipik darboğazlar:
- Tüm servisleri aynı anda mTLS’e geçirmeye çalışma — bir servis kırıldığında zincir patlıyor
- Trust bundle dağıtımının manuel yapılması — yeni node katıldığında bundle güncellenmiyor
- Legacy application’ların SDS desteği olmaması — sertifika rotation’da restart gerekiyor
- SPIRE Server’ın single point of failure olarak deploy edilmesi — workload API erişimi kaybı
- Cross-cluster federation’ın test edilmeden production’a alınması
- Audit log’ların organize edilmemesi — kimin kime erişti sorusunun cevabı yok
Sonuç
mTLS service-to-service 2026’da Zero Trust mimarisinin omurgası. SPIFFE açık standart, SPIRE production-ready referans implementation. Istio ile birleşim olgun; Linkerd kullanıcıları için entegrasyon yolu net. Pilot başlangıç: 1-2 namespace, K8s PSAT attestor, 1 saatlik SVID. 90 gün pilot + 180 gün cluster-wide + 365 gün multi-cluster federation pattern’i standart. SPIRE Server HA ve trust bundle distribution otomasyon kritik production şart.
Sıkça Sorulan Sorular
Istio kendi başına mTLS yapar, SPIRE’a gerek var mı?
Istio Citadel/Istiod yerel CA olarak çalışır, basit senaryolarda yeterli. Multi-cluster, cross-cloud, non-K8s workload veya enterprise CA entegrasyonu gerektiğinde SPIRE kullanılır. Istio + SPIRE entegrasyonu 1.20+ ile native destekli.
SPIRE Server SPOF nasıl önlenir?
SPIRE Server PostgreSQL/MySQL backend ile HA çalışabilir; 3 replica, shared datastore, leader election. Cache TTL ile agent’lar kısa kesintilere dayanır. AWS RDS Multi-AZ veya CloudSQL HA önerilen backend.
Non-K8s workload (VM, bare-metal) destekleniyor mu?
Evet. SPIRE Agent VM’de systemd service olarak çalışır; x509pop, AWS IID, Azure MSI attestor seçenekleri. CNCF Survey 2025: hibrit (K8s + VM) deploy SPIRE kullanıcılarının %38’ini oluşturuyor.
JWT-SVID mi X509-SVID mi tercih edilir?
Service mesh mTLS için X509-SVID; HTTP-only authorization (legacy API gateway, third-party) için JWT-SVID. Microservice mesh production’unda X509-SVID baskın; JWT-SVID 5 dakika ile kısa ve cache zor.
SPIRE’a alternatif var mı?
HashiCorp Boundary + Vault PKI engine alternatif; cert-manager + Kubernetes native bir başka yol ama workload identity standartı olmadan. AWS Roles Anywhere mTLS workload identity için bulut-native seçenek; SPIFFE compatible.










Ömer ÖNAL
Mayıs 23, 2026mTLS’i ‘service mesh otomatik yapıyor’ diye geçiştiren kurumlar 3-4 ay sonra certificate rotation, trust bundle distribution, ve cross-cluster federation duvarına çarpıyor. Doğru başlangıç: önce SPIRE’ı 1-2 namespace’te pilot, attestor seçimini doğrula (K8s PSAT en yaygın), sonra federation. Istio + SPIRE entegrasyonu olgun ama Linkerd kendi identity’sini sunuyor — karar kullanım senaryosuna bağlı. — Ömer Önal