Bu sekmede, seçilen API Proxy için politikalar, protokol dönüşümü ayarları ve metot/endpoint yönetimi işlemleri yapılabilir.

Metot/Endpoint İşlemleri 

Her API Proxy, önüne koyulduğu Backend API'nin metot/endpoint'leri için vekil olarak çalışan kendi metot/endpoint'lerine sahiptir.

Eğer API Proxy, API Tanım Belgesi Editörü ile oluşturulmuş olan bir API Tanım Dosyası kullanılarak, WSDL, Swagger ya da OpenAPI dosyasının adresi verilerek ya da böyle bir dosya yüklenerek oluşturulmuşsa, bu dosyada var olan metot/endpoint'lerin her birisi için API Proxy'de aynı adlı bir metot/endpoint otomatik olarak oluşturulur.  


Kullanıcılar aşağıdaki muhtemel nedenlerden dolayı metot/endpoint'lere yenilerini eklemek, var olanları güncellemek, silmek ya da belirli veya belirsiz bir süre için kullanıma kapatmak isteyebilirler:

  • Backend API'ye bir ya da daha fazla yeni metot/endpoint eklenmesi
  • Backend API'den bir ya da daha fazla metot/endpoint silinmesi
  • Backend API'deki bir ya da daha fazla metot/endpoint'in adının ya da HTTP metodunun istemcilerden saklanmak istenmesi
  • Backend API'deki bir ya da daha fazla metot/endpoint'in istemcilerin erişimine tamamen ya da geçici bir süreyle kapatılmak istenmesi

REST Metot/Endpoint Ekleme   

Yeni bir metot/endpoint eklemek için Ekle (Add) tuşuna tıklanır. 


Tuşa tıklandığı zaman eklenecek olan yeni metot/endpoint'in bilgilerinin girilebileceği bir pencere açılır.

REST Endpoint Ekleme/Güncelleme Ekranı

REST tipindeki API Proxy'nin endpoint ayarlarını içeren görsele aşağıda yer verilmiştir:


AlanAçıklama

Tanım Dosyasında Gösterme

(Hide in Spec File)

Bu seçenek seçilirse bu metot Tanım Dosyasında gösterilmez.

İndirmeyi Etkinleştir

(Enable Download)

API Metodundan/Endpointinden dönen sonuç Byte Array tipinde ise sonucun dosya olarak ele alınması için bu seçenek işaretlenir. Aksi halde içerik encoded text olarak istemciye döner.

Sonucun Byte Array olup olmadığına karar vermek için ise Content Type Header değerinin sistem ayarlarındaki "Byte Array Tipleri" listesinde yer alıp almadığına bakılır. Eğer bu listede yer alıyorsa sonucun Byte Array tipinde olduğuna karar verilir.

Aktifleştirildiğinde, compressed yanıt için (Accept-Encoding başlık değerine göre) Base64 Encoded Text kullanılır, varsayılan değeri Byte Array'dir.

(If enabled, Base64 Encoded Text is used For Compressed Response(by Accept-Encoding header value), default value is Byte Array)

Bu metoddan dönecek olan yanıt mesajının sıkıştırılmış olduğuna Accept-Encoding değeri içinde gzip, deflate veya br değerleri var mı diye bakılarak karar verilir. Eğer bu değerlerden birisi varsa yanıt mesajının durumu sıkıştırılmış (compressed)'tır.

Dönen mesaj sıkıştırılmış durumda ise ve yanıt Byte Array tipinde ise ve;

  • Metodun bu seçeneği aktif ise, dönen mesaj Byte Array olarak sıkıştırılarak istemciye döndürülür.
  • Metodun bu seçeneği pasif ise, dönen mesaj Base64 ile encode edilip text'e çevrildikten sonra text hali sıkıştırılarak istemciye döner.

HTTP Metot (HTTP Method)

(From Client to API Proxy bölümünde)

Eklenecek olan metot/endpoint'e hangi HTTP metot ile istek gönderileceğidir. Girilmesi zorunludur.

Adres (Path)

(From Client to API Proxy bölümünde)

Eklenecek olan metot/endpoint'e hangi adresten erişileceğidir. Bu adres, API'nin kök adresine göreli olarak yazılır. Girilmesi zorunludur.

Açıklama (Description)

(From Client to API Proxy bölümünde)

Eklenecek olan metot/endpoint'e ilişkin açıklama bilgisidir. Girilmesi isteğe bağlıdır.

Backend HTTP Metot (Backend HTTP Method)

(From API Proxy to Backend API bölümünde)

Bu metoda gelen isteğin Backend API'ye hangi HTTP metot ile gönderileceğidir. 

Backend Adresi (Backend Path)

(From API Proxy to Backend API bölümünde)

Bu metota gelen isteğin Backend API'nin hangi adresine gönderileceğidir.

Önbellek Ayarları 

(Cache Settings)

Bu ayar aktifleştirilirse metot/endpoint bazlı önbellek ayarları aktifleştirilmiş olur.

Önbellek Anahtar Tipi

(Cache Key Type)

Önbellek Anahtar Tipi için iki seçenek vardır:

  • Query Parametreleri Kullan (Use Query Params): Önbelleğe alma işlemi için oluşturulacak olan anahtarın istekteki HTTP Query parametrelerine göre belirlenmesi için kullanılır.

Örneğin sorgu parametresi /metodAdı?param1=value1&param2=value2 şeklinde olduğunda önbellekte tutulacak anahtar "param1=value1&param2=value2" değerinden oluşur,

ve bir daha istek bu şekilde geldiğinde önbellekteki sonuç döner.

  • Özel Anahtar Oluştur (Create Custom Key): Önbelleğe alma işlemi için oluşturulacak olan anahtarın istekteki seçilecek alanlar ile oluşturulması için kullanılır.

Bu değer seçildiğinde "Değişken Listesi" tablosunda belirtilecek alanlar ile anahtar oluşturulur.

Değişken Listesi

(Variable List)

Önbellek Key Tipi olarak "Özel Anahtar Oluştur (Create Custom Key) "seçilirse bu alan aktifleşir. 

Bu seçenek ile oluşturulacak olan önbellek anahtarının istek mesajının başlık, parametre veya gövde bölümlerinden belirtilecek alanların kombinasyonu ile yapılması sağlanır.

Örneğin; "İstek mesajının başlığındaki APIKEY değeri ve gövdesindeki  "//identity_no" XPath değerine göre anahtar oluştur" şeklinde ifade yazılabilir.

Kapasite

(Capacity)

Önbellekte saklanabilecek maksimum yanıt sayısıdır.

Önbellek Geçersizleme İçin Yetki Gerekir

(Invalidation Requires Authn)

Önbelleği geçersiz kılmak için yetkilendirme gerekiyorsa seçilir.

Yetkisiz İsteklerin Ele Alınması

(Handling Action)

Önbelleği geçersiz kılmak için yetkilendirme gerekiyorsa yetkisiz istekler için yapılacak işlem seçilir:

  • Devam Et (Continue)
  • Dur (Stop)

TTL (saniye)

(TTL (seconds))

Önbelleğe alınan yanıtın geçerli olacağı süre saniye olarak girilir.

Null/Boş Değerleri Önbelleğe Al

(Cache Null Value)

Boş değerlerin de önbelleğe alınması isteniyorsa işaretlenir.



SOAP Metot Ayarları Güncelleme

SOAP tipindeki API Proxy'nin metotları için yapılabilecek ayarlar REST tipindeki ayarlardan farklıdır.

SOAP Tipinde yeni method ekleme işlemi yapılmamaktadır, sadece mevcut olan metodların güncellenmesi yapılabilir.


SOAP tipindeki API Proxy'nin metot ayarlarını içeren görsele aşağıda yer verilmiştir:


SOAP tipindeki API Proxy'nin metot ayarları için kullanılan alanlar aşağıdaki tabloda görülmektedir.

AlanAçıklama

SOAP Action

(SOAP Action)

WSDL dosyası ayrıştırıldığında metod için belirtilmiş olan SOAPAction değeri otomatik elde edilir. Fakat herhangi bir sebepten dolayı farklı bir değer kullanmak için bu alandaki değer değiştirilebilir.

İndirmeyi Etkinleştir

(Enable Download)

API Metodundan/Endpointinden dönen sonuç Byte Array tipinde ise sonucun dosya olarak ele alınması için bu seçenek işaretlenir. Aksi halde içerik encoded text olarak istemciye döner.

Sonucun Byte Array olup olmadığına karar vermek için ise Content Type Header değerinin sistem ayarlarındaki "Byte Array Tipleri" listesinde yer alıp almadığına bakılır. Eğer bu listede yer alıyorsa sonucun Byte Array tipinde olduğuna karar verilir.

Aktifleştirildiğinde, compressed yanıt için (Accept-Encoding başlık değerine göre) Base64 Encoded Text kullanılır, varsayılan değeri Byte Array'dir.

(If enabled, Base64 Encoded Text is used For Compressed Response(by Accept-Encoding header value), default value is Byte Array)

Bu metoddan dönecek olan yanıt mesajının sıkıştırılmış olduğuna Accept-Encoding değeri içinde gzip, deflate veya br değerleri var mı diye bakılarak karar verilir. Eğer bu değerlerden birisi varsa yanıt mesajının durumu sıkıştırılmış (compressed)'tır.

Dönen mesaj sıkıştırılmış durumda ise ve yanıt Byte Array tipinde ise ve;

  • Metodun bu seçeneği aktif ise, dönen mesaj Byte Array olarak sıkıştırılarak istemciye döndürülür.
  • Metodun bu seçeneği pasif ise, dönen mesaj Base64 ile encode edilip text'e çevrildikten sonra text hali sıkıştırılarak istemciye döner.

WSA Ayarı

(WSA Settings)

Bu kısım sayesinde WS-Security Addressing ayarları her metod için ayrı ayrı aktifleştirilebilir. Aktif hale getirildiğinde ilgili WSA değerleri SOAP mesajına eklenir. 

Anlaşılmalı

(Must Understand)

"Must Understand" değerinin ayarı yapılır.

Versiyon

(Version)

Kullanılacak olan WSA versiyonu seçimi yapılır.

Ön Tanımlı Aksiyonu Ekle

(Add Default Action)

SOAP mesajına WSDL dosyası ayrıştırılırken belirlenmiş ön tanımlı aksiyonun eklenmesini sağlar. Aktif hale getirildiğinde aşağıdaki aksiyon ifadesi kaybolur.

Aksiyon

(Action)

SOAP mesajına özelleştirilmiş aksiyon eklenmesi için bu alan kullanılır.

Ön Tanımlı Kime Bilgisi Ekle

(Add Default To)

SOAP mesajına WSDL dosyası ayrıştırılırken belirlenmiş ön tanımlı kime bilgisinin eklenmesini sağlar. Aktif hale getirildiğinde aşağıdaki kime ifadesi kaybolur.

Kime

(To)

SOAP mesajına özelleştirilmiş kime bilgisi eklenmesi için bu alan kullanılır.

Yanıt Kime

(Reply To)

SOAP mesajına özelleştirilmiş yanıt kime bilgisi eklenmesi için bu alan kullanılır.

Mesaj ID Üret

(Generate Message ID)

SOAP mesajına her mesaj için farklı üretilmiş Mesaj ID eklenmesi için bu alan aktif hale getirilir.

Mesaj ID

(Message ID)

SOAP mesajına her mesaj için sabit bir Mesaj ID eklenmesi için bu alan aktif hale getirilir.

Kimden

(From)

SOAP mesajına özelleştirilmiş kimden bilgisi eklenmesi için bu alan kullanılır.

Hata Kime

(Fault To)

SOAP mesajına özelleştirilmiş hata kime bilgisi eklenmesi için bu alan kullanılır.

Hata İlişkisi

(Relates To)

SOAP mesajına özelleştirilmiş hata ilişkisi bilgisi eklenmesi için bu alan kullanılır.

Hata İlişki Tipi

(RelationShip Type)

SOAP mesajına özelleştirilmiş hata ilişki tipi bilgisi eklenmesi için bu alan kullanılır.

Önbellek Ayarları

(Cache Settings)

Bu ayar aktifleştirilirse metot/endpoint bazlı önbellek ayarları aktifleştirilmiş olur.

Önbellek Key Tipi

(Cache Key Type)

Önbellek Anahtar Tipi için iki seçenek vardır:

  • Query Parametreleri Kullan (Use Query Params): Önbelleğe alma işlemi için oluşturulacak olan anahtarın istekteki HTTP Query parametrelerine göre belirlenmesi için kullanılır.

Örneğin sorgu parametresi /metodAdı?param1=value1&param2=value2 şeklinde olduğunda önbellekte tutulacak anahtar "param1=value1&param2=value2" değerinden oluşur,

ve bir daha istek bu şekilde geldiğinde önbellekteki sonuç döner.

  • Özel Anahtar Oluştur (Create Custom Key): Önbelleğe alma işlemi için oluşturulacak olan anahtarın istekteki seçilecek alanlar ile oluşturulması için kullanılır.

Bu değer seçildiğinde "Değişken Listesi" tablosunda belirtilecek alanlar ile anahtar oluşturulur.

Değişken Listesi

(Variable List)

Önbellek Key Tipi olarak "Özel Anahtar Oluştur (Create Custom Key) "seçilirse bu alan aktifleşir. 

Bu seçenek ile oluşturulacak olan önbellek anahtarının istek mesajının başlık, parametre veya gövde bölümlerinden belirtilecek alanların kombinasyonu ile yapılması sağlanır.

Örneğin; "İstek mesajının başlığındaki APIKEY değeri ve gövdesindeki  "//identity_no" XPath değerine göre anahtar oluştur" şeklinde ifade yazılabilir.

Kapasite

(Capacity)

Önbellekte saklanabilecek maksimum yanıt sayısıdır.

Önbellek Geçersizleme İçin Yetki Gerekir

(Invalidation Requires Authn)

Önbelleği geçersiz kılmak için yetkilendirme gerekiyorsa seçilir.

Yetkisiz İsteklerin Ele Alınması

(Handling Action)

Önbelleği geçersiz kılmak için yetkilendirme gerekiyorsa yetkisiz istekler için yapılacak işlem seçilir:

  • Devam Et (Continue)
  • Dur (Stop)

TTL (saniye)

(TTL (seconds))

Önbelleğe alınan yanıtın geçerli olacağı süre saniye olarak girilir.

Null/Boş Değerleri Önbelleğe Al

(Cache Null Value)

Boş değerlerin de önbelleğe alınması isteniyorsa işaretlenir.


Metot/Endpoint Seçme

Metot/endpoint listesinde, herhangi bir metodun adına tıklandığında o metot seçilmiş olur ve arayüz buna göre güncellenir.

  1. Listede, seçilmiş olan metot/endpoint'i belli edecek şekilde renk değişir.
  2. Üst orta bölümde seçilmiş olan metot/endpoint'in hangisi olduğu gösterilir.
  3. Alt orta bölümde ise bu metot/endpoint için yapılabilecek işlemlerin bağlantıları görüntülenir.
  4. Sağ tarafta ise seçilen metot/enpoint'in Backend API'nin hangi metot/endpoint ile ilişkili olduğu görünür.


Metot/Endpoint Güncelleme

Uç Noktayı Düzenle (Edit Endpoint) bağlantısına tıklanır. Açılan penceredeki bilgiler güncellenerek Kaydet (Save) tuşuna tıklanır. 

Metot/Endpoint Silme

Uç Noktayı Sil (Delete Endpoint) bağlantısına tıklanır. Onay işleminden sonra metot/endpoint silinir.

Metot/Endpoint Geçici Olarak Kullanımdan Kaldırma

Bir metot/endpoint'in silinmeden erişime kapatılması mümkündür. Bunun için Uç Noktayı Devre Dışı Bırak (Disable Endpoint) bağlantısına tıklanır. Bağlantıya tıklandığında metot/endpoint kullanımdan kaldırılmış olur ve bununla birlikte arayüzde aşağıdaki değişiklikler gerçekleşir.

  1. Metot/endpoint'in yanındaki simge, metot/endpoint'in kullanım dışı olduğunu gösterecek şekilde değişir.
  2. Uç Noktayı Devre Dışı Bırak (Disable Endpoint) bağlantısı kaybolur. Bunun yerine Uç Noktayı Etkinleştir (Enable Endpoint) bağlantısı gelir.


Metot/Endpoint Test Etme

Eğer bir API Proxy en az bir ortama yüklenmişse, metot/endpoint'leri bu sekmeden kolayca test edilebilir. Bunun için seçilen metot/endpoint için Uç Noktayı Test Et (Test Endpoint) bağlantısına tıklandığında bu metot/endpoint için Test Konsolu açılır. Test etme hakkında detaylı bilgi için Test Konsolu (Test Console) arayüzüne bakabilirsiniz.

Mesaj Akışı

Geliştirme sekmesi, mesaj akışı sırasında istek ve yanıt mesajlarına uygulanacak politikaların biçimlendirildiği sekmedir. Arayüz de bu akışı gösterecek şekilde tasarlanmıştır. Böylece kullanıcı görsel olarak bir istek mesajının hangi politikalar hangi sırada uygulandıktan sonra Backend API'ye gönderileceğini ve Backend API'den dönen yanıt mesajı istemciye iletilmeden önce hangi sırada hangi politikaların uygulanacağını görme olanağı kazanır.

İstemci ile Backend API arasındaki akış,

  • İstemciden çıkıp Backend API'ye giden istek mesajını sembolize eden bir ok, 
  • Backend API'den çıkıp İstemciye giden yanıt mesajını sembolize eden bir ok,
  • İstek ya da yanıt mesajı üzerinde uygulanan politikaları ve uygulanma sırasını gösteren ikonlar

ile gösterilmektedir.

Bu bölümde politikaların detaylarına girilmeyecektir. Politikalarla ilgili detaylı bilgi için Politikalar (Policies) sayfasına bakılabilir. 

İstemci (Client)

Arayüzde sol taraftaki çerçeve içinde gösterilir. API Proxy'e istek gönderen paydaştır. Akışı başlatır. İstemciden çıkan mesaj, politikalar uygulandıktan sonra Backend API'ye ulaşır. 


Backend API

API Proxy ile istemcinin doğrudan erişimine kapatılan ve istemciden saklanan, istekleri API Proxy'den alıp yanıtlarını API Proxy'e döndüren orijinal API'dir. Arayüzünde sağ taraftaki çerçeve ile gösterilir. Backend API'nin yanıtı, politikalar uygulandıktan sonra İstemciye gönderilir.


Backend API kutusundaki API bağlantısına tıklandığı zaman Backend API'nin API Tanım Belgesi görüntülenir.


Politikalar (Policies)

Politikalar, istek ve yanıt mesajları üzerinde gerçekleştirilmesi istenen güvenlik, mesajları filtreleme, doğrulama, dönüştürme ya da zenginleştirme, kısmen iş mantığı uygulama, hata yönetimi vb. işlemleri tarif etmek üzere yapılan konfigürasyonlardır. API Gateway, İstemci ile Backend API arasındaki mesaj akışı sırasında, bu konfigürasyonlar ile kendisine tanıtılan politikaları işletir.

Bu bölümde genel olarak politikalar üzerinde yapılabilecek işlemler anlatılmaktadır. Herhangi bir politika hakkında detaylı bilgi edinmek için Politikalar (Policies) bölümünden ilgili politikaya ilişkin dokümantasyona bakabilirsiniz.

Politikaların Yeri ve Çalışma Sırası

Politikalar 3 farklı noktaya eklenebilir:

  • API Proxy Grubu 
  • API Proxy 
  • Metot/Endpoint 

Bir API Proxy Grubuna eklenen bir politika, eğer istek doğrudan API Proxy Grup'a gelmiş ise veya API Proxy Grup üzerinde "Ayarları İlgili API Proxy'lere Uygula" seçeneği seçilmiş ise o gruptaki bütün API Proxy'ler tarafından işletilir.

Bir API Proxy'ye eklenen bir politika, o API Proxy'nin bütün metot/endpoint'leri için işletilir.

Bir metot/endpoint'e eklenen bir politika, yalnızca o metot/endpoint için işletilir. 

Aşağıdaki görselde bu 3 noktaya da eklenmiş olan politikalara ilişkin bir örnek bulunmaktadır.

Görselde GET - findByStatus adlı metot/endoint'i seçilmiş olan API Proxy'nin, Proxy Group - 1 adlı bir API Proxy Grubu'na eklenmiş olduğu görülmektedir.

İşaretlenmiş olan alanlar, politikaların nereye eklendiğine bağlı olarak görüntülendikleri yerlerdir.

  • 1 numaralı çerçeve ile işaretlenen alanda, eğer bu API Proxy herhangi bir API Proxy Grubu'na eklenmiş ise, o API Proxy Grup için tanımlanmış ve istek mesajlarına uygulanacak olan politikalar görülür. Politikanın uygulanıp, uygulanmamasına şu şekilde karar verilir:
    1. İstek API Proxy Grup üzerinden geldiyse Politika uygulanır.
    2. İstek API Proxy üzerinden geldiyse ve API Proxy Grup içerisinde yer alan "Ayarları İlgili API Proxy'lere Uygula" seçeneğinin aktif ise Politika uygulanır.
    3. a ve b harici durumlarda bu alandaki Politikalar uygulanmaz. Gösterim sadece bilgi amacı taşır.
  • 2 numaralı çerçeve ile işaretlenen alanda, bu API Proxy için herhangi bir metot/endpoint seçilmeden, bütün metot/endpoint'ler için geçerli olacak şekilde eklenmiş ve istek mesajlarına uygulanacak olan politikalar görülür. Hepsi (All) yazısı bunu ifade eder.
  • 3 numaralı çerçeve ile işaretlenen alanda, seçilmiş olan metot/endpoint için geçerli olacak şekilde ve istek mesajlarına uygulanacak olan politikalar görülür. 
  • 4 numaralı çerçeve ile işaretlenen alanda, seçilmiş olan metot/endpoint için geçerli olacak şekilde ve yanıt mesajlarına uygulanacak olan politikalar görülür. 
  • 5 numaralı çerçeve ile işaretlenen alanda, bu API Proxy için herhangi bir metot/endpoint seçilmeden, bütün metot/endpoint'ler için geçerli olacak şekilde eklenmiş ve yanıt mesajlarına uygulanacak olan politikalar görülür. Hepsi (All) yazısı bunu ifade eder.
  • 6 numaralı çerçeve ile işaretlenen alanda, eğer bu API Proxy herhangi bir API Proxy Grubuna eklenmiş ise, o API Proxy Grup için tanımlanmış ve yanıt mesajlarına uygulanacak olan politikalar görülür. Politikanın uygulanıp, uygulanmamasına şu şekilde karar verilir:
    1. İstek API Proxy Grup üzerinden geldiyse Politika uygulanır.
    2. İstek API Proxy üzerinden geldiyse ve API Proxy Grup içerisinde yer alan "Ayarları İlgili API Proxy'lere Uygula" seçeneğinin aktif ise Politika uygulanır.
    3. a ve b harici durumlarda bu alandaki Politikalar uygulanmaz. Gösterim sadece bilgi amacı taşır.


1 ve 6 numaralı bölgeler, sadece API Proxy Grup üzerinde Ayarları İlgili API Proxy'lere Uygula seçeneği aktifleştirildiğinde görülür.


Eğer API Proxy'nin belirli bir metot/endpoint'i seçilmezse (ya da Hepsi (All)) seçilirse, aşağıdaki görselde gösterildiği gibi 4 bölge görünür.

  • 1 numaralı çerçeve ile işaretlenen alanda, eğer bu API Proxy herhangi bir API Proxy Grubu'na eklenmiş ise, o API Proxy Grup için tanımlanmış ve istek mesajlarına uygulanacak olan politikalar görülür. Politikanın uygulanıp, uygulanmamasına şu şekilde karar verilir:
    1. İstek API Proxy Grup üzerinden geldiyse Politika uygulanır.
    2. İstek API Proxy üzerinden geldiyse ve API Proxy Grup içerisinde yer alan "Ayarları İlgili API Proxy'lere Uygula" seçeneğinin aktif ise Politika uygulanır.
    3. a ve b harici durumlarda bu alandaki Politikalar uygulanmaz. Gösterim sadece bilgi amacı taşır.
  • 2 numaralı çerçeve ile işaretlenen alanda, bu API Proxy'nin bütün metot/endpoint'leri için geçerli olacak şekilde eklenmiş ve istek mesajlarına uygulanacak olan politikalar görülür. 
  • 3 numaralı çerçeve ile işaretlenen alanda, bu API Proxy'nin bütün metot/endpoint'leri için geçerli olacak şekilde eklenmiş ve yanıt mesajlarına uygulanacak olan politikalar görülür. 
  • numaralı çerçeve ile işaretlenen alanda, eğer bu API Proxy herhangi bir API Proxy Grubuna eklenmiş ise, o API Proxy Grup için tanımlanmış ve yanıt mesajlarına uygulanacak olan politikalar görülür. Politikanın uygulanıp, uygulanmamasına şu şekilde karar verilir.
    1. İstek API Proxy Grup üzerinden geldiyse Politika uygulanır.
    2. İstek API Proxy üzerinden geldiyse ve API Proxy Grup içerisinde yer alan "Ayarları İlgili API Proxy'lere Uygula" seçeneğinin aktif ise Politika uygulanır.
    3. a ve b harici durumlarda bu alandaki Politikalar uygulanmaz. Gösterim sadece bilgi amacı taşır.

Politikaların İşletilme Sırası

Politikalar, mesajın akış sırasında;

  • İstek mesajı için API Proxy Grup → API Proxy → metot/endpoint sırasıyla
  • Yanıt mesajı için metot/endpoint → API Proxy → API Proxy Grup sırasıyla

işletilir. Her seviyede, o seviyedeki politikalar mesajın akış yönündeki sıralamaya göre işleme alınır. 

Aşağıdaki görselde bu durum özetlenmiş, politikaların işleme alınma sıraları numaralandırılarak gösterilmiştir.


Politikaların Tipleri

Politikalar yerel (local) ya da global olabilir.

Bir yerel politika sadece tanımlandığı API Proxy tarafından kullanılabilir, API Proxy silindiğinde onunla birlikte silinir.

Global politikalar ise API Proxy'lerden bağımsız olarak oluşturulur ve sıfır ya da daha fazla API Proxy tarafından kullanılabilir. Bir API Proxy silindiğinde, o API Proxy tarafından kullanılan global politikalar bundan etkilenmez. Bununla birlikte, global politikada yapılan herhangi bir güncelleme, o politikayı kullanan bütün API Proxy'leri etkiler.

Politika Ekleme

Bir politika eklemek için;

  • Politikanın eklenmek istediği varlık seçilir. Örneğin API Proxy'nin bütün metot/endpoint'leri için uygulanması istenen bir politika için, o API Proxy'nin metot/endpoint alanında Hepsi (All) seçilir.
  • Politikanın istek mesajına mı yanıt mesajına mı ekleneceğine göre uygun alandaki (plus) Politika Ekle (Add Policy) ikonuna tıklanır.

  • Açılan pencereden eklenmek istenen politikanın tipi seçilir. Bu pencerede görünen politika tipleri, aktif API Proxy'nin tipine ve hangi bölge politika eklenmek istendiğine göre değişir.



  • Eklenmek istenen politika seçildiğinde, o politikaya ilişkin konfigürasyon bilgisinin girilebileceği bir pencere açılır. Bu pencereden farklı şekillerde politika eklenebilir.
Var Olan Bir Global Politikayı Ekleme

Bu işlem yeni bir politika oluşturmaz. Var olan global politikalardan birisinin, seçili API Proxy ya da metot/endpoint'e "eklenerek" kullanılmasını sağlar.

Bunun için politika penceresinde, en üstte politika tipinin yanındaki Global Politikalardan Seç (Select From Global Policies) bağlantısına tıklanır. Açılan pencereden uygun politika seçilerek işlem tamamlanır.



Yeni Bir Global Politika Oluşturma ve Ekleme

Bu işlem ile hem yeni bir global politika oluşturulur, hem de bu politika seçilen API Proxy ya da metot/endpoint'e eklenir.

Bunun için, politika penceresinde yapılan konfigürasyon kaydedilmeden önce Politikayı Global Politika Olarak Ekle (Add The Policy As A Global Policy) kutusu işaretlenir. 

Yerel Politika Oluşturma

Politika penceresi var sayılan olarak yerel politika oluşturulmasını sağlar. Başka bir deyişle, global politikalardan seçme ya da politikayı global olarak kaydetme yönünde bir işlem yapılmadan kaydedilen politikalar yerel politika olarak eklenir. 

Politika Güncelleme 

Var olan bir politikanın ikonuna tıklandığı zaman, o politikanın bilgilerinin güncellenebileceği bir pencere açılır.


Açılan pencerede güncellemeler yapıldıktan sonra Kaydet (Save) tuşuna tıklanır.

Bir API Proxy'nin Geliştirme sekmesinden güncellenen politikanın tipi global ise güncelleme işlemi bu global politika üzerinde yapılmaz. Bunun yerine güncelleme işleminin yapılmakta olduğu API Proxy için o global politika ile aynı konfigürasyona sahip yerel bir politika oluşturulur ve güncelleme bu yerel politika üzerinde gerçekleştirilir. Bu sayede, global politikayı kullanan bütün API Proxy'lerin yanlışlıkla etkilenmesi olasılığı ortadan kaldırılmış olur.

Eğer amaç gerçekten de global politikayı güncellemek ve bunun kullanıldığı bütün API Proxy'lerin artık bu güncellemeye göre çalışmasını sağlamak ise, güncelleme işlemi Global Politikalar (Global Policies) arayüzlerinden yapılmalıdır.

Seçilen Politikayı Geçici Olarak Kullanımdan Kaldırma

Bir politika, eklenmiş olduğu metot/endpoint ya da API Proxy'den silinmeden geçici olarak kullanımdan kaldırılabilir. Bunun için politika güncellenmek üzere açılır ve açılan pencerenin en üst kısmındaki Aktif (Active) tuşuna tıklanarak durum Aktif Değil (Not Active) yapılır. Durum tekrar güncellenene kadar bu politika işletilmez.


Bütün Politikaları Geçici Olarak Kullanımdan Kaldırma 

Metot/endpoint bölümünde, orta bölümün alt kısmında Bütün Politikaları Kapat (Disable All Policies) bağlantısı belirir. Bu bağlantıya tıklandığı zaman, eğer Hepsi (All) seçeneğinde ise API Proxy üzerine eklenmiş olan bütün politikalar; eğer herhangi bir metot içerisindeyse sadece o metot içerisinde eklenmiş olan tüm politikalar geçici olarak devre dışı kalır. Kullanımdan kaldırılmış olan politikalar daha sonra politika güncelleme penceresinden tek tek ya da Bütün Politikaları Aç (Activate All Policies) bağlantısına tıklanarak toplu olarak yeniden etkinleştirilebilir. 


Politikalar devre dışı kaldığında, ikonların renkleri değişerek gri bir görünüme kavuşur. 


Eğer API Proxy bir API Proxy Grubu'na eklenmişse ve bu API Proxy Grubu üzerinden politikalar uygulanmışsa, bütün politikaların kapatılması API Proxy Grubu'ndan gelen politikaları etkilemez, bu politikalar aktif olarak kalır.

Politika Silme

Fare silinmek istenen politikanın üzerine getirildiğinde, politikayı silecek bir ikon belirir. Bu ikona tıklanarak politika silinebilir.

Geliştirme sekmesinde gerçekleştirilen politika silme işleminde;

  • politika yerel ise tamamen silinir,
  • politika global ise yalnızca bu metot/endpoint ya da API Proxy ile ilişkisi kaldırılır, politikanın kendisi silinmez. Daha sonra tekrar eklenebilir. Bir global politikanın tamamen silinmesi isteniyorsa, silme işleminin Global Politikalar (Global Policies) arayüzlerinden yapılması gerekir.

Politikaları Toplu Olarak Silme

Politikaların topluca silinebilmesi için Bütün Politikaları Sil (Delete All Policies) bağlantısına tıklanır. Onay işleminden sonra API Proxy ve metot/endpoint'leri üzerindeki bütün politikalar silinir. 


Politika İçe Aktarma (Import Policy)

Politika eklemek için kullanılabilecek bir başka yöntem de daha önce dışa aktarılmış bir yerel politikanın içe aktarılmasıdır. İçe aktarılan politika, seçilmiş olan metot/endpoint'e ya da Hepsi (All) bölgesi seçilmişse API Proxy'e eklenir. 

Bu işlem için Yerel Politika İçe Aktar (Import Local Policy) bağlantısına tıklanır. Politikayı içeren dosya yüklenerek işlem tamamlanır. 


Politika Dışa Aktarma (Export Policy)

Bir politika başka yerlerde tekrar kullanılmak üzere dışa aktarılabilir. Bunun için politika güncelleme penceresindeki Politikayı Dışa Aktar (Export Policy) bağlantısına tıklanır. Bu işlem yapıldığında bir dosya indirilir ve indirilen dosya daha sonra yerel politika olarak içe aktarılabilir.


Geliştirme sekmesinden yapılan dışa aktarma işlemi sırasında, seçilen politika global ise global olarak, yerel ise yerel olarak dışa aktarılır. İçe aktarıldığında oluşturulan politika da buna bağlı olarak global ya da yerel olarak oluşturulur.