Genel Bakış
Amacı Nedir?
- Kurumsal API Proxy (API Vekil Sunucusu) trafiğinde istemci sertifikasını zorunlu kılarak kimlik doğrulama yapmak ve sadece yetkili istemcilerin erişimini sağlamak.
- Sertifika hiyerarşisinin güvenilir Certificate Authority (CA) zincirleri ile uyuştuğunu doğrulayarak sahte sertifika riskini ortadan kaldırmak.
- İstemci sertifikasını önceden tanımlı Issuer ACL listeleriyle eşleştirip, belirli kurum veya cihazlara özel erişim stratejisi oluşturmak.
- Yetkilendirme modülüyle birlikte çalışarak sertifikadan elde edilen kimliği politikaya bağlı rol kontrolleriyle pekiştirmek.
Çalışma Prensibi
- İstek Gelişi: API Gateway’e gelen her HTTP/HTTPS isteği için, istemin kaynak IP adresi tespit edilir.
- Politika Kontrolü: mTLS Kimlik Doğrulama politikası aktif ise, sistem aşağıdaki sırayla kontrol yapar:
- Condition (koşul) tanımlı mı? Varsa koşul sağlanıyor mu?
- Politika aktif mi (active=true)?
- Variable kullanılıyor mu yoksa Apinizer default mı?
- Sertifika ve Issuer Doğrulaması: mTLS handshake tamamlandıktan sonra istemci sertifikasının geçerlilik tarihleri, imzası ve tanımlı issuer listesi doğrulanır; isteğe bağlı olarak Issuer ACL kayıtlarıyla eşleşme aranır.
- Karar Verme:
- Eşleşme Var: Sertifika kabul edilir, gerekirse kimlik bilgisi ve roller header alanlarına eklenir, isteğin yönlendirilmesine izin verilir.
- Eşleşme Yok: Sertifika veya issuer doğrulaması başarısız olur, isteğin yönlendirilmesi durdurulur ve yapılandırılmış hata yanıtı döndürülür.
- Hata İşleme: Politika kuralına uymayan istekler için özelleştirilebilir HTTP durum kodu ve hata mesajı döndürülür.
Özellikler ve Yetenekler
Temel Özellikler
- Sertifika Issuer Doğrulama: Gelen istemci sertifikasının issuer bilgilerini kayıtlı CA zinciri ve Issuer ACL listeleriyle karşılaştırır.
- Dinamik Sertifika Geçerlilik Kontrolü: Sertifikanın tarih ve imza bütünlüğünü her istek için kontrol ederek geçersiz sertifikaları anında reddeder.
- ACL Tabanlı Erişim: Issuer bazlı erişim kontrollerini IP denetimi ile genişleterek belirli ağ segmentlerine özgü izinler tanımlar.
- Aktif/Pasif Durum Kontrolü: Politikanın aktif veya pasif durumunu kolayca değiştirme (active/passive toggle). Pasif durumda politika uygulanmaz ancak yapılandırması saklanır.
- Koşul Bazlı Uygulama: Query Builder ile karmaşık koşullar oluşturarak politikanın ne zaman uygulanacağını belirleme (örn: sadece belirli endpoint’lere veya header değerlerine göre).
İleri Düzey Özellikler
- Header Enjeksiyonu Yönetimi: Sertifika öznesinden çıkarılan kullanıcı kimliğini ve rolleri özel header alanlarına yazarak downstream servislerine aktarır.
- Yetkilendirme Servisi Entegrasyonu: API, veritabanı veya Secret Manager kaynaklı yetkilendirme akışlarını devreye alarak mTLS kimlik doğrulamayı rol tabanlı erişimle birleştirir.
- Metot Bazlı Yetki Kısıtları: HTTP metoduna göre erişim kuralları tanımlayarak hassas operasyonları granular düzeyde kontrol eder.
- Export/Import Özelliği: Politika yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı.
- Policy Group ve Proxy Group Desteği: Birden fazla politikayı Policy Group içinde yönetme. Proxy Group’lara toplu politika atama. Merkezi güncelleme ve deploy işlemleri.
- Deploy ve Versiyonlama: Politika değişikliklerini canlı ortama deploy etme. Hangi API Proxy’lerde kullanıldığını görme (Policy Usage). Proxy Group ve Policy Group kullanım raporları.
Kullanım Senaryoları
Politika Parametrelerini Yapılandırma
Bu adımda, kullanıcı yeni bir politika oluşturabilir ya da mevcut politika parametrelerini yapılandırarak erişim kurallarını belirleyebilir. Tanımlanan parametreler, politikanın çalışma şeklini (örneğin hangi IP’lerin izinli olacağı, coğrafi kısıtlamalar, koşullu aktivasyonlar vb.) doğrudan etkiler. Bu sayede politika hem kuruma özel gereksinimlere göre özelleştirilebilir hem de merkezi olarak yönetilebilir.Yeni mTLS Kimlik Doğrulama Politikası Oluşturma

Yapılandırma Adımları
Koşullar ve Hata Mesajı Özelleştirme panellerinin açıklaması için Politika Nedir? sayfasındaki Koşullar ve Hata Mesajı Özelleştirme (Error Message Customization) bölümlerini inceleyebilirsiniz.
Hata mesajı yapılandırmasının tüm katmanları, öncelik sırası ve senaryo örnekleri için Hata Mesajı Yapılandırma Rehberi sayfasına bakın.

