Skip to main content
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?

  • API Proxy (API Vekil Sunucusu) trafiğini harici OIDC sağlayıcılarına yönlendirerek uç kullanıcı kimlik doğrulamasını standartlaştırmak.
  • ID token ve access token doğrulamasıyla mikro servislerin kimlik doğrulama yükünü hafifletmek ve güvenliği merkezileştirmek.
  • Oturum, cookie ve cache yönetimi sayesinde uzun süreli kullanıcı oturumlarını güvenli biçimde sürdürebilmek.
  • Rol haritalama ve header enjeksiyonlarıyla API katmanında ince taneli yetkilendirme kuralları uygulamak.

Çalışma Prensibi

  1. İstek Gelişi: API Gateway’e gelen her HTTP/HTTPS isteği için, istemin kaynak IP adresi tespit edilir.
  2. Politika Kontrolü: OIDC 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ı?
  3. OIDC Yetkilendirme Akışı: İstek, seçilen OIDC/OAuth2 flow tipine göre yönlendirilir; issuer/discovery metadatası çekilir, PKCE ve nonce/state değerleri üretilir, token valide edilir.
  4. Karar Verme:
    • Eşleşme Var: Doğrulanmış token’dan kullanıcı bilgileri çıkarılır, header/cookie güncellenir, opsiyonel yetkilendirme servisi tetiklenir ve isteğe izin verilir.
    • Eşleşme Yok: Yetkilendirme başarısız olur, tanımlanan hata mesajı veya redirect kuralı uygulanır.
  5. 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

  • Dinamik OIDC Keşfi: Well-known endpoint üzerinden issuer, JWKS ve diğer metadata bilgilerini otomatik keşfederek manuel yapılandırma ihtiyacını azaltır.
  • Çoklu Akış Desteği: Authorization Code, Implicit, Hybrid ve saf OAuth2 Authorization Code akışlarını aynı politikada yönetir; PKCE desteğiyle güvenliği artırır.
  • Token Doğrulama Kontrolleri: ID/Access token doğrulaması, imza algoritması kontrolü, kullanıcı bilgisi alma ve API tabanlı token doğrulama seçeneklerini sunar.
  • Aktif/Pasif Durum Kontrolü: Politikanın aktif veya pasif durumunu kolayca değiştirme. 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

  • Gelişmiş Oturum Yönetimi: Session cookie adı, timeout, state/nonce doğrulaması, oturum şifreleme ve sıkıştırma ayarları ile kurumsal güvenlik standartlarını karşılar.
  • Rol ve Yetkilendirme Entegrasyonu: Rol haritalama, header’a rol ekleme, harici yetkilendirme servisi veya Credential Role Service ile derinlemesine erişim yönetimi sağlar.
  • Uyarlanabilir Token Taşıma: Token’ı header, cookie veya her ikisi üzerinden kabul edebilir; bearer formatını zorunlu kılabilir, özel header isimleri kullanabilir.
  • 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 OIDC Kimlik Doğrulama Politikası Oluşturma

Aşağıda OIDC (Keycloak, Okta, Azure AD, …) yapılandırma profiline ait sekmeler sırayla anlatılır; ekran görüntüleri ve alan tabloları bu profile göredir. OAuth2 (External OAuth2 Provider) ile nelerin değiştiğini karşılaştırmak için önce bu OIDC bölümünü okuyun; ardından OIDC sekmelerinin ve tabloların hemen sonrasında yer alan OIDC ve OAuth2 yapılandırma profili — UI farkları bölümüne geçin (OAuth2’ye özel OAuth2 Parameters ve Session & HTML görselleri de oradadır).

Connection sekmesi

OIDC Connection: sağlayıcı, uç noktalar, istemci ve akış Configuration Profile: OIDC (Keycloak, Okta, Azure AD, …) veya OAuth2 (External OAuth2 Provider) — akış tipi, görünen sekmeler ve alanları belirler; seçim sonrası birçok alan düzenlenebilir kalır.

Token & Validation sekmesi

Yalnızca OIDC yapılandırma profilinde gösterilir. OAuth2 profilinde bu sekme yerine OAuth2 Parameters kullanılır. Gelen token’ların nasıl doğrulanacağı, backend’e nasıl iletileceği ve JWT doğrulama ayrıntıları bu sekmede tanımlanır. OIDC Token ve doğrulama sekmesi Token Validation Token Accept Settings JWT Validation Details Cache Settings (ekranda tekrar eden blok)

Session & Logout sekmesi

Yalnızca OIDC yapılandırma profilinde gösterilir (tam oturum ve çıkış seti). OAuth2 profilinde bu sekme yerine Session & HTML kullanılır (sadeleştirilmiş oturum + HTML şablonları). Oturum çerezi, token çerezleri ve çıkış (logout) davranışı bu sekmede yapılandırılır. OIDC Session ve Logout sekmesi Session Settings Token Cookie Settings Logout Settings

User Mapping sekmesi

Yalnızca OIDC yapılandırma profilinde gösterilir. OAuth2 profilinde bu sekme yoktur; kullanıcı adı çıkarma için Connection akışındaki OAuth2 Username Extraction Path ve OAuth2 Parameters sekmesine bakın. OIDC claim’lerinin kullanıcı alanlarına, rollere ve backend header’larına eşlenmesi bu sekmede yapılır. OIDC User Mapping sekmesi Claim Paths Role Mappings (tablo) Custom Claim Mappings (tablo: Header Name / Header Value) Backend Header Settings Custom HTTP Headers (tablo: Header Name / Header Value) — backend’e eklenecek ek HTTP başlıkları.

Security & Other sekmesi

Sağlayıcıya TLS/mTLS, zaman aşımı, istek filtreleme, hata yönlendirme ve hata ayıklama bu sekmede yönetilir. OIDC Security ve diğer ayarlar sekmesi OIDC Security ve diğer ayarlar sekmesi Secure Connection Settings Arayüzdeki uyarı: mTLS ayarları OIDC sağlayıcısına yapılan tüm bağlantıları etkiler; yanlış yapılandırma bağlantı hatalarına yol açabilir. IP and Security Control Timeout Settings Request Filtering Error Handling Debug and Logging Diğer

OIDC ve OAuth2 yapılandırma profili — UI farkları

Yukarıdaki tablolar OIDC profilindeki sekmeleri adım adım anlatır. Configuration Profile olarak OAuth2 (External OAuth2 Provider) seçildiğinde Manager aynı politika ekranında farklı sekmeleri ve koşullu alanları gösterir veya gizler; özeti burada topluyoruz. Apinizer Manager’da OIDC Kimlik Doğrulama politikasını düzenlerken üstteki Configuration Profile radyo düğmeleri (OIDC / OAuth2) bu davranışı belirler.

Özet tablo

Son iki sekme grubu her iki profilde de tipik olarak şunları içerir: Conditions, Error Message Customization, API Proxies Using Policy, API Proxy Groups Using Policy (profil seçiminden bağımsız mantık).

OIDC profilinde varken OAuth2 profilinde gizlenen veya karşılığı farklı olanlar

  • Token & Validation sekmesi: Bearer JWT, ID/access token doğrulamaları, UserInfo, JWT issuer/audience/imza, token kabul ayarları vb.
  • Session & Logout sekmesinin OIDC sürümü: state/nonce, mutlak timeout, token çerez adları, logout path, revoke, post logout vb. tam set.
  • User Mapping sekmesi: claim path’ler, rol eşlemeleri, custom claim mappings.
  • Security & Other içinde Check Client IP ve Ignored Methods / Patterns — yalnızca OIDC profilinde.

OAuth2 profilinde ek / farklı olanlar

Aşağıdaki sekmeler ve ekran görüntüleri yalnızca OAuth2 (External OAuth2 Provider) profili seçiliyken görünür. Her bölümde Header Name / Header Value veya şablon alanları anahtar-değer veya metin düzenleyici ile doldurulur.
OAuth2 Parameters sekmesi
OAuth2 Parameters sekmesi: Authorization, Token, Resource ve Backend Request Headers
Session & HTML sekmesi
Session & HTML sekmesi: oturum ayarları ve HTML yanıt sayfaları OIDC’deki tam Session & Logout ve User Mapping yerine bu sekme kullanılır: oturum alanları sadeleştirilir; isteğe bağlı HTML Response Pages ile giriş/hata/başarı sayfaları şablonlanır. Session Settings HTML Response Pages (etkinleştirildiğinde)

Her iki profilde ortak kalanlar

  • Connection büyük ölçüde ortak: Issuer, Discovery URL, Authorization Endpoint, Token Endpoint, Client ID, Client Secret, Redirect URI, PKCE, Scopes, Authentication Mode seçimi (OAuth2’de uç nokta ve akış alanları yukarıdaki özet tabloya göre farklılaşır).
  • Security & Other: mTLS/SSL ayarları, connection/read timeout, max clock skew, hata yönlendirme, debug, kullanıcı header’ları; Conditions ve Error Message Customization panelleri profilden bağımsız mantıkta kalır.
Dokümantasyonda “tek sekme sırası her iki profil için aynı” denirse bu, Manager arayüzüyle tam örtüşmez: OAuth2 seçildiğinde Token & Validation, tam Session & Logout ve User Mapping yerine OAuth2 Parameters ve Session & HTML kullanılır. Not: Arayüz davranışı isOIDCProfile / isOAuth2Profile benzeri koşullara bağlıdır; Apinizer sürümüne göre alanlar güncellenebilir.

Yapılandırma Adımları

OIDC profili için önerilen sekme sırası: ConnectionToken & ValidationSession & LogoutUser MappingSecurity & Other → isteğe bağlı Conditions, Error Message Customization, API kullanım sekmeleri. OAuth2 profili için sıra farklıdır: ConnectionOAuth2 ParametersSession & HTMLSecurity & Other → aynı isteğe bağlı sekmeler. Bu sayfada önce OIDC sekmeleri tablolarla anlatıldı; OAuth2 farkları doğrudan üstteki OIDC ve OAuth2 yapılandırma profili — UI farkları bölümündedir. Aşağıdaki adımlar öncelikle OIDC akışına göre yazılmıştır; OAuth2 seçtiyseniz Adım 4’te Connection alanlarını o bölümdeki özet tabloya göre doldurun, Adım 5–6 yerine OAuth2 Parameters ve Session & HTML sekmelerini kullanın. Koşullar ve Hata Mesajı Özelleştirme panellerinin açıklaması için Politika Nedir? sayfasındaki Koşullar ve Hata Mesajı Özelleştirme (Error Message Customization) bölümlerini inceleyebilirsiniz. Hata mesajı yapılandırmasının tüm katmanları, öncelik sırası ve senaryo örnekleri için Hata Mesajı Yapılandırma Rehberi sayfasına bakın.

Politikayı Silme

Bu politikanın silme adımları ve kullanımdayken uygulanacak işlemler için Politika Yönetimi sayfasındaki Akıştan Politika Kaldırma bölümüne bakabilirsiniz.

Politikayı Dışa/İçe Aktarma

Bu politikanın dışa aktarma (Export) ve içe aktarma (Import) adımları için Export/Import sayfasına bakabilirsiniz.

Politikayı API’ye Bağlama

Bu politikanın API’lere nasıl bağlanacağına ilişkin süreç için Politika Yönetimi sayfasındaki Politikayı API’ye Bağlama bölümüne bakabilirsiniz.

İleri Düzey Özellikler

Best Practices

Yapılması Gerekenler ve En İyi Uygulamalar

Güvenlik En İyi Uygulamaları

Kaçınılması Gerekenler

Performans İpuçları

Sık Sorulan Sorular (SSS)