> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Politika Yönetimi

> API Proxy'nin geliştirme sekmesinde mesaj akışı sırasında istek ve yanıt mesajlarına uygulanacak politikaları yönetebilirsiniz. Politikaları ekleyebilirsiniz, güncelleyebilirsiniz, silebilirsiniz, aktif/pasif hale getirebilirsiniz ve görsel akış diyagramı üzerinden yönetebilirsiniz. Geliştirme sekmesi, mesaj akışı sırasında istek ve yanıt mesajlarına uygulanacak politikaların biçimlendirildiği sekmedir. Arayüz bu akışı gösterecek şekilde tasarlanmıştır. Böylece 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ırsınız.

<Info>
  Mesaj akışı, politika pipeline'ı ve politika uygulama sırası hakkında kavramsal bilgi için [Mesaj İşleme ve Politika Uygulama](/tr/concepts/temel-kavramlar/mesaj-isleme-ve-politika-uygulama) temel kavramlar sayfasına bakabilirsiniz.
</Info>

## Mesaj Akışı

İ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)](/tr/develop/politikalar/plain-text) sayfasına bakılabilir.

### İstemci

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.

<img src="https://mintcdn.com/apinizer/b92tyAv6JpTHUWXg/images/develop/message-processing/istemci.png?fit=max&auto=format&n=b92tyAv6JpTHUWXg&q=85&s=a43180b52e681ec271457c2fafdfd9fe" alt="İstemci" style={{maxWidth: '800px', width: '100%', height: 'auto'}} width="1841" height="757" data-path="images/develop/message-processing/istemci.png" />

### 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'dır. Arayüzünde sağ taraftaki çerçeve ile gösterilir. Backend API'nin yanıtı, politikalar uygulandıktan sonra İstemciye gönderilir.

<img src="https://mintcdn.com/apinizer/b92tyAv6JpTHUWXg/images/develop/message-processing/backend-api.png?fit=max&auto=format&n=b92tyAv6JpTHUWXg&q=85&s=139eab05b617ecebe7eceac836466cd8" alt="Backend API" style={{maxWidth: '800px', width: '100%', height: 'auto'}} width="1840" height="753" data-path="images/develop/message-processing/backend-api.png" />

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

<img src="https://mintcdn.com/apinizer/b92tyAv6JpTHUWXg/images/develop/message-processing/api-tanim-belgesi.png?fit=max&auto=format&n=b92tyAv6JpTHUWXg&q=85&s=3666fdaaa1536b85b17c28a5b4b4e1f5" alt="API Tanım Belgesi" style={{maxWidth: '800px', width: '100%', height: 'auto'}} width="1816" height="895" data-path="images/develop/message-processing/api-tanim-belgesi.png" />

## Politika Yönetimi

Bu bölümde API Proxy'nin geliştirme sekmesinde politikalar üzerinde yapılabilecek yönetimsel işlemler anlatılmaktadır. [Politika Nedir?](/tr/concepts/temel-kavramlar/politika-nedir) kavramı hakkında detaylı bilgi için temel kavramlar sayfasına bakabilirsiniz. Herhangi bir politika hakkında detaylı bilgi edinmek için [Politikalar (Policies)](/tr/develop/politikalar/plain-text) 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](/tr/concepts/temel-kavramlar/api-proxy-group)**: Bir API Proxy Grubuna eklenen bir politika, sadece istek API Proxy Grup üzerinden gelmiş ise işletilir.
* **[API Proxy](/tr/concepts/temel-kavramlar/api-proxy-nedir)**: Bir API Proxy'ye eklenen bir politika, o API Proxy'nin bütün metot/endpoint'leri için işletilir.
* **[Metot/Endpoint](/tr/concepts/temel-kavramlar/endpoint)**: 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/endpoint'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, 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.
* **2 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.
* **3 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.
* **4 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.

<img src="https://mintcdn.com/apinizer/b92tyAv6JpTHUWXg/images/develop/message-processing/all.png?fit=max&auto=format&n=b92tyAv6JpTHUWXg&q=85&s=2a77275f74b6c0d2448e61480aa71ae3" alt="Hepsi Seçeneği" style={{maxWidth: '1000px', width: '100%', height: 'auto'}} width="1790" height="610" data-path="images/develop/message-processing/all.png" />

<Info>
  Bu API Proxy herhangi bir API Proxy Grubu'na eklenmiş, eklenen API Proxy Grupta politikalar bulunuyor ve istek API Proxy Grup üzerinden geldiyse request hattındakiler uygulanır daha sonra response hattı üzerindeki politikalar da uygulanır. Ancak bu sayfada gösterilmez.
</Info>

API Proxy'nin herhangi bir metot/endpoint'i için herhangi bir politikanın eklenmiş olması durumunda metot/endpoint yanında çark ikonu bulunur.

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 2 bölge görünür:

<img src="https://mintcdn.com/apinizer/bgom9mCEH0MbSei2/images/develop/message-processing/hepsi-secenegi.png?fit=max&auto=format&n=bgom9mCEH0MbSei2&q=85&s=87606f1a812e8650d2a0be32c80c56e7" alt="Hepsi Seçeneği" style={{maxWidth: '1000px', width: '100%', height: 'auto'}} width="1844" height="752" data-path="images/develop/message-processing/hepsi-secenegi.png" />

* **1 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.
* **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 yanıt mesajlarına uygulanacak olan politikalar görülü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.

<img src="https://mintcdn.com/apinizer/b92tyAv6JpTHUWXg/images/develop/message-processing/politika-isletilme-sirasi.png?fit=max&auto=format&n=b92tyAv6JpTHUWXg&q=85&s=c73bcfa4b0a9f9220cfc4daa4b750e5a" alt="Politika İşletilme Sırası" style={{maxWidth: '1000px', width: '100%', height: 'auto'}} width="1843" height="759" data-path="images/develop/message-processing/politika-isletilme-sirasi.png" />

### Hata Durumunda Politikaların İşletilme Sırası

Hata durumunda işletilecek olan politikalar "Hata Politikası Ekle" seçeneği ile eklenir.

Akışın herhangi bir noktasında hata olması durumunda normal akış kesilerek öncelikle varsa hata yanıt şablonu hata mesajına uygulanır.

Sonrasında "Hata Politikaları" hattına eklenen politikalar **sağdan sola doğru** sırasıyla işletilir.

<a id="akisa-politika-ekleme" />

## Politika Yönetimi İşlemleri

### Akışa 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 **➕ Politika Ekle (Add Policy)** ikonuna tıklanır.

<img src="https://mintcdn.com/apinizer/b92tyAv6JpTHUWXg/images/develop/message-processing/politika-ekle.png?fit=max&auto=format&n=b92tyAv6JpTHUWXg&q=85&s=9b16c76c5a5111c6e857c54d4cf645d0" alt="Politika Ekle" style={{maxWidth: '800px', width: '100%', height: 'auto'}} width="1843" height="750" data-path="images/develop/message-processing/politika-ekle.png" />

* 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.

<img src="https://mintcdn.com/apinizer/b92tyAv6JpTHUWXg/images/develop/message-processing/politika-tipi-secimi.png?fit=max&auto=format&n=b92tyAv6JpTHUWXg&q=85&s=d49ad6bdf98910e6be76803a1168401f" alt="Politika Tipi Seçimi" style={{maxWidth: '800px', width: '100%', height: 'auto'}} width="1553" height="845" data-path="images/develop/message-processing/politika-tipi-secimi.png" />

* 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:

1. **Var olan bir global politikayı eklemek 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.
2. **Yerel politika oluşturmak için**: Herhangi özel işlem yapmadan açılan pencerede girilen veriler ile yerel politika oluşturulması sağlanır.

### Akıştaki Politikayı Güncelleme

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

### Seçilen Politikayı Activate/Deactivate Etme

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 **Deactivate** tuşuna tıklanır.

### Bütün Politikaları Activate/Deactivate Etme

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 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.

<Warning>
  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.
</Warning>

### Akıştan Politika Kaldırma

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

<Info>
  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)](/tr/develop/global-configurations/global-policies) arayüzlerinden yapılması gerekir.
</Info>

## İlgili Sayfalar

<CardGroup cols={2}>
  <Card title="Mesaj İşleme ve Politika Uygulama" icon="diagram-project" href="/tr/concepts/temel-kavramlar/mesaj-isleme-ve-politika-uygulama">
    Mesaj akışı ve politika uygulama kavramını öğrenin
  </Card>

  <Card title="Politika Nedir?" icon="shield" href="/tr/concepts/temel-kavramlar/politika-nedir">
    Politika kavramını öğrenin
  </Card>

  <Card title="Politikalar" icon="list" href="/tr/develop/politikalar/plain-text">
    Tüm politikalar hakkında detaylı bilgi alın
  </Card>

  <Card title="Global Politikalar" icon="cog" href="/tr/develop/global-configurations/global-policies">
    Global politika yapılandırmalarını öğrenin
  </Card>
</CardGroup>
