Genel Bakış
Amacı Nedir?
- Kurumsal servislerin OAuth 2 tabanlı erişiminde kimlik doğrulamayı standardize ederek API Proxy (API Vekil Sunucusu) seviyesinde merkezi kontrol sağlar.
- Farklı grant type ihtiyaçlarını tek politika altında yönetip proje bazlı tutarlılık sunar.
- Token ve refresh token yaşam döngülerini denetleyerek erişim süresini, yenileme haklarını ve güvenlik sınırlarını kurum politikalarına göre ayarlar.
- Kimlik ve rol kaynaklarını Secret Manager, API, LDAP veya veritabanı sağlayıcılarıyla entegre ederek yetkilendirme süreçlerini uyumlu hale getirir.
Ç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ü: OAuth 2 Kimlik Doğrulama 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ı?
- OAuth 2 Akış Kontrolü: Seçili grant type’a göre istemci kimlik bilgilerini doğrular, gerekli ise Identity Role Group ve Secret Manager bilgilerinden kimlik veya rol verisi çeker, token üretim/yenileme kurallarını uygular.
- Karar Verme:
- Eşleşme Var: Yetkili istemci için erişim tokenı oluşturulur veya mevcut token doğrulanır, header zenginleştirmeleri uygulanır.
- Eşleşme Yok: Token üretimi veya doğrulama reddedilir, yetkisiz erişim kaydedilir.
- 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
- Grant Type Yönetimi: CLIENT_CREDENTIALS ve PASSWORD akışlarını destekleyerek farklı istemci türlerine uygun kimlik doğrulama sağlar.
- Token Yaşam Döngüsü Kontrolü: Erişim token süresi, refresh token hakları ve yenileme sayısını proje gereksinimlerine göre tanımlar.
- Kimlik Sağlayıcı Entegrasyonu: Secret Manager, Identity Role Group, LDAP, API veya veritabanı tabanlı kimlik kaynaklarıyla çalışarak kimlik doğrulama esnekliği 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
- Secret Manager Tabanlı Güvence: Kimlik bilgilerini güvenli kasada tutarak parolasız flows için ek güvenlik ve IP adresi takibi sağlar.
- Header Zenginleştirme: Doğrulanan kullanıcının kimlik ve rol bilgilerini özelleştirilebilir header alanlarına yazar.
- Metot Bazlı Yetkilendirme: API metodları için özel rol setleri tanımlayıp granular erişim kontrolü uygular.
- 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ı
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 OAuth 2 Kimlik Doğrulama Politikası Oluşturma

Yapılandırma Adımları
Client Authentication — Authorization Basic Header Desteği (RFC 6749 §2.3.1)
Örnek:- Çift gönderim yasağı: Aynı istekte hem Authorization Basic header’ı hem body’de
client_id/client_secretparametreleri gönderirseniz, sunucu HTTP 400 (invalid_request) ile reddeder (RFC 6749 §2.3.1 “MUST NOT” kuralı). - Bozuk header işlemesi: Base64-decode edilemeyen veya eksik Basic header’lar HTTP 401 (
invalid_client) ile reddedilir. - Diğer Authorization scheme’leri: Basic dışındaki yetkilendirme türleri (örn.
Bearer,Digest) görmezden gelinir; bu durumda body parametreleri kullanılır. - Şifre ve kullanıcı adı: PASSWORD grant akışında
usernamevepasswordher zaman request body’de gönderilir; Authorization header sadececlient_id/client_secretiçin kullanılır.

