İzin Verilen IP Listesi
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?
- Erişim Güvenliğini Artırmak: API Gateway (API Vekil Sunucusu) üzerinden sunulan servislere yalnızca güvenilir IP adreslerinden erişim sağlanmasını garanti eder.
- Yetkisiz Erişimi Engellemek: Beyaz listede yer almayan kaynaklardan gelen istekleri otomatik olarak reddederek güvenlik açıklarını minimize eder.
- Coğrafi Kısıtlama Uygulamak: Belirli ülke ve şehirlerden gelen istekleri kabul ederek veya engelleyerek coğrafi bazlı güvenlik politikaları oluşturur.
- Merkezi IP Yönetimi: IP grupları kullanarak aynı IP setlerini farklı politikalarda tekrar kullanılabilir hale getirir.
- Variable Desteği: Kontrol edilecek istemci IP adresi, bağlantı adresi yerine bir variable'dan okunabilir.
Çalışma Prensibi
- İstek Gelişi: API Gateway'e gelen her HTTP/HTTPS isteği için, istemcinin kaynak IP adresi tespit edilir.
- Politika Kontrolü: IP Beyaz Listesi 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)?
- İstemci IP adresi bağlantıdan mı yoksa bir variable'dan mı alınıyor?
- IP Doğrulama: İki kontrol yapılır ve isteğin ikisini de geçmesi gerekir:
- IP kontrolü: İstemci IP adresi, manuel tanımlanan IP listesindeki veya seçili IP Gruplarındaki bir kayıtla eşleşir.
- Geolocation kontrolü: Geolocation etkinse ve ülke/şehir kuralları tanımlıysa, istemcinin konumu bu kurallardan biriyle eşleşir.
- Karar Verme:
- İki kontrolü de geçer: İstek bir sonraki politika adımına veya backend servisine yönlendirilir.
- Bir kontrolü geçemez: İstek reddedilir ve özelleştirilmiş hata mesajı döndürülür (default: 403 Forbidden).
- Boş IP Listesi: Politikada ve IP gruplarında hiç IP adresi yoksa IP kontrolü her adrese izin verir. Tanımlıysa Geolocation kuralları yine kontrol edilir.
- Hata İşleme: Politika kuralına uymayan isteklere özelleştirilebilir HTTP durum kodu ve hata mesajı döndürülür.
Özellikler ve Yetenekler
Temel Özellikler
- Manuel IP Listesi Yönetimi: IPv4 adreslerini,
*joker karakterlerini (örn: 192.168.1.*) ve-aralıklarını (örn: 192.168.1.4-18) tanımlama. Her IP adresi virgül ile ayrılarak eklenebilir. - IP Grubu Entegrasyonu: Önceden tanımlanmış IP gruplarını politikaya ekleme. Birden fazla IP grubunu aynı anda seçme ve yönetme imkanı. IP grupları merkezi olarak güncellenir, politikada otomatik yansır.
- Global ve Local Politika Desteği: Global olarak tanımlanıp birden fazla API Proxy'de kullanılabilir veya spesifik bir API Proxy için local politika olarak yapılandırılabilir.
- Aktif/Pasif Durum Kontrolü: Politikanın aktif veya pasif durumunu kolayca değiştirme (active/passive toggle). Pasif durumda politika uygulanmaz ancak yapılandırma 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
- Geolocation (Coğrafi Konum) Desteği: Geolocation servis entegrasyonu ile ülke ve şehir bazında IP kontrolü. Tüm ülke veya spesifik şehirlerden gelen istekleri kabul etme/engelleme. Birden fazla ülke ve şehir kombinasyonu tanımlama imkanı.
- Variable (Değişken) Mekanizması: İstemci IP'sini Kullan seçeneğini kapatıp bir variable seçin. Politika bağlantı adresi yerine variable'ın tuttuğu adresi kontrol eder.
- Hata Mesajı Özelleştirme: HTTP durum kodu özelleştirme (default: 403). Custom JSON veya XML hata mesajı tanımlama. Farklı hata senaryoları için farklı mesajlar yapılandırma.
- 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ç |
|---|---|---|---|
| Kurumsal Ağdan Erişim | Yalnızca şirket içi ağdan (192.168.x.x) API'lere erişim izni verilmesi gerekiyor | IP listesine 192.168.*.* ekleyin. Politikayı ilgili API Proxy'ye lokal veya global olarak atayın. | Sadece 192.168.x.x ağından gelen istekler kabul edilir. Diğer IP'lerden 403 hatası döner. |
| Üçüncü Parti Entegrasyon | Belirli bir partner firmanın sabit IP'lerinden (203.0.113.10, 203.0.113.11) gelen isteklere izin vermek | IP listesine 203.0.113.10 ve 203.0.113.11 adreslerini ekleyin. Gerekirse "Partner IP Grubu" oluşturup tekrar kullanın. | Sadece partner IP'lerinden gelen istekler kabul edilir. Entegrasyonlar güvenli şekilde çalışır. |
| Coğrafi Kısıtlama | Sadece Türkiye'den (TR) gelen isteklerin kabul edilmesi | Geolocation ayarlarını etkinleştirin. "Ülke Seç" listesinden Türkiye'yi seçin ve politikaya ekleyin. | İstemci IP'si Türkiye coğrafyasına ait değilse 403 hatası döner. TR IP'leri kabul edilir. |
| Şehir Bazlı Erişim | Yalnızca İstanbul ve Ankara şehirlerinden gelen istekleri kabul etme | Geolocation bölümünden Türkiye'yi seçin. Şehir listesinden İstanbul ve Ankara'yı seçin. "Ekle" butonuna tıklayın. | Sadece İstanbul ve Ankara şehirlerinden gelen IP'ler kabul edilir. Diğer şehirler reddedilir. |
| Geliştirme/Test Ortamı | Test ortamında sadece QA ekibinin IP'lerinden erişim izni | "QA Team IPs" adında bir IP Grubu oluşturun. Bu grubu politikaya ekleyin. Test ortamına özel global politika yapın. | QA ekibi test API'lere erişebilir. Üretim ortamında farklı politika uygulanır. |
| Proxy Arkasındaki İstemci IP'si | Gerçek istemci IP'si bağlantı adresi yerine bir header'da veya context değerinde geliyor | Politikada İstemci IP'sini Kullan seçeneğini kapatın ve istemci IP'sini tutan variable'ı seçin. | Politika bağlantı adresi yerine variable'daki adresi kontrol eder. |
| Acil Durum Erişimi | Belirli bir kritik IP'den gelen istekleri her zaman kabul etme | Manuel IP listesine kritik IP'yi ekleyin. Koşul bölümünde acil durum header'ı kontrolü ekleyin (opsiyonel). | Kritik IP her zaman erişim sağlar. Acil durumlarda politika bypass edilebilir. |
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 Allowed IP List Politikası Oluşturma
Yapılandırma Adımları
| Adım | Açıklama / İşlem |
|---|---|
| Adım 1: Oluşturma Sayfasına Gitme | - Sol menüden Development → Global Settings → Global Policies → Allowed IP List bölümüne gidin. - Sağ üstteki [+ Create] butonuna tıklayın. |
| Adım 2: Temel Bilgileri Girme | Policy Status (Politika Durumu): Aktif/Pasif durumu gösterir. Yeni politikalar varsayılan olarak aktiftir. Name (İsim) Zorunlu: Örnek: Production_IP_Whitelist- Benzersiz isim girin, boşlukla başlamaz. - Sistem otomatik kontrol eder: Yeşil tik: kullanılabilir Kırmızı çarpı: mevcut isim. Description (Açıklama): Örnek: "Prod ortamı için yalnızca kurum içi ve partner sistemlerinden gelen isteklere izin verir." - Maks. 1000 karakter. - Politikanın amacını açıklayın. |
| Adım 3: Variable Kullanımı | - Sayfanın üst kısmındaki işlem butonları alanında, [<> Variable] butonunu kullanarak dinamik değer seçebilirsiniz. - Context/global variable ifadeleri sayesinde politika parametrelerini sabit değer yerine değişken tabanlı yönetebilirsiniz. - Bu kullanım, değişen değerlerde manuel güncelleme ihtiyacını azaltır ve operasyonel kolaylık sağlar. - Detaylı bilgi için Dinamik Değişkenler sayfasını inceleyebilirsiniz. |
| Adım 4: IP Listesi Yapılandırması | İstemci IP'sini Kullan: Açıkken politika, gateway'in belirlediği istemci IP adresini kontrol eder. Kapalıyken İstemci IP için Değişken alanında bir variable seçin; politika variable'ın tuttuğu adresi kontrol eder. IP Ekleme: - Tekil IP: 192.168.1.100 → Enter veya ✓ ile eklenir.IP Silme: IP etiketine veya ✕ ikonuna tıklayın. IP aralığı belirtmek için ( * ve -) karakterleri kullanılabilir.Örnekler: - 10.0.0.1 → Tekil IP- 10.3.10.* değeri 10.3.10.0 ile 10.3.10.255 arasındaki IP'leri belirtir.- 10.3.10.4-18 değeri 10.3.10.4 ile 10.3.10.18 arasındaki IP'leri ifade eder (4 ve 18 dahil).- 10.*.*.* → 10 ile başlayan tüm IP'lerIP ekledikten sonra Enter tuşuna basılmalıdır. Yalnızca IPv4 adresleri eşleşir. CIDR notasyonu (örn: 192.168.1.0/24) hiçbir adresle eşleşmez; bunun yerine * ve - kullanın. |
| Adım 5: IP Grupları Kullanımı (İsteğe Bağlı) | - "Click to add IP Groups" butonuna tıklayın. - Sol tarafta mevcut IP grupları, sağda seçilenler görünür. Ekleme: - Sol listeden grup seçin → [Select]. - Sağ tarafa taşınır. - Bir grup birden fazla politikada kullanılabilir. Kaldırma: - Sağ listede 🗑️ simgesine tıklayın → sol listeye döner. Avantaj: - IP listelerini merkezi yönetin. - Tek güncelleme tüm politikalara yansır. - Partner erişimi için idealdir. |
| Adım 6: Coğrafi Konum Filtresi (İsteğe Bağlı) | - Country (Ülke) dropdown'ından ülke seçin (örnek: Turkey). - City (Şehir) dropdown'ı ülke seçilince aktif olur (örnek: Istanbul, Ankara, Izmir). - [+ Add] ile tabloya eklenir. - Satırlar 🗑️ ile tekil, üstteki 🗑️ ile toplu silinebilir. Örnek Senaryolar: - Yalnızca Türkiye: Country: Turkey, City: — - Türkiye büyük şehirler: Istanbul, Ankara, Izmir, Bursa - Birden fazla ülke: Turkey (tümü), Germany (Berlin, Munich), USA (tümü) |
| Adım 7: Koşul Tanımlama (İsteğe Bağlı) | - Condition sekmesine geçin. - Koşullar, politikanın hangi durumda aktif olacağını belirler. Örnekler: • Ortam bazlı: Header = X-Environment, Operator = Equals, Value = production |