WS-Security Decrypt
ipucu
Bu doküman spesifik bir politikanın detaylı kullanımını anlatır. Eğer Apinizer politika yapısını ilk kez kullanıyorsanız veya politikaların genel çalışma prensiplerini öğrenmek istiyorsanız, öncelikle Politika Nedir? sayfasını okumanızı öneririz.
Genel Bakış
Amacı Nedir?
- WS-Security ile şifrelenmiş SOAP mesajlarını API Proxy (API Vekil Sunucusu) katmanında çözerek uygulamaya düz metin içerik iletilmesini sağlar.
- Mesaj şifre çözme anahtarlarını merkezi bir anahtar deposunda yönetip yetkisiz erişimleri engeller.
- Koşul bazlı etkinleştirme ile yalnızca belirli Endpoint akışlarında şifre çözme işlemi çalıştırılır.
- Özelleştirilebilir hata mesajlarıyla tüketici uygulamalara anlamlı geri bildirim sunar.
Ç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ü: WS Güvenlik Şifre Çözme 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ı?
- Şifre Çözme Kontrolü: SOAP zarfındaki WS-Security
EncryptedDatablokları incelenir, seçilen anahtar deposundan özel anahtar alınır ve mesaj içeriği çözümlenir. - Karar Verme:
- Eşleşme Var: Anahtar deposundaki anahtar ile şifre çözülür ve mesaj içeriği arka uç servise düz metin olarak iletilir.
- Eşleşme Yok: Anahtar ID uyuşmazlığı veya eksik WS-Security header durumda politika başarısız olur, isteğin devamı durdurulur.
- 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
- SOAP Şifre Çözme Motoru: WS-Security standardındaki
EncryptedKeyveEncryptedDatabloklarını analiz eder, keystore'dan anahtar çekerek içeriği çözümleyip mesajı günceller. - Anahtar Deposu Entegrasyonu: Kuruma özel KeyStore servisinden keystore listeler, seçilen deposu politika ile ilişkilendirir ve projeye göre filtreler.
- Esnek Hata Yönetimi: Varsayılan ve özelleştirilmiş hata mesajlarıyla şifre çözme hatalarında ayrıntılı geri bildirim sunar.
- 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
- Case-Insensitive Anahtar Eşleştirme:
allowCaseInsensitiveIdseçeneğiyle şifreli bloklardakiKeyIdentifierdeğerlerini büyük/küçük harf duyarlılığından bağımsız eşler. - Global/Local Politika Akışı: Aynı yapılandırmayı global olarak paylaşıp local kopyalarla özelleştirme, localizasyon sırasında otomatik isim eşsizliği kontrolü.
- Eşzamanlı Kullan ım Takibi: Politikayı kullanan API ve Proxy Group listesini göstererek değişiklik veya silme öncesi etki analizi sağlar.
- 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ı
| Senaryo | Durum | Çözüm (Politika Uygulaması) | Beklenen Davranış / Sonuç |
|---|---|---|---|
| SOAP Güvenli Trafik | Dış sisteme ait SOAP mesajları WS-Security ile şifreli geliyor | Global politikada projeye ait ProductionDecryptKS keystore seçilir. | Mesaj içeriği çözülür, arka uç servis şifreli veri görmez. |
| Bölümlü Şifre Kaldırma | Yalnızca yönetim servisi için şifre çözme gerekli | Koşulda Path = /api/admin/* tanımlanır. | Yönetim çağrıları çözülür, diğerleri atlanır. |
| Anahtar Rotasyonu | Yeni sertifika devreye alınacak | Yeni keystore oluşturulup politikada güncellenir. | Kesinti olmadan yeni anahtar kullanılır. |
| Case ID Uyumsuzluğu | Tedarikçi sistem KeyIdentifier değerlerini farklı case ile gönderiyor | allowCaseInsensitiveId etkinleştirilir. | Anahtar ID farkları tolere edilir, hata düşmez. |
| Test Ortamı İzolasyonu | Test ortamında farklı keystore kullanılmalı | Local politika oluşturulup ilgili API'ye atanır. | Test anahtarı yalnızca o API'de kullanılır. |
| Hata Analizi | Şifre çözme başarısız olduğunda anlamlı bildirim gerekli | Özel hata mesajı yapılandırılır, 403 statü kodu seçilir. | İstemciye açıklayıcı JSON hata döner. |
| Performans İzleme (opsiyonel) | Büyük mesajlarda şifre çözme maliyetli | Koşulda içerik tipine göre politika devre dışı bırakılır. | Gereksiz decryption engellenir, gecikme azalır. |
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.