Politika Nedir?
Politika Kavramı
Politika, API Gateway'de istemciden gelen istekleri ve Backend API'den dönen yanıtları belirli kurallara göre işlemek için kullanılan yapılandırılabilir bir bileşendir. Politikalar konfigürasyon temelli çalışır ve kod yazmaya gerek yoktur.
Politikalar aracılığıyla aşağıdaki işlemleri gerçekleştirebilirsiniz:
- Güvenlik kuralları uygulayabilirsiniz. Kimlik doğrulama (Basic Auth, OAuth2, OIDC, JWT vb.) ve yetkilendirme (role-based access control) mekanizmalarını politikalar ile tanımlarız.
- Trafik yönetimi yapabilirsiniz. Kullanıcılar veya uygulamalar başına düşen kota (belirli dönem içinde yapılabilecek istek sayısı) ve hız sınırı (rate limiting) politikaları ile API'lerinizi aşırı yüklenmelerden koruyabilirsiniz.
- Veri dönüşümü sağlayabilirsiniz. Gelen istekleri veya dönen yanıtları farklı formatlara dönüştürebilirsiniz (örneğin XML'i JSON'a çevirme, veri yapısını yeniden biçimlendirme).
- Hata mesajlarını özelleştirebilirsiniz. Sistem tarafından dönen hata mesajlarını, kurumsal standartlara veya kullanıcı dostu bir dile çevirebilirsiniz.
- İş mantığı uygulayabilirsiniz. JavaScript veya Groovy gibi betik dilleri veya koşullu mantık politikaları kullanarak basit iş kurallarını API Gateway seviyesinde tanımlayabilirsiniz.
- Mesaj içeriğini zenginleştirebilirsiniz. İstek veya yanıta header ekleyebilir, metadata ekleyebilir veya hassas verileri maskeyleyebilirsiniz.
Politikalar, bir API Proxy'de mesajların işlenmesi sırasında uygulanan işlemleri tanımlar. Her politika belirli bir işlevi yerine getirir ve mesaj akışı içinde belirli bir noktada çalıştırılır. Arayüzde sürükle-bırak, parametre girişi veya konfigürasyon seçimleriyle politikaları anında etkinleştirebilir, güncelleyebilir veya devre dışı bırakabilirsiniz.
Politikalar form tabanlı arayüzlerle yapılandırılır. Kod yazmaya gerek yoktur.
Politikalar global olarak tanımlanabilir ve birden fazla API Proxy'de kullanılabilir.
Politikalar koşullara bağlı olarak çalıştırılabilir.
Politikalar bir pipeline içinde sırayla çalıştırılır.
Politika Uygulama Akışı
Aşağıdaki diyagram, politikaların mesaj akışında nasıl uygulandığını high-level olarak gösterir: