{"id":35960,"date":"2025-12-06T05:31:05","date_gmt":"2025-12-06T02:31:05","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/"},"modified":"2025-12-06T05:31:05","modified_gmt":"2025-12-06T02:31:05","slug":"nginx-ingress-ile-karsilasilan-zorluklar-nelerdir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/","title":{"rendered":"NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?"},"content":{"rendered":"<p><span style=\"font-size: 1.5em; font-weight: bold;\">NGINX Ingress&#8217;ten Pomerium&#8217;a Ge\u00e7i\u015f: Geli\u015fmi\u015f Eri\u015fim Kontrol\u00fc ve S\u0131f\u0131r G\u00fcven Mimarisi<\/span><\/p>\n<p>Modern bulut yerel uygulamalar ve mikroservis mimarileri, g\u00fcvenlik ve eri\u015fim kontrol\u00fc konusunda geleneksel yakla\u015f\u0131mlar\u0131n \u00f6tesine ge\u00e7en \u00e7\u00f6z\u00fcmler gerektirmektedir. \u00d6zellikle Kubernetes ortamlar\u0131nda, NGINX Ingress Controller uzun y\u0131llard\u0131r d\u0131\u015f d\u00fcnyaya a\u00e7\u0131lan kap\u0131 olarak hizmet vermi\u015ftir. Ancak artan siber tehditler ve &#8220;S\u0131f\u0131r G\u00fcven&#8221; (Zero Trust) g\u00fcvenlik prensiplerinin y\u00fckseli\u015fiyle birlikte, sadece trafik y\u00f6nlendirmek ve SSL sonland\u0131rmak yeterli olmamaktad\u0131r. Peki, NGINX Ingress&#8217;in sundu\u011fu kolayl\u0131klar\u0131 korurken, uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini kimlik do\u011frulama ve yetkilendirme yetenekleriyle bir ad\u0131m \u00f6teye ta\u015f\u0131yabilir misiniz? Bu makalede, NGINX Ingress&#8217;ten Pomerium Ingress Controller&#8217;a ge\u00e7i\u015fin nedenlerini, ad\u0131mlar\u0131n\u0131 ve ileri d\u00fczey kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<p>Kubernetes ekosisteminde Ingress, d\u0131\u015f d\u00fcnyadan gelen HTTP\/S trafi\u011fini k\u00fcme i\u00e7indeki servislere y\u00f6nlendiren \u00f6nemli bir bile\u015fendir. NGINX Ingress Controller ise bu rol\u00fc \u00fcstlenen en pop\u00fcler ve yayg\u0131n olarak kullan\u0131lan \u00e7\u00f6z\u00fcmlerden biridir. Esnek yap\u0131land\u0131rma se\u00e7enekleri, performansl\u0131 \u00e7al\u0131\u015fma ve geni\u015f topluluk deste\u011fi sayesinde bir\u00e7ok organizasyon i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir. Ancak g\u00fcn\u00fcm\u00fcz\u00fcn karma\u015f\u0131k ve dinamik siber g\u00fcvenlik ortam\u0131nda, NGINX Ingress&#8217;in temel yetenekleri baz\u0131 \u00f6nemli s\u0131n\u0131rlamalar\u0131 beraberinde getirmektedir.<\/p>\n<p>\u00d6ncelikle, NGINX Ingress Controller&#8217;\u0131n ana oda\u011f\u0131 katman 7 (HTTP\/S) trafi\u011fini y\u00f6netmek, URL tabanl\u0131 y\u00f6nlendirme yapmak ve SSL\/TLS sonland\u0131rmakt\u0131r. Temel kimlik do\u011frulama (basic auth) gibi s\u0131n\u0131rl\u0131 se\u00e7enekler sunsa da, modern kurumsal kimlik sa\u011flay\u0131c\u0131larla (Identity Providers &#8211; IdP) derinlemesine entegrasyon veya ba\u011flama duyarl\u0131 (context-aware) yetkilendirme politikalar\u0131 uygulama yetene\u011fi yoktur. Bu, genellikle ba\u015fka ara\u00e7larla (\u00f6rne\u011fin, bir OAuth2 proxy veya API Gateway) ek g\u00fcvenlik katmanlar\u0131 olu\u015fturmay\u0131 gerektirir. Bu durum, mimariyi karma\u015f\u0131kla\u015ft\u0131rabilir ve y\u00f6netim y\u00fck\u00fcn\u00fc art\u0131rabilir.<\/p>\n<p>Geleneksel \u00e7evre g\u00fcvenli\u011fi (perimeter security) yakla\u015f\u0131mlar\u0131n\u0131n, yani her \u015feyin g\u00fcvenlik duvar\u0131n\u0131n i\u00e7inde g\u00fcvenli oldu\u011funu varsayan modelin yetersiz kalmas\u0131, &#8220;S\u0131f\u0131r G\u00fcven&#8221; felsefesini \u00f6n plana \u00e7\u0131karm\u0131\u015ft\u0131r. S\u0131f\u0131r G\u00fcven, a\u011f\u0131n i\u00e7inde veya d\u0131\u015f\u0131nda olmas\u0131ndan ba\u011f\u0131ms\u0131z olarak hi\u00e7bir kullan\u0131c\u0131 veya cihaz\u0131n varsay\u0131lan olarak g\u00fcvenilmemesi gerekti\u011fini savunur. Her eri\u015fim iste\u011fi, ba\u011flam\u0131na g\u00f6re (kullan\u0131c\u0131 kimli\u011fi, cihaz durumu, a\u011f konumu vb.) do\u011frulanmal\u0131 ve yetkilendirilmelidir. NGINX Ingress, bu felsefeyi do\u011fal olarak desteklememektedir. Uygulama katman\u0131nda detayl\u0131 yetkilendirme ve kimlik do\u011frulama i\u015flemleri i\u00e7in ek bile\u015fenlere ihtiya\u00e7 duymas\u0131, S\u0131f\u0131r G\u00fcven mimarisiyle tam uyumu zorla\u015ft\u0131rmaktad\u0131r. Mikroservislerin ve da\u011f\u0131t\u0131k sistemlerin yayg\u0131nla\u015fmas\u0131yla birlikte, her servis eri\u015fiminin ayr\u0131 ayr\u0131 g\u00fcvenli\u011finin sa\u011flanmas\u0131 kritik hale gelmi\u015ftir ve bu durum NGINX Ingress&#8217;in tek ba\u015f\u0131na \u00fcstesinden gelebilece\u011fi bir g\u00f6rev de\u011fildir.<\/p>\n<p>Bu eksiklikler, \u00f6zellikle hassas verilerin i\u015flendi\u011fi veya y\u00fcksek g\u00fcvenlik gerektiren uygulamalar\u0131n bulundu\u011fu ortamlarda ciddi riskler olu\u015fturabilir. Uygulamalar\u0131n kimlik do\u011frulama mekanizmalar\u0131n\u0131 kendi i\u00e7lerinde y\u00f6netmesi veya her birinin farkl\u0131 bir IdP ile entegre olmas\u0131, tutars\u0131z g\u00fcvenlik politikalar\u0131na ve operasyonel karma\u015f\u0131kl\u0131\u011fa yol a\u00e7abilir. Bu noktada, Pomerium gibi S\u0131f\u0131r G\u00fcven odakl\u0131 bir eri\u015fim proxy&#8217;sine ge\u00e7i\u015f yapmak, hem g\u00fcvenlik duru\u015funuzu g\u00fc\u00e7lendirmenin hem de y\u00f6netim y\u00fck\u00fcn\u00fc azaltman\u0131n etkili bir yolunu sunar. Pomerium, kullan\u0131c\u0131lar\u0131n kimliklerini do\u011frulama, ba\u011flama duyarl\u0131 politikalarla yetkilendirme ve t\u00fcm bu i\u015flemleri merkezi bir noktadan y\u00f6netme yetene\u011fi ile modern g\u00fcvenlik ihtiya\u00e7lar\u0131na kapsaml\u0131 bir yan\u0131t verir.<\/p>\n<h2>Temel Kavramlar: Ingress NGINX ve Pomerium Ne Anlama Geliyor?<\/h2>\n<p>Her iki \u00e7\u00f6z\u00fcm de Kubernetes k\u00fcmesindeki servislere d\u0131\u015far\u0131dan eri\u015fim sa\u011flamak i\u00e7in kullan\u0131lsa da, temel yakla\u015f\u0131mlar\u0131 ve sunduklar\u0131 yetenekler a\u00e7\u0131s\u0131ndan \u00f6nemli farkl\u0131l\u0131klar bar\u0131nd\u0131r\u0131rlar. Bu b\u00f6l\u00fcmde, NGINX Ingress&#8217;in ne oldu\u011funu ve nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 hat\u0131rlayacak, ard\u0131ndan Pomerium&#8217;u detayl\u0131ca inceleyerek farklar\u0131n\u0131 ortaya koyaca\u011f\u0131z.<\/p>\n<h3>Ingress NGINX Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p>Kubernetes&#8217;te Ingress, k\u00fcme i\u00e7indeki servislere d\u0131\u015f d\u00fcnyadan gelen HTTP ve HTTPS trafi\u011fini y\u00f6netmek i\u00e7in kullan\u0131lan bir API nesnesidir. Bir Ingress Controller ise bu Ingress kurallar\u0131n\u0131 uygulayan bir yaz\u0131l\u0131md\u0131r. NGINX Ingress Controller, Kubernetes Ingress nesnesini izleyerek gelen trafi\u011fi yap\u0131land\u0131r\u0131lm\u0131\u015f kurallara g\u00f6re uygun servislere y\u00f6nlendiren, pop\u00fcler bir a\u00e7\u0131k kaynakl\u0131 Ingress Controller&#8217;d\u0131r. Genellikle bir Kubernetes Service (LoadBalancer veya NodePort) arkas\u0131nda \u00e7al\u0131\u015f\u0131r ve \u015funlar\u0131 sa\u011flar:<\/p>\n<ul>\n<li><strong>URL Y\u00f6nlendirme (Routing):<\/strong> Gelen istekleri URL yollar\u0131na veya ana bilgisayar adlar\u0131na g\u00f6re farkl\u0131 servislere y\u00f6nlendirir. \u00d6rne\u011fin, <code>example.com\/api<\/code> adresini <code>api-service<\/code>&#8216;e, <code>example.com\/app<\/code> adresini <code>app-service<\/code>&#8216;e y\u00f6nlendirebilir.<\/li>\n<li><strong>SSL\/TLS Sonland\u0131rma:<\/strong> D\u0131\u015far\u0131dan gelen \u015fifreli (HTTPS) trafi\u011fi sonland\u0131r\u0131r ve \u015fifrelenmemi\u015f (HTTP) trafi\u011fi k\u00fcme i\u00e7indeki servislere iletir. Bu, sertifika y\u00f6netimini merkezi bir noktadan yapmay\u0131 sa\u011flar.<\/li>\n<li><strong>Y\u00fck Dengeleme:<\/strong> Gelen trafi\u011fi birden fazla pod aras\u0131nda da\u011f\u0131tarak servislerin y\u00fcksek eri\u015filebilirli\u011fini ve performans\u0131n\u0131 art\u0131r\u0131r.<\/li>\n<li><strong>Sanal Ana Bilgisayar (Virtual Host) Deste\u011fi:<\/strong> Ayn\u0131 IP adresi \u00fczerinden farkl\u0131 alan adlar\u0131 i\u00e7in trafik y\u00f6netimi yap\u0131lmas\u0131na olanak tan\u0131r.<\/li>\n<\/ul>\n<p>NGINX Ingress, esasen bir katman 7 (uygulama katman\u0131) ters proxy g\u00f6revi g\u00f6r\u00fcr. G\u00fcvenlik a\u00e7\u0131s\u0131ndan ise, temel seviyede baz\u0131 \u00f6zellikler sunar (\u00f6rne\u011fin, IP adresi k\u0131s\u0131tlamalar\u0131 veya basic auth), ancak modern kimlik do\u011frulama protokolleri (OAuth2, OIDC, SAML) ve ba\u011flama duyarl\u0131 yetkilendirme i\u00e7in ek \u00e7\u00f6z\u00fcmlerle entegrasyon gerektirir. Bu durum, \u00f6zellikle mikroservis tabanl\u0131 ve kullan\u0131c\u0131 kimli\u011fi gerektiren uygulamalarda karma\u015f\u0131kl\u0131\u011fa yol a\u00e7abilir.<\/p>\n<h3>Pomerium Nedir ve Neden Farkl\u0131d\u0131r?<\/h3>\n<p>Pomerium, &#8220;S\u0131f\u0131r G\u00fcven&#8221; (Zero Trust) mimarisini temel alan, kimlik ve ba\u011flama duyarl\u0131 bir eri\u015fim proxy&#8217;sidir. Geleneksel Ingress Controller&#8217;lardan farkl\u0131 olarak, sadece trafi\u011fi y\u00f6nlendirmekle kalmaz, ayn\u0131 zamanda her eri\u015fim iste\u011fi i\u00e7in kapsaml\u0131 kimlik do\u011frulama (authentication) ve yetkilendirme (authorization) yapar. Pomerium, Kubernetes Ingress Controller&#8217;\u0131 olarak da g\u00f6rev yapabilir, ancak esas g\u00fcc\u00fc eri\u015fim y\u00f6netimindeki yeteneklerinde yatar. Temel bile\u015fenleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Proxy:<\/strong> Gelen kullan\u0131c\u0131 isteklerini al\u0131r, kimlik do\u011frulama ve yetkilendirme s\u00fcre\u00e7lerinden ge\u00e7irir ve onaylanan istekleri dahili servislere iletir.<\/li>\n<li><strong>Authenticator:<\/strong> Kimlik sa\u011flay\u0131c\u0131n\u0131zla (Google Workspace, Azure AD, Okta, Auth0 vb.) etkile\u015fime girerek kullan\u0131c\u0131 kimli\u011fini do\u011frular. OAuth2 ve OIDC gibi standart protokolleri destekler.<\/li>\n<li><strong>Authorizer:<\/strong> Kullan\u0131c\u0131n\u0131n do\u011frulanan kimli\u011fine, cihaz durumuna, a\u011f konumuna ve di\u011fer ba\u011flamsal fakt\u00f6rlere dayanarak eri\u015fim politikalar\u0131n\u0131 de\u011ferlendirir ve eri\u015fime izin verilip verilmeyece\u011fine karar verir.<\/li>\n<li><strong>Controller:<\/strong> Kubernetes i\u00e7inde Pomerium Route ve Policy objelerini izler ve Pomerium&#8217;un di\u011fer bile\u015fenlerini dinamik olarak yap\u0131land\u0131r\u0131r.<\/li>\n<\/ul>\n<p>Pomerium, kimlik do\u011frulama ve yetkilendirmeyi a\u011f\u0131n kenar\u0131na ta\u015f\u0131yarak, uygulamalar\u0131n kendi i\u00e7lerinde bu y\u00fck\u00fc ta\u015f\u0131ma ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r. Bu, geli\u015ftiricilerin g\u00fcvenlik mekanizmalar\u0131 yerine i\u015f mant\u0131\u011f\u0131na odaklanmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, her eri\u015fim iste\u011finin ayr\u0131 ayr\u0131 do\u011frulanmas\u0131 ve yetkilendirilmesi, i\u00e7eriden gelebilecek tehditlere kar\u015f\u0131 da koruma sa\u011flar. Pomerium&#8217;un esnek politika motoru sayesinde, karma\u015f\u0131k eri\u015fim kurallar\u0131 tan\u0131mlanabilir; \u00f6rne\u011fin, sadece belirli bir IP aral\u0131\u011f\u0131ndan, belirli bir g\u00fcvenlik grubunun \u00fcyelerinin ve belirli bir co\u011frafi konumdan gelen kullan\u0131c\u0131lar\u0131n bir uygulamaya eri\u015fmesine izin verilebilir. Bu \u00f6zellikleriyle Pomerium, sadece bir Ingress Controller olman\u0131n \u00f6tesinde, modern uygulamalar i\u00e7in kapsaml\u0131 bir S\u0131f\u0131r G\u00fcven eri\u015fim y\u00f6netim platformu sunar.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Pomerium, her eri\u015fim iste\u011fini do\u011frulad\u0131\u011f\u0131 i\u00e7in, geleneksel VPN&#8217;lerin yerine ge\u00e7erek dahili uygulamalara g\u00fcvenli uzaktan eri\u015fim sa\u011flamak i\u00e7in de kullan\u0131labilir. Bu, &#8220;perimetreyi yok etme&#8221; ilkesini do\u011frudan destekler.\n<\/div>\n<h2>Neden NGINX Ingress&#8217;ten Pomerium&#8217;a Ge\u00e7i\u015f Yapmal\u0131y\u0131z?<\/h2>\n<p>NGINX Ingress, Kubernetes ortamlar\u0131nda trafik y\u00f6nlendirme ve SSL sonland\u0131rma gibi temel Ingress ihtiya\u00e7lar\u0131n\u0131 ba\u015far\u0131yla kar\u015f\u0131lasa da, modern g\u00fcvenlik talepleri ve &#8220;S\u0131f\u0131r G\u00fcven&#8221; mimarisi yakla\u015f\u0131mlar\u0131, daha geli\u015fmi\u015f \u00e7\u00f6z\u00fcmleri zorunlu k\u0131lmaktad\u0131r. Pomerium&#8217;a ge\u00e7i\u015f yapmak, organizasyonlara sadece g\u00fcvenlik a\u00e7\u0131s\u0131ndan de\u011fil, ayn\u0131 zamanda operasyonel verimlilik ve y\u00f6netim kolayl\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan da \u00f6nemli avantajlar sunar.<\/p>\n<p><strong>1. S\u0131f\u0131r G\u00fcven (Zero Trust) Mimarisine Uyum:<\/strong> Geleneksel g\u00fcvenlik modelleri, a\u011f s\u0131n\u0131rlar\u0131 i\u00e7indeki her \u015feyi varsay\u0131lan olarak g\u00fcvenli kabul ederken, S\u0131f\u0131r G\u00fcven &#8220;asla g\u00fcvenme, her zaman do\u011frula&#8221; prensibine dayan\u0131r. Pomerium, her eri\u015fim iste\u011fi i\u00e7in kullan\u0131c\u0131 kimli\u011fini, cihaz durumunu, a\u011f konumunu ve di\u011fer ba\u011flamsal fakt\u00f6rleri kullanarak s\u00fcrekli do\u011frulama ve yetkilendirme yapar. Bu, i\u00e7eriden veya d\u0131\u015far\u0131dan gelebilecek tehditlere kar\u015f\u0131 \u00e7ok daha g\u00fc\u00e7l\u00fc bir savunma mekanizmas\u0131 sunar. NGINX Ingress tek ba\u015f\u0131na bu seviyede bir S\u0131f\u0131r G\u00fcven uygulamas\u0131 sa\u011flayamazken, Pomerium bunu temel i\u015flevselli\u011fi olarak sunar.<\/p>\n<p><strong>2. Merkezi Kimlik Do\u011frulama ve Yetkilendirme:<\/strong> Farkl\u0131 uygulamalar\u0131n kendi kimlik do\u011frulama mekanizmalar\u0131n\u0131 veya farkl\u0131 IdP&#8217;leri kullanmas\u0131, hem geli\u015ftiriciler i\u00e7in ek y\u00fck olu\u015fturur hem de g\u00fcvenlik politikalar\u0131n\u0131n tutarl\u0131l\u0131\u011f\u0131n\u0131 zorla\u015ft\u0131r\u0131r. Pomerium, Google Workspace, Azure AD, Okta, Auth0 ve di\u011fer OIDC\/SAML uyumlu kimlik sa\u011flay\u0131c\u0131larla tek bir noktadan entegrasyon sa\u011flar. Bu sayede, t\u00fcm uygulamalar\u0131n\u0131z i\u00e7in merkezi bir kimlik do\u011frulama ve yetkilendirme katman\u0131 olu\u015fturabilir, kullan\u0131c\u0131lar\u0131n tek oturum a\u00e7ma (Single Sign-On &#8211; SSO) deneyimi ya\u015famas\u0131n\u0131 sa\u011flayabilirsiniz. Bu, y\u00f6netim karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r ve g\u00fcvenlik denetimini kolayla\u015ft\u0131r\u0131r.<\/p>\n<p><strong>3. Geli\u015fmi\u015f Eri\u015fim Kontrol Politikalar\u0131 (Context-Aware Access):<\/strong> Pomerium&#8217;un en g\u00fc\u00e7l\u00fc y\u00f6nlerinden biri, son derece esnek ve ba\u011flama duyarl\u0131 eri\u015fim politikalar\u0131 tan\u0131mlayabilmesidir. Yaln\u0131zca kullan\u0131c\u0131 kimli\u011fine de\u011fil, ayn\u0131 zamanda a\u015fa\u011f\u0131daki gibi fakt\u00f6rlere dayal\u0131 politikalar olu\u015fturabilirsiniz:<\/p>\n<ul>\n<li><strong>Grup \u00dcyeli\u011fi:<\/strong> Yaln\u0131zca belirli bir LDAP veya IdP grubuna ait kullan\u0131c\u0131lar\u0131n eri\u015fimine izin verme.<\/li>\n<li><strong>IP Adresi K\u0131s\u0131tlamalar\u0131:<\/strong> Yaln\u0131zca belirli bir IP aral\u0131\u011f\u0131ndan gelen istekleri kabul etme.<\/li>\n<li><strong>Cihaz Durumu:<\/strong> Kurumsal envanterdeki y\u00f6netilen cihazlardan veya belirli g\u00fcvenlik gereksinimlerini kar\u015f\u0131layan cihazlardan gelen eri\u015fime \u00f6ncelik verme.<\/li>\n<li><strong>Co\u011frafi Konum:<\/strong> Yaln\u0131zca belirli bir co\u011frafi b\u00f6lgeden gelen eri\u015fime izin verme veya engelleme.<\/li>\n<li><strong>Zaman K\u0131s\u0131tlamalar\u0131:<\/strong> Uygulamalara yaln\u0131zca belirli \u00e7al\u0131\u015fma saatleri i\u00e7inde eri\u015filmesini sa\u011flama.<\/li>\n<\/ul>\n<p>Bu yetenekler, NGINX Ingress&#8217;in sundu\u011fu temel y\u00f6nlendirme ve TLS i\u015flevselli\u011finin \u00e7ok \u00f6tesindedir ve uygulaman\u0131z\u0131n hassasiyetine g\u00f6re ince taneli eri\u015fim kontrol\u00fc sa\u011flaman\u0131za olanak tan\u0131r.<\/p>\n<p><strong>4. Mikroservis G\u00fcvenli\u011fi ve API G\u00fcvenli\u011fi:<\/strong> Mikroservis mimarilerinde her servis ba\u011f\u0131ms\u0131z bir \u015fekilde da\u011f\u0131t\u0131l\u0131r ve genellikle di\u011fer servislerle API&#8217;ler arac\u0131l\u0131\u011f\u0131yla ileti\u015fim kurar. Pomerium, bu dahili veya harici API \u00e7a\u011fr\u0131lar\u0131 i\u00e7in de yetkilendirme katman\u0131 sa\u011flayabilir. Her API iste\u011finin kimlik do\u011frulamas\u0131n\u0131 ve yetkilendirmesini yaparak, servisler aras\u0131 ileti\u015fimin g\u00fcvenli\u011fini art\u0131r\u0131r. Bu, \u00f6zellikle hassas verileri i\u015fleyen veya i\u015f kritik operasyonlar\u0131 ger\u00e7ekle\u015ftiren API&#8217;ler i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<p><strong>5. Operasyonel Basitle\u015ftirme ve Geli\u015fmi\u015f G\u00fcvenlik Duru\u015fu:<\/strong> Pomerium&#8217;a ge\u00e7i\u015f, g\u00fcvenlik politikalar\u0131n\u0131 merkezi bir noktadan y\u00f6neterek operasyonel y\u00fck\u00fc azalt\u0131r. Geli\u015ftiricilerin her uygulamada kimlik do\u011frulama ve yetkilendirme kodu yazma ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r. Bu sayede, g\u00fcvenlik politikalar\u0131n\u0131n tutarl\u0131l\u0131\u011f\u0131 sa\u011flan\u0131rken, yeni uygulamalar\u0131n devreye al\u0131nmas\u0131 da h\u0131zlan\u0131r. Kurumsal bir \u015firket d\u00fc\u015f\u00fcn\u00fcn; farkl\u0131 departmanlar\u0131n farkl\u0131 uygulamalar\u0131 var ve her birine d\u0131\u015far\u0131dan g\u00fcvenli eri\u015fim gerekiyor. NGINX Ingress ile her uygulama i\u00e7in ayr\u0131 bir kimlik do\u011frulama \u00e7\u00f6z\u00fcm\u00fc veya karma\u015f\u0131k a\u011f yap\u0131land\u0131rmalar\u0131 gerekebilir. Pomerium ile t\u00fcm bu uygulamalar tek bir merkezi eri\u015fim kontrol katman\u0131n\u0131n arkas\u0131na al\u0131nabilir, IdP entegrasyonu tek yerden yap\u0131l\u0131r ve her uygulama i\u00e7in \u00f6zelle\u015ftirilmi\u015f eri\u015fim politikalar\u0131 kolayca tan\u0131mlanabilir. Bu, hem IT ekibinin y\u00fck\u00fcn\u00fc azalt\u0131r hem de genel g\u00fcvenlik duru\u015funu \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirir.<\/p>\n<p>\u00d6zetle, NGINX Ingress hala bir\u00e7ok senaryo i\u00e7in uygun bir \u00e7\u00f6z\u00fcm olsa da, \u00f6zellikle modern bulut yerel ortamlar\u0131n ve S\u0131f\u0131r G\u00fcven prensiplerinin gerektirdi\u011fi geli\u015fmi\u015f kimlik do\u011frulama, yetkilendirme ve ba\u011flama duyarl\u0131 eri\u015fim kontrol\u00fc yetenekleri i\u00e7in Pomerium \u00e7ok daha kapsaml\u0131 ve g\u00fc\u00e7l\u00fc bir alternatif sunar. Bu ge\u00e7i\u015f, uzun vadede daha g\u00fcvenli, y\u00f6netilebilir ve esnek bir altyap\u0131 olu\u015fturman\u0131za olanak tan\u0131r.<\/p>\n<h2>Pomerium Kurulumu ve Temel Konfig\u00fcrasyon Ad\u0131mlar\u0131 Nelerdir?<\/h2>\n<p>Pomerium&#8217;u Kubernetes k\u00fcmenize kurmak ve temel bir kimlik sa\u011flay\u0131c\u0131 (IdP) ile entegre etmek, birka\u00e7 ad\u0131mda ger\u00e7ekle\u015ftirilebilir. Bu b\u00f6l\u00fcmde, Helm kullanarak Pomerium&#8217;un nas\u0131l kurulaca\u011f\u0131n\u0131 ve bir IdP ile nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ele alaca\u011f\u0131z. Ba\u015flamadan \u00f6nce, baz\u0131 \u00f6nko\u015fullar\u0131n yerine getirilmi\u015f olmas\u0131 gerekmektedir:<\/p>\n<ul>\n<li>\u00c7al\u0131\u015f\u0131r durumda bir Kubernetes k\u00fcmesi (versiyon 1.16 veya \u00fczeri).<\/li>\n<li>K\u00fcmenize trafik y\u00f6nlendirmek i\u00e7in bir DNS kayd\u0131 (\u00f6rn: <code>app.example.com<\/code> ve <code>auth.example.com<\/code>).<\/li>\n<li>Pomerium&#8217;un kullanaca\u011f\u0131 bir TLS sertifikas\u0131 (Let&#8217;s Encrypt ile otomatik veya mevcut bir sertifika).<\/li>\n<li>Se\u00e7ti\u011finiz bir Kimlik Sa\u011flay\u0131c\u0131 (Google Workspace, Azure AD, Okta vb.) ve bu IdP \u00fczerinde Pomerium i\u00e7in bir OAuth2\/OIDC uygulama kayd\u0131 olu\u015fturulmu\u015f olmas\u0131. Bu kay\u0131ttan <code>client_id<\/code> ve <code>client_secret<\/code> bilgileri al\u0131nacakt\u0131r.<\/li>\n<\/ul>\n<h3>1. Helm ile Pomerium Repositories&#8217;i Ekleme<\/h3>\n<p>Pomerium, Helm grafikleri arac\u0131l\u0131\u011f\u0131yla kolayca da\u011f\u0131t\u0131labilir. \u0130lk olarak, Pomerium Helm deposunu yerel Helm kurulumunuza ekleyin:<\/p>\n<pre><code class=\"language-bash\">\nhelm repo add pomerium https:\/\/helm.pomerium.com\nhelm repo update\n<\/pre>\n<p><\/code><\/p>\n<h3>2. Kimlik Sa\u011flay\u0131c\u0131 (IdP) Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Kuruluma ge\u00e7meden \u00f6nce, IdP'nizde Pomerium i\u00e7in bir uygulama (client) kayd\u0131 olu\u015fturman\u0131z gerekmektedir. \u00d6rnek olarak Google Workspace (Google Identity Platform) kullanal\u0131m:<\/p>\n<ol>\n<li>Google Cloud Console'a gidin.<\/li>\n<li>\"APIs & Services\" -> \"Credentials\" yolunu izleyin.<\/li>\n<li>\"Create Credentials\" -> \"OAuth client ID\" se\u00e7ene\u011fini t\u0131klay\u0131n.<\/li>\n<li>Uygulama t\u00fcr\u00fc olarak \"Web application\" se\u00e7in.<\/li>\n<li>\"Authorized redirect URIs\" alan\u0131na Pomerium Authenticator'\u0131n\u0131z\u0131n geri d\u00f6n\u00fc\u015f adresini ekleyin. Bu genellikle <code>https:\/\/auth.example.com\/oauth2\/callback<\/code> format\u0131nda olacakt\u0131r (buradaki <code>auth.example.com<\/code> kendi alan ad\u0131n\u0131zla de\u011fi\u015ftirilmelidir).<\/li>\n<li>Olu\u015fturulan client'\u0131n <code>client ID<\/code> ve <code>client secret<\/code> de\u011ferlerini kaydedin. Bunlar Pomerium yap\u0131land\u0131rmas\u0131nda kullan\u0131lacakt\u0131r.<\/li>\n<\/ol>\n<h3>3. Pomerium Temel Yap\u0131land\u0131rma Dosyas\u0131 Olu\u015fturma (<code>values.yaml<\/code>)<\/h3>\n<p>Pomerium'u Helm ile kurarken, varsay\u0131lan yap\u0131land\u0131rmalar\u0131 de\u011fi\u015ftirmek i\u00e7in bir <code>values.yaml<\/code> dosyas\u0131 olu\u015fturman\u0131z gerekecektir. Bu dosya, IdP bilgilerini, anahtar ve alan adlar\u0131n\u0131 i\u00e7erecektir. A\u015fa\u011f\u0131daki \u00f6rnek, temel bir Google IdP entegrasyonu i\u00e7in <code>values.yaml<\/code> dosyas\u0131n\u0131 g\u00f6stermektedir. Kendi de\u011ferlerinizle g\u00fcncellemeyi unutmay\u0131n.<\/p>\n<pre><code class=\"language-yaml\">\n# values.yaml\n# Pomerium anahtar kelimesi i\u00e7in bir s\u0131r olu\u015fturulacak. G\u00fcvenli bir anahtar kullan\u0131n.\n# openssl rand -base64 32 komutu ile olu\u015fturabilirsiniz.\nsharedSecret: \"buraya_g\u00fcvenli_bir_payla\u015f\u0131lan_anahtar_ekle\" \n# Pomerium Cookie \u015fifreleme anahtar\u0131. openssl rand -base64 32 komutu ile olu\u015fturabilirsiniz.\ncookieSecret: \"buraya_g\u00fcvenli_bir_\u00e7erez_\u015fifreleme_anahtar\u0131_ekle\"\n\n# Kubernetes Ingress yap\u0131land\u0131rmas\u0131\ningress:\n  enabled: true\n  annotations:\n    kubernetes.io\/ingress.class: \"nginx\" # E\u011fer NGINX Ingress kullan\u0131yorsan\u0131z\n  host: app.example.com # Uygulamalar\u0131n\u0131z\u0131n eri\u015filece\u011fi ana alan ad\u0131\n\nauthenticate:\n  url: https:\/\/auth.example.com # Authenticator servisinizin URL'i\n  idp:\n    provider: google\n    clientID: \"GOOGLE_CLIENT_ID_BURAYA\" # IdP'den ald\u0131\u011f\u0131n\u0131z Client ID\n    clientSecret: \"GOOGLE_CLIENT_SECRET_BURAYA\" # IdP'den ald\u0131\u011f\u0131n\u0131z Client Secret\n    # Google'a \u00f6zg\u00fc scopelar\n    scopes:\n      - \"openid\"\n      - \"profile\"\n      - \"email\"\n      - \"https:\/\/www.googleapis.com\/auth\/cloud-platform.read-only\" # \u00d6rnek: GCP eri\u015fimi\n\n# TLS sertifikas\u0131 y\u00f6netimi (Cert-manager ile otomatik)\ncertmanager:\n  enabled: true\n  issuerName: \"letsencrypt-prod\" # Cert-manager ile kulland\u0131\u011f\u0131n\u0131z Issuer ad\u0131\n  issuerKind: \"ClusterIssuer\"\n\n# Proxy ayarlar\u0131\nproxy:\n  env:\n    # Google IdP i\u00e7in ek ayar, e\u011fer kullan\u0131lm\u0131yorsa silinebilir\n    GOOGLE_SERVICE_ACCOUNT: |\n      {\n        \"type\": \"service_account\",\n        \"project_id\": \"your-gcp-project-id\",\n        ...\n        \"private_key\": \"-----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----\\n\"\n      }\n<\/pre>\n<p><\/code><\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: <code>sharedSecret<\/code> ve <code>cookieSecret<\/code> de\u011ferlerini kesinlikle g\u00fc\u00e7l\u00fc, rastgele olu\u015fturulmu\u015f karakter dizileriyle de\u011fi\u015ftirin. \u00dcretim ortamlar\u0131nda bu de\u011ferleri Kubernetes Secret olarak saklamak en g\u00fcvenli yakla\u015f\u0131md\u0131r.\n<\/div>\n<h3>4. Pomerium'u Helm ile Kurma<\/h3>\n<p><code>values.yaml<\/code> dosyan\u0131z\u0131 haz\u0131rlad\u0131ktan sonra, Pomerium'u Kubernetes k\u00fcmenize y\u00fckleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">\nhelm upgrade --install pomerium pomerium\/pomerium --namespace pomerium --create-namespace -f values.yaml\n<\/pre>\n<p><\/code><\/p>\n<p>Bu komut, <code>pomerium<\/code> ad\u0131nda bir namespace olu\u015fturacak ve t\u00fcm Pomerium bile\u015fenlerini bu namespace i\u00e7ine da\u011f\u0131tacakt\u0131r. Kurulum tamamland\u0131ktan sonra, <code>kubectl get pods -n pomerium<\/code> komutu ile pod'lar\u0131n durumunu kontrol edebilirsiniz. T\u00fcm pod'lar \"Running\" durumunda olmal\u0131d\u0131r.<\/p>\n<h3>5. DNS ve TLS Ayarlar\u0131<\/h3>\n<p>Pomerium'un do\u011fru \u00e7al\u0131\u015fabilmesi i\u00e7in DNS kay\u0131tlar\u0131n\u0131z\u0131n Pomerium Proxy ve Authenticator servislerini i\u015faret etmesi gerekmektedir. E\u011fer LoadBalancer tipinde bir servis kullan\u0131yorsan\u0131z, LoadBalancer'\u0131n d\u0131\u015f IP adresini DNS A kayd\u0131n\u0131zda belirtmelisiniz:<\/p>\n<ul>\n<li><code>app.example.com<\/code> -> LoadBalancer IP<\/li>\n<li><code>auth.example.com<\/code> -> LoadBalancer IP<\/li>\n<\/ul>\n<p>TLS sertifikas\u0131 i\u00e7in Cert-manager kullan\u0131yorsan\u0131z, yukar\u0131daki <code>values.yaml<\/code> dosyas\u0131nda yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131z <code>certmanager<\/code> ayarlar\u0131 sayesinde otomatik olarak sertifikalar\u0131n\u0131z olu\u015fturulacak ve y\u00f6netilecektir. E\u011fer manuel sertifika kullan\u0131yorsan\u0131z, bunlar\u0131 Kubernetes Secret olarak y\u00fckleyip Pomerium yap\u0131land\u0131rmas\u0131nda belirtmeniz gerekecektir.<\/p>\n<p>Bu ad\u0131mlarla, temel bir Pomerium kurulumunu tamamlam\u0131\u015f olursunuz. Art\u0131k Pomerium'un arkas\u0131na uygulamalar\u0131n\u0131z\u0131 ekleyebilir ve geli\u015fmi\u015f eri\u015fim politikalar\u0131n\u0131 uygulamaya ba\u015flayabilirsiniz. Bir sonraki b\u00f6l\u00fcmde, mevcut NGINX Ingress yap\u0131land\u0131rmalar\u0131ndan Pomerium'a nas\u0131l ge\u00e7i\u015f yapaca\u011f\u0131n\u0131z\u0131 inceleyece\u011fiz.<\/p>\n<h2>NGINX Ingress'ten Pomerium'a Uygulama Ge\u00e7i\u015fi Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>Mevcut uygulamalar\u0131n\u0131z\u0131 NGINX Ingress Controller'dan Pomerium'a ta\u015f\u0131mak, uygulaman\u0131z\u0131n d\u0131\u015f d\u00fcnyaya a\u00e7\u0131lan eri\u015fim noktas\u0131n\u0131 de\u011fi\u015ftirmek ve geli\u015fmi\u015f g\u00fcvenlik politikalar\u0131 eklemek anlam\u0131na gelir. Bu s\u00fcre\u00e7, genellikle mevcut NGINX Ingress yap\u0131land\u0131rmalar\u0131n\u0131 analiz ederek ba\u015flar ve Pomerium'un \u00f6zel kaynak tan\u0131mlamalar\u0131 (Custom Resource Definitions - CRD) olan <code>PomeriumRoute<\/code> ve <code>PomeriumPolicy<\/code> nesnelerini kullanarak tamamlan\u0131r.<\/p>\n<h3>1. Mevcut NGINX Ingress Yap\u0131land\u0131rmalar\u0131n\u0131 \u0130nceleme<\/h3>\n<p>Ge\u00e7i\u015fe ba\u015flamadan \u00f6nce, mevcut NGINX Ingress kaynaklar\u0131n\u0131z\u0131 anlamak kritik \u00f6neme sahiptir. Hangi alan adlar\u0131 kullan\u0131l\u0131yor, hangi URL yollar\u0131 hangi servislere y\u00f6nlendiriliyor, TLS sertifikalar\u0131 nas\u0131l y\u00f6netiliyor ve varsa temel kimlik do\u011frulama ayarlar\u0131 nelerdir? \u00d6rnek bir NGINX Ingress kayna\u011f\u0131 \u015fu \u015fekilde g\u00f6r\u00fcnebilir:<\/p>\n<pre><code class=\"language-yaml\">\napiVersion: networking.k8s.io\/v1\nkind: Ingress\nmetadata:\n  name: my-app-ingress\n  annotations:\n    kubernetes.io\/ingress.class: nginx\n    nginx.ingress.kubernetes.io\/rewrite-target: \/\n    nginx.ingress.kubernetes.io\/auth-url: \"http:\/\/auth-service.default.svc.cluster.local\/auth\" # Varsay\u0131lan NGINX auth\nspec:\n  rules:\n  - host: myapp.example.com\n    http:\n      paths:\n      - path: \/\n        pathType: Prefix\n        backend:\n          service:\n            name: my-app-service\n            port:\n              number: 80\n  tls:\n  - hosts:\n    - myapp.example.com\n    secretName: my-app-tls-secret\n<\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnekte, <code>myapp.example.com<\/code> adresine gelen t\u00fcm istekler <code>my-app-service<\/code>'e y\u00f6nlendiriliyor ve <code>my-app-tls-secret<\/code> ile TLS sonland\u0131rmas\u0131 yap\u0131l\u0131yor. Ayr\u0131ca, harici bir <code>auth-service<\/code> ile kimlik do\u011frulama denemesi oldu\u011fu varsay\u0131l\u0131yor. Pomerium'a ge\u00e7erken, bu bilgileri e\u015fle\u015ftirmemiz gerekecek.<\/p>\n<h3>2. Pomerium Rotas\u0131 (Route) Tan\u0131mlama<\/h3>\n<p>Pomerium, d\u0131\u015far\u0131dan gelen trafi\u011fi y\u00f6netmek i\u00e7in <code>PomeriumRoute<\/code> adl\u0131 \u00f6zel bir kaynak kullan\u0131r. Bu rota tan\u0131m\u0131, NGINX Ingress'in yapt\u0131\u011f\u0131 gibi trafi\u011fi bir servise y\u00f6nlendirmenin yan\u0131 s\u0131ra, eri\u015fim i\u00e7in hangi <code>PomeriumPolicy<\/code>'nin uygulanaca\u011f\u0131n\u0131 da belirtir. Bir <code>PomeriumRoute<\/code>'u tan\u0131mlarken a\u015fa\u011f\u0131daki temel alanlara dikkat etmeliyiz:<\/p>\n<ul>\n<li><code>from<\/code>: Bu rotan\u0131n dinleyece\u011fi d\u0131\u015far\u0131dan gelen URL (alan ad\u0131).<\/li>\n<li><code>to<\/code>: \u0130ste\u011fin y\u00f6nlendirilece\u011fi dahili servis URL'i (genellikle <code>http:\/\/[service-name].[namespace].svc.cluster.local<\/code> format\u0131nda).<\/li>\n<li><code>policy<\/code>: Bu rota i\u00e7in uygulanacak <code>PomeriumPolicy<\/code>'nin adlar\u0131. Birden fazla politika da atanabilir.<\/li>\n<\/ul>\n<p>\u015eimdi, yukar\u0131daki NGINX Ingress \u00f6rne\u011fimizdeki <code>myapp.example.com<\/code> uygulamas\u0131n\u0131 Pomerium'a ta\u015f\u0131yal\u0131m. \u00d6nce bir <code>PomeriumPolicy<\/code> olu\u015ftural\u0131m. Bu politika, kullan\u0131c\u0131lar\u0131n kimlik sa\u011flay\u0131c\u0131n\u0131zda (IdP) ge\u00e7erli bir oturum a\u00e7m\u0131\u015f olmas\u0131n\u0131 ve belirli bir e-posta alan ad\u0131na (\u00f6rn: <code>@example.com<\/code>) sahip olmas\u0131n\u0131 gerektirecektir:<\/p>\n<pre><code class=\"language-yaml\">\napiVersion: getpomerium.com\/v1\nkind: PomeriumPolicy\nmetadata:\n  name: my-app-access-policy\n  namespace: pomerium\nspec:\n  # Kullan\u0131c\u0131lar\u0131n IdP'de kimlik do\u011frulamas\u0131 yapmas\u0131 gerekiyor.\n  authenticate: true\n  # Sadece belirli bir e-posta alan ad\u0131na sahip kullan\u0131c\u0131lar eri\u015febilir.\n  allowedDomains:\n    - example.com\n  # Veya belirli bir e-posta adresine sahip kullan\u0131c\u0131lar\n  # allowedEmails:\n  #   - user@example.com\n  # Veya belirli bir IdP grubuna ait kullan\u0131c\u0131lar\n  # allowedGroups:\n  #   - admins@example.com\n  # Kayna\u011fa do\u011frudan eri\u015fim sa\u011flar (do\u011frulama sonras\u0131).\n  allowUnauthenticated: false\n<\/pre>\n<p><\/code><\/p>\n<p>Ard\u0131ndan, bu politikay\u0131 kullanan bir <code>PomeriumRoute<\/code> tan\u0131mlayal\u0131m:<\/p>\n<pre><code class=\"language-yaml\">\napiVersion: getpomerium.com\/v1\nkind: PomeriumRoute\nmetadata:\n  name: my-app-route\n  namespace: pomerium\nspec:\n  from: https:\/\/myapp.example.com # D\u0131\u015far\u0131dan eri\u015fim URL'i\n  to: http:\/\/my-app-service.default.svc.cluster.local # Dahili servis URL'i\n  policy: # Uygulanacak PomeriumPolicy'nin ad\u0131\n    - my-app-access-policy\n  # TLS sertifikas\u0131 y\u00f6netimi (Cert-manager ile otomatik)\n  tls:\n    generate: true # Otomatik olarak sertifika olu\u015ftur\n    issuer:\n      name: letsencrypt-prod\n      kind: ClusterIssuer\n  # E\u011fer path tabanl\u0131 y\u00f6nlendirme gerekiyorsa\n  # pathPrefix: \/\n  # prefixRewrite: \/ # NGINX rewrite-target'a kar\u015f\u0131l\u0131k gelir\n<\/pre>\n<p><\/code><\/p>\n<p>Bu <code>PomeriumRoute<\/code> ve <code>PomeriumPolicy<\/code> kaynaklar\u0131n\u0131 Kubernetes k\u00fcmenize uygulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">\nkubectl apply -f my-app-policy.yaml\nkubectl apply -f my-app-route.yaml\n<\/pre>\n<p><\/code><\/p>\n<p>Pomerium Controller, bu kaynaklar\u0131 alg\u0131layacak ve Pomerium Proxy'sini buna g\u00f6re yap\u0131land\u0131racakt\u0131r. Art\u0131k <code>myapp.example.com<\/code> adresine yap\u0131lan istekler \u00f6nce Pomerium taraf\u0131ndan yakalanacak, kullan\u0131c\u0131 kimli\u011fi do\u011frulanacak, <code>my-app-access-policy<\/code> politikas\u0131 uygulanacak ve eri\u015fime izin verilirse <code>my-app-service<\/code>'e y\u00f6nlendirilecektir. TLS sonland\u0131rmas\u0131 da <code>generate: true<\/code> sayesinde otomatik olarak Pomerium taraf\u0131ndan y\u00f6netilecektir.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Karma\u015f\u0131k NGINX rewrite kurallar\u0131n\u0131z varsa, Pomerium'un <code>prefixRewrite<\/code>, <code>regexRewrite<\/code> veya <code>setRequestHeaders<\/code> gibi \u00f6zelliklerini inceleyerek benzer i\u015flevsellikleri uygulayabilirsiniz.\n<\/div>\n<h3>3. Test ve Do\u011frulama Ad\u0131mlar\u0131<\/h3>\n<p>Ge\u00e7i\u015f yapt\u0131ktan sonra uygulaman\u0131n do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in kapsaml\u0131 testler yapman\u0131z \u00f6nemlidir:<\/p>\n<ol>\n<li><strong>DNS Do\u011frulamas\u0131:<\/strong> <code>myapp.example.com<\/code> adresinin Pomerium'un LoadBalancer IP adresine i\u015faret etti\u011finden emin olun.<\/li>\n<li><strong>Taray\u0131c\u0131 Eri\u015fimi:<\/strong> Bir taray\u0131c\u0131dan <code>https:\/\/myapp.example.com<\/code> adresine gidin. Pomerium sizi otomatik olarak IdP'nize y\u00f6nlendirmeli ve kimlik do\u011frulama ekran\u0131n\u0131 g\u00f6stermelidir.<\/li>\n<li><strong>Kimlik Do\u011frulama:<\/strong> IdP'niz ile oturum a\u00e7\u0131n. Ba\u015far\u0131l\u0131 bir oturum a\u00e7man\u0131n ard\u0131ndan, uygulaman\u0131za eri\u015febilmeniz gerekir.<\/li>\n<li><strong>Yetkilendirme Testi:<\/strong> Tan\u0131mlad\u0131\u011f\u0131n\u0131z politikalara (\u00f6rn: <code>allowedDomains<\/code>) uymayan bir kullan\u0131c\u0131yla oturum a\u00e7may\u0131 deneyin. Eri\u015fimin reddedilmesi ve Pomerium'un hata sayfas\u0131n\u0131 g\u00f6stermesi beklenir.<\/li>\n<li><strong>Log Kontrol\u00fc:<\/strong> Pomerium pod'lar\u0131n\u0131n loglar\u0131n\u0131 kontrol ederek (<code>kubectl logs -f -n pomerium pomerium-proxy-xxx<\/code> ve <code>pomerium-authenticate-xxx<\/code>) eri\u015fim isteklerinin nas\u0131l i\u015flendi\u011fini ve herhangi bir hata olup olmad\u0131\u011f\u0131n\u0131 g\u00f6zlemleyin.<\/li>\n<\/ol>\n<p>Bu ad\u0131mlar\u0131 takip ederek, NGINX Ingress \u00fczerindeki uygulamalar\u0131n\u0131z\u0131 Pomerium'a ba\u015far\u0131yla ta\u015f\u0131yabilir ve S\u0131f\u0131r G\u00fcven prensiplerine uygun geli\u015fmi\u015f eri\u015fim kontrol\u00fc sa\u011flayabilirsiniz. T\u00fcm uygulamalar\u0131n\u0131z\u0131 tek seferde ta\u015f\u0131mak yerine, k\u00fc\u00e7\u00fck bir pilot uygulama ile ba\u015flayarak s\u00fcreci anlamak ve olas\u0131 sorunlar\u0131 \u00e7\u00f6zmek iyi bir stratejidir.<\/p>\n<h2>\u0130leri D\u00fczey Kullan\u0131m Senaryolar\u0131 ve En \u0130yi Uygulamalar Nelerdir?<\/h2>\n<p>Pomerium, temel kimlik do\u011frulama ve yetkilendirme \u00f6zelliklerinin \u00f6tesinde, modern ve karma\u015f\u0131k bulut yerel ortamlar i\u00e7in tasarlanm\u0131\u015f bir dizi ileri d\u00fczey yetenek sunar. Bu b\u00f6l\u00fcmde, Pomerium'un potansiyelini tam olarak kullanman\u0131z\u0131 sa\u011flayacak baz\u0131 senaryolar\u0131 ve en iyi uygulamalar\u0131 ele alaca\u011f\u0131z.<\/p>\n<h3>1. Birden Fazla Kimlik Sa\u011flay\u0131c\u0131 (IdP) ile Entegrasyon<\/h3>\n<p>B\u00fcy\u00fck kurulu\u015flar veya birle\u015fme-sat\u0131n alma sonras\u0131 durumlar gibi senaryolarda, birden fazla kimlik sa\u011flay\u0131c\u0131ya sahip olmak yayg\u0131n bir durumdur. Pomerium, tek bir Pomerium da\u011f\u0131t\u0131m\u0131 alt\u0131nda birden fazla IdP ile entegre olabilir. Bu, farkl\u0131 kullan\u0131c\u0131 gruplar\u0131n\u0131n (\u00f6rne\u011fin, \u00e7al\u0131\u015fanlar Google Workspace kullan\u0131rken, d\u0131\u015f ortaklar Azure AD kullan\u0131yor olabilir) kendi tercih ettikleri IdP arac\u0131l\u0131\u011f\u0131yla uygulamalara eri\u015fmesini sa\u011flar. Pomerium yap\u0131land\u0131rmas\u0131nda, birden fazla <code>authenticate.idp<\/code> blo\u011fu tan\u0131mlayarak bu entegrasyonu ger\u00e7ekle\u015ftirebilirsiniz. Kullan\u0131c\u0131lar, eri\u015fmek istediklerinde hangi IdP ile oturum a\u00e7acaklar\u0131n\u0131 se\u00e7ebilirler.<\/p>\n<pre><code class=\"language-yaml\">\nauthenticate:\n  url: https:\/\/auth.example.com\n  idp:\n    - provider: google\n      id: google-idp\n      clientID: \"GOOGLE_CLIENT_ID\"\n      clientSecret: \"GOOGLE_CLIENT_SECRET\"\n      scopes: [\"openid\", \"profile\", \"email\"]\n    - provider: azure\n      id: azure-idp\n      clientID: \"AZURE_CLIENT_ID\"\n      clientSecret: \"AZURE_CLIENT_SECRET\"\n      tenantID: \"AZURE_TENANT_ID\"\n      scopes: [\"openid\", \"profile\", \"email\"]\n<\/pre>\n<p><\/code><\/p>\n<h3>2. Geli\u015fmi\u015f Eri\u015fim Politikalar\u0131 (Context-Aware Access)<\/h3>\n<p>Pomerium'un g\u00fcc\u00fc, basit grup \u00fcyeli\u011fi veya e-posta alan\u0131 kontrollerinin \u00f6tesine ge\u00e7en ba\u011flama duyarl\u0131 politikalar tan\u0131mlama yetene\u011fidir. A\u015fa\u011f\u0131daki gibi daha karma\u015f\u0131k senaryolar\u0131 destekleyebilirsiniz:<\/p>\n<ul>\n<li><strong>IP Bazl\u0131 K\u0131s\u0131tlamalar:<\/strong> Yaln\u0131zca belirli bir IP adresinden veya CIDR blo\u011fundan gelen isteklere izin verme. Bu, \u00f6zellikle i\u00e7 a\u011fdan eri\u015filmesi gereken uygulamalar i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<li><strong>Cihaz Durumu Do\u011frulamas\u0131:<\/strong> Pomerium, entegre edildi\u011fi mobil cihaz y\u00f6netimi (MDM) \u00e7\u00f6z\u00fcmleri veya cihaz sertifikalar\u0131 arac\u0131l\u0131\u011f\u0131yla cihaz\u0131n g\u00fcvenli olup olmad\u0131\u011f\u0131n\u0131 kontrol edebilir. \u00d6rne\u011fin, yaln\u0131zca MDM taraf\u0131ndan y\u00f6netilen, \u015fifrelenmi\u015f diske sahip cihazlar\u0131n belirli bir uygulamaya eri\u015fmesine izin verilebilir.<\/li>\n<li><strong>Zaman Bazl\u0131 Eri\u015fim:<\/strong> Bir uygulaman\u0131n yaln\u0131zca belirli mesai saatleri i\u00e7inde eri\u015filebilir olmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/li>\n<li><strong>Birden Fazla Politika Zincirleme:<\/strong> Bir <code>PomeriumRoute<\/code>'a birden fazla <code>PomeriumPolicy<\/code> atayarak, \"VE\" (AND) veya \"VEYA\" (OR) mant\u0131\u011f\u0131yla daha karma\u015f\u0131k kurallar olu\u015fturabilirsiniz. \u00d6rne\u011fin, \"<code>admin<\/code> grubunda OLAN VE \u015firket VPN'inden gelen\" kullan\u0131c\u0131lar\u0131n eri\u015fimine izin verme.<\/li>\n<\/ul>\n<pre><code class=\"language-yaml\">\napiVersion: getpomerium.com\/v1\nkind: PomeriumPolicy\nmetadata:\n  name: critical-app-policy\n  namespace: pomerium\nspec:\n  authenticate: true\n  allowedGroups: # Sadece admin grubundakiler\n    - \"admin-group@example.com\"\n  allowedIpRanges: # Sadece \u015firket VPN IP'lerinden\n    - \"192.168.1.0\/24\"\n  # allowedDeviceContext:\n  #   - \"managed-device-id\" # Cihaz y\u00f6netimi entegrasyonu ile\n<\/pre>\n<p><\/code><\/p>\n<h3>3. API A\u011f Ge\u00e7idi (API Gateway) Entegrasyonu<\/h3>\n<p>Pomerium, bir API Gateway'in \u00f6n\u00fcne yerle\u015ftirilerek veya API Gateway ile birlikte kullan\u0131larak API'leriniz i\u00e7in ek bir g\u00fcvenlik katman\u0131 sa\u011flayabilir. Pomerium, kullan\u0131c\u0131 ve servis kimlik do\u011frulamas\u0131 yaparken, API Gateway ise trafik y\u00f6netimini, istek\/yan\u0131t manip\u00fclasyonunu ve rate limiting gibi API \u00f6zelindeki i\u015flevleri yerine getirebilir. Bu kombinasyon, API'lerinize hem g\u00fc\u00e7l\u00fc bir S\u0131f\u0131r G\u00fcven eri\u015fim kontrol\u00fc hem de geli\u015fmi\u015f trafik y\u00f6netimi sa\u011flar.<\/p>\n<h3>4. Pomerium CLI ve Hata Ay\u0131klama<\/h3>\n<p>Pomerium CLI, yap\u0131land\u0131rma dosyalar\u0131n\u0131 do\u011frulamak, eri\u015fim politikalar\u0131n\u0131 test etmek ve genel Pomerium da\u011f\u0131t\u0131m\u0131n\u0131zla etkile\u015fim kurmak i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. \u00d6zellikle politika de\u011ferlendirmelerini yerel olarak test etmek, hatalar\u0131 erken a\u015famada yakalaman\u0131za yard\u0131mc\u0131 olur. Pomerium loglar\u0131 (proxy ve authenticate pod'lar\u0131ndan), eri\u015fim reddi nedenlerini veya kimlik do\u011frulama ak\u0131\u015f\u0131ndaki sorunlar\u0131 anlamak i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<pre><code class=\"language-bash\">\n# Pomerium CLI ile bir politikay\u0131 test etme (\u00f6rnek)\npomeriumctl policy test --email user@example.com --ip 192.168.1.10 critical-app-policy.yaml\n<\/pre>\n<p><\/code><\/p>\n<h3>Vaka Analizi: B\u00fcy\u00fck Bir E-ticaret Platformunun \u0130\u00e7 API'lerini G\u00fcvenli Hale Getirmesi<\/h3>\n<p>B\u00fcy\u00fck bir e-ticaret platformu, y\u00fczlerce mikroservis ve onlarca dahili API kullanmaktad\u0131r. Bu API'lerin bir k\u0131sm\u0131 hassas m\u00fc\u015fteri verilerine eri\u015firken, di\u011ferleri envanter y\u00f6netimi veya sipari\u015f i\u015fleme gibi kritik i\u015flevleri yerine getirmektedir. Geleneksel olarak, bu API'lere eri\u015fim VPN veya IP beyaz listeleri arac\u0131l\u0131\u011f\u0131yla sa\u011flanmaktayd\u0131. Ancak bu y\u00f6ntemler, uzaktan \u00e7al\u0131\u015fan say\u0131s\u0131n\u0131n artmas\u0131yla y\u00f6netim zorluklar\u0131 yaratm\u0131\u015f ve S\u0131f\u0131r G\u00fcven prensiplerine uymam\u0131\u015ft\u0131r.<\/p>\n<p>Platform, Pomerium'u i\u00e7 API'lerinin \u00f6n\u00fcne bir eri\u015fim proxy'si olarak da\u011f\u0131tm\u0131\u015ft\u0131r. Her API i\u00e7in ayr\u0131 bir <code>PomeriumRoute<\/code> tan\u0131mlanm\u0131\u015f ve kullan\u0131c\u0131 rollerine, departmanlar\u0131na ve hatta API'nin hassasiyetine g\u00f6re \u00f6zelle\u015ftirilmi\u015f <code>PomeriumPolicy<\/code>'ler olu\u015fturulmu\u015ftur. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>M\u00fc\u015fteri Destek API'leri: Yaln\u0131zca \"M\u00fc\u015fteri Destek\" IdP grubunun \u00fcyelerinin eri\u015fimine a\u00e7\u0131k ve sadece \u015firket a\u011f\u0131ndan veya onayl\u0131 cihazlardan.<\/li>\n<li>Finansal Raporlama API'leri: Yaln\u0131zca \"Finans\" IdP grubunun \u00fcyelerinin eri\u015fimine a\u00e7\u0131k, \u00e7ok fakt\u00f6rl\u00fc kimlik do\u011frulama gerektiren ve hafta i\u00e7i 09:00-17:00 saatleri aras\u0131nda eri\u015filebilen.<\/li>\n<li>Envanter G\u00fcncelleme API'leri: Hem bir kullan\u0131c\u0131n\u0131n kimli\u011fini do\u011frulayan hem de bir servis hesab\u0131n\u0131n API anahtar\u0131yla yetkilendirilmesini gerektiren hibrit politikalar.<\/li>\n<\/ul>\n<p>Bu ge\u00e7i\u015f sayesinde, e-ticaret platformu VPN ba\u011f\u0131ml\u0131l\u0131\u011f\u0131n\u0131 azaltm\u0131\u015f, API'lerin g\u00fcvenlik duru\u015funu \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendirmi\u015f ve merkezi bir eri\u015fim y\u00f6netim paneli arac\u0131l\u0131\u011f\u0131yla politikalar\u0131n\u0131 kolayca y\u00f6netebilir hale gelmi\u015ftir. Geli\u015ftiriciler, her API i\u00e7in kimlik do\u011frulama ve yetkilendirme kodu yazma y\u00fck\u00fcnden kurtularak i\u015f mant\u0131\u011f\u0131na odaklanabilmi\u015flerdir. Bu vaka analizi, Pomerium'un sadece basit bir Ingress Controller de\u011fil, ayn\u0131 zamanda kapsaml\u0131 bir S\u0131f\u0131r G\u00fcven eri\u015fim y\u00f6netim platformu olarak nas\u0131l konumland\u0131r\u0131labilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6stermektedir.<\/p>\n<h2>Pomerium ile G\u00fcvenli Gelece\u011fe Ad\u0131m At\u0131n: Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Bu makalede, Kubernetes ortamlar\u0131nda NGINX Ingress Controller'dan Pomerium'a ge\u00e7i\u015fin nedenlerini, kurulum ad\u0131mlar\u0131n\u0131 ve ileri d\u00fczey kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131ca ele ald\u0131k. G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, NGINX Ingress temel trafik y\u00f6nlendirme ve SSL sonland\u0131rma g\u00f6revleri i\u00e7in hala g\u00fc\u00e7l\u00fc bir ara\u00e7 olsa da, modern g\u00fcvenlik tehditleri ve S\u0131f\u0131r G\u00fcven mimarisi prensipleri, Pomerium gibi geli\u015fmi\u015f bir eri\u015fim kontrol \u00e7\u00f6z\u00fcm\u00fcn\u00fc zorunlu k\u0131lmaktad\u0131r.<\/p>\n<p>Pomerium'a ge\u00e7i\u015f yaparak, uygulamalar\u0131n\u0131z i\u00e7in merkezi bir kimlik do\u011frulama ve ba\u011flama duyarl\u0131 yetkilendirme katman\u0131 olu\u015fturursunuz. Bu sayede, geli\u015ftiricilerin g\u00fcvenlik mekanizmalar\u0131n\u0131 kendi i\u00e7lerinde y\u00f6netme y\u00fck\u00fcn\u00fc hafifletir, tutarl\u0131 g\u00fcvenlik politikalar\u0131 uygulayabilir ve hassas uygulamalar\u0131n\u0131z\u0131n ve API'lerinizin g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131rs\u0131n\u0131z. Birden fazla IdP entegrasyonu, ince taneli eri\u015fim politikalar\u0131 ve operasyonel basitle\u015ftirme gibi yetenekleriyle Pomerium, \u015firketlerin bulut yerel ortamlar\u0131nda daha sa\u011flam ve y\u00f6netilebilir bir g\u00fcvenlik duru\u015fu sergilemelerine olanak tan\u0131r.<\/p>\n<p>S\u0131f\u0131r G\u00fcvenin \"asla g\u00fcvenme, her zaman do\u011frula\" felsefesi, g\u00fcn\u00fcm\u00fcz\u00fcn da\u011f\u0131t\u0131k ve dinamik altyap\u0131lar\u0131 i\u00e7in vazge\u00e7ilmezdir. Pomerium, bu felsefeyi Kubernetes ortam\u0131n\u0131za ta\u015f\u0131yarak, sadece d\u0131\u015f tehditlere kar\u015f\u0131 de\u011fil, ayn\u0131 zamanda i\u00e7eriden gelebilecek risklere kar\u015f\u0131 da kapsaml\u0131 bir koruma sa\u011flar. NGINX Ingress'ten Pomerium'a ge\u00e7i\u015f, sadece bir teknoloji de\u011fi\u015fimi de\u011fil, ayn\u0131 zamanda g\u00fcvenlik mimarinizi gelece\u011fe haz\u0131rlayan stratejik bir ad\u0131md\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>1. Pomerium \u00fccretli mi?<\/h4>\n<p>Pomerium, Apache 2.0 lisans\u0131 alt\u0131nda a\u00e7\u0131k kaynakl\u0131 bir yaz\u0131l\u0131md\u0131r ve temel i\u015flevselli\u011fi \u00fccretsiz olarak kullan\u0131labilir. Ayr\u0131ca, kurumsal d\u00fczeyde destek ve ek \u00f6zellikler sunan \u00fccretli versiyonlar\u0131 da mevcuttur.<\/p>\n<h4>2. Pomerium mevcut NGINX Ingress ile birlikte \u00e7al\u0131\u015fabilir mi?<\/h4>\n<p>Evet, Pomerium ve NGINX Ingress Controller ayn\u0131 Kubernetes k\u00fcmesinde birlikte \u00e7al\u0131\u015fabilirler. Farkl\u0131 Ingress Class'lar\u0131 kullanarak hangi Ingress Controller'\u0131n hangi Ingress veya PomeriumRoute nesnesini y\u00f6netti\u011fini belirtebilirsiniz. Bu, a\u015famal\u0131 bir ge\u00e7i\u015f yapman\u0131za veya baz\u0131 uygulamalar i\u00e7in NGINX'i, di\u011ferleri i\u00e7in Pomerium'u kullanman\u0131za olanak tan\u0131r.<\/p>\n<h4>3. Pomerium performans overhead'ine neden olur mu?<\/h4>\n<p>Pomerium, her istek i\u00e7in kimlik do\u011frulama ve yetkilendirme yapt\u0131\u011f\u0131 i\u00e7in do\u011fal olarak NGINX Ingress'e g\u00f6re biraz daha fazla i\u015flem y\u00fck\u00fc getirebilir. Ancak Pomerium y\u00fcksek performansl\u0131 bir Go uygulamas\u0131d\u0131r ve iyi optimize edilmi\u015ftir. Performans, kullan\u0131lan IdP'nin yan\u0131t s\u00fcresine, politika karma\u015f\u0131kl\u0131\u011f\u0131na ve a\u011f gecikmesine ba\u011fl\u0131 olacakt\u0131r. \u00c7o\u011fu senaryoda, g\u00fcvenlik ve y\u00f6netim avantajlar\u0131 bu hafif performans d\u00fc\u015f\u00fc\u015f\u00fcnden daha a\u011f\u0131r basar.<\/p>\n<h4>4. Hangi Kimlik Sa\u011flay\u0131c\u0131lar\u0131 (IdP) destekler?<\/h4>\n<p>Pomerium, OAuth2 ve OIDC (OpenID Connect) standartlar\u0131n\u0131 destekleyen \u00e7o\u011fu IdP ile entegre olabilir. Ba\u015fl\u0131ca desteklenen IdP'ler aras\u0131nda Google Workspace (Google Identity Platform), Azure Active Directory, Okta, Auth0, OneLogin ve GitHub gibi pop\u00fcler \u00e7\u00f6z\u00fcmler bulunmaktad\u0131r.<\/p>\n<h4>5. Pomerium k\u00fc\u00e7\u00fck projeler veya geli\u015ftirme ortamlar\u0131 i\u00e7in uygun mu?<\/h4>\n<p>Kesinlikle. Pomerium'un a\u00e7\u0131k kaynakl\u0131 do\u011fas\u0131 ve Helm ile kolay kurulumu, onu k\u00fc\u00e7\u00fck projeler ve geli\u015ftirme ortamlar\u0131 i\u00e7in de uygun bir se\u00e7enek haline getirir. Geli\u015ftirme a\u015famas\u0131nda bile uygulamalar\u0131n\u0131za S\u0131f\u0131r G\u00fcven prensiplerini entegre etmek, g\u00fcvenlik k\u00fclt\u00fcr\u00fcn\u00fcz\u00fc erken a\u015famada olu\u015fturman\u0131za yard\u0131mc\u0131 olur. Karma\u015f\u0131k politikalar yerine basit e-posta alan ad\u0131 k\u0131s\u0131tlamalar\u0131yla ba\u015flayabilir ve ihtiyac\u0131n\u0131za g\u00f6re geni\u015fletebilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"NGINX Ingress&#8217;ten Pomerium&#8217;a Ge\u00e7i\u015f: Geli\u015fmi\u015f Eri\u015fim Kontrol\u00fc ve S\u0131f\u0131r G\u00fcven Mimarisi Modern bulut yerel uygulamalar ve mikroservis mimarileri,&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1504],"tags":[],"class_list":{"0":"post-35960","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-nginx","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?<\/title>\n<meta name=\"description\" content=\"Modern bulut yerel uygulamalar ve mikroservis mimarileri, g\u00fcvenlik ve eri\u015fim kontrol\u00fc konusunda geleneksel yakla\u015f\u0131mlar\u0131n \u00f6tesine ge\u00e7en \u00e7\u00f6z\u00fcmler gerektirmektedir. \u00d6zellikle Kubernetes ortamlar\u0131nda, NGINX Ingress Controller uzun y\u0131llard\u0131r d\u0131\u015f d\u00fcnyaya a\u00e7\u0131lan kap\u0131 olarak hizmet vermi\u015ftir. Ancak artan siber tehditler ve &quot;S\u0131f\u0131r G\u00fcven&quot; (Zero Trust) g\u00fcvenlik prensiplerinin y\u00fckseli\u015fiyle birlikte, sadece trafik y\u00f6nlendirmek ve SSL sonland\u0131rmak yeterli olmamaktad\u0131r. Peki, NGINX Ingress&#039;in sundu\u011fu kolayl\u0131klar\u0131 korurken, uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini kimlik do\u011frulama ve yetkilendirme yetenekleriyle bir ad\u0131m \u00f6teye ta\u015f\u0131yabilir misiniz? Bu makalede, NGINX Ingress&#039;ten Pomerium Ingress Controller&#039;a ge\u00e7i\u015fin nedenlerini, ad\u0131mlar\u0131n\u0131 ve ileri d\u00fczey kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?\" \/>\n<meta property=\"og:description\" content=\"Modern bulut yerel uygulamalar ve mikroservis mimarileri, g\u00fcvenlik ve eri\u015fim kontrol\u00fc konusunda geleneksel yakla\u015f\u0131mlar\u0131n \u00f6tesine ge\u00e7en \u00e7\u00f6z\u00fcmler gerektirmektedir. \u00d6zellikle Kubernetes ortamlar\u0131nda, NGINX Ingress Controller uzun y\u0131llard\u0131r d\u0131\u015f d\u00fcnyaya a\u00e7\u0131lan kap\u0131 olarak hizmet vermi\u015ftir. Ancak artan siber tehditler ve &quot;S\u0131f\u0131r G\u00fcven&quot; (Zero Trust) g\u00fcvenlik prensiplerinin y\u00fckseli\u015fiyle birlikte, sadece trafik y\u00f6nlendirmek ve SSL sonland\u0131rmak yeterli olmamaktad\u0131r. Peki, NGINX Ingress&#039;in sundu\u011fu kolayl\u0131klar\u0131 korurken, uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini kimlik do\u011frulama ve yetkilendirme yetenekleriyle bir ad\u0131m \u00f6teye ta\u015f\u0131yabilir misiniz? Bu makalede, NGINX Ingress&#039;ten Pomerium Ingress Controller&#039;a ge\u00e7i\u015fin nedenlerini, ad\u0131mlar\u0131n\u0131 ve ileri d\u00fczey kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-06T02:31:05+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"28 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?\",\"datePublished\":\"2025-12-06T02:31:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/\"},\"wordCount\":4871,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Nginx\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/\",\"name\":\"NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-06T02:31:05+00:00\",\"description\":\"Modern bulut yerel uygulamalar ve mikroservis mimarileri, g\u00fcvenlik ve eri\u015fim kontrol\u00fc konusunda geleneksel yakla\u015f\u0131mlar\u0131n \u00f6tesine ge\u00e7en \u00e7\u00f6z\u00fcmler gerektirmektedir. \u00d6zellikle Kubernetes ortamlar\u0131nda, NGINX Ingress Controller uzun y\u0131llard\u0131r d\u0131\u015f d\u00fcnyaya a\u00e7\u0131lan kap\u0131 olarak hizmet vermi\u015ftir. Ancak artan siber tehditler ve \\\"S\u0131f\u0131r G\u00fcven\\\" (Zero Trust) g\u00fcvenlik prensiplerinin y\u00fckseli\u015fiyle birlikte, sadece trafik y\u00f6nlendirmek ve SSL sonland\u0131rmak yeterli olmamaktad\u0131r. Peki, NGINX Ingress'in sundu\u011fu kolayl\u0131klar\u0131 korurken, uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini kimlik do\u011frulama ve yetkilendirme yetenekleriyle bir ad\u0131m \u00f6teye ta\u015f\u0131yabilir misiniz? Bu makalede, NGINX Ingress'ten Pomerium Ingress Controller'a ge\u00e7i\u015fin nedenlerini, ad\u0131mlar\u0131n\u0131 ve ileri d\u00fczey kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?","description":"Modern bulut yerel uygulamalar ve mikroservis mimarileri, g\u00fcvenlik ve eri\u015fim kontrol\u00fc konusunda geleneksel yakla\u015f\u0131mlar\u0131n \u00f6tesine ge\u00e7en \u00e7\u00f6z\u00fcmler gerektirmektedir. \u00d6zellikle Kubernetes ortamlar\u0131nda, NGINX Ingress Controller uzun y\u0131llard\u0131r d\u0131\u015f d\u00fcnyaya a\u00e7\u0131lan kap\u0131 olarak hizmet vermi\u015ftir. Ancak artan siber tehditler ve \"S\u0131f\u0131r G\u00fcven\" (Zero Trust) g\u00fcvenlik prensiplerinin y\u00fckseli\u015fiyle birlikte, sadece trafik y\u00f6nlendirmek ve SSL sonland\u0131rmak yeterli olmamaktad\u0131r. Peki, NGINX Ingress'in sundu\u011fu kolayl\u0131klar\u0131 korurken, uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini kimlik do\u011frulama ve yetkilendirme yetenekleriyle bir ad\u0131m \u00f6teye ta\u015f\u0131yabilir misiniz? Bu makalede, NGINX Ingress'ten Pomerium Ingress Controller'a ge\u00e7i\u015fin nedenlerini, ad\u0131mlar\u0131n\u0131 ve ileri d\u00fczey kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/","og_locale":"tr_TR","og_type":"article","og_title":"NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?","og_description":"Modern bulut yerel uygulamalar ve mikroservis mimarileri, g\u00fcvenlik ve eri\u015fim kontrol\u00fc konusunda geleneksel yakla\u015f\u0131mlar\u0131n \u00f6tesine ge\u00e7en \u00e7\u00f6z\u00fcmler gerektirmektedir. \u00d6zellikle Kubernetes ortamlar\u0131nda, NGINX Ingress Controller uzun y\u0131llard\u0131r d\u0131\u015f d\u00fcnyaya a\u00e7\u0131lan kap\u0131 olarak hizmet vermi\u015ftir. Ancak artan siber tehditler ve \"S\u0131f\u0131r G\u00fcven\" (Zero Trust) g\u00fcvenlik prensiplerinin y\u00fckseli\u015fiyle birlikte, sadece trafik y\u00f6nlendirmek ve SSL sonland\u0131rmak yeterli olmamaktad\u0131r. Peki, NGINX Ingress'in sundu\u011fu kolayl\u0131klar\u0131 korurken, uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini kimlik do\u011frulama ve yetkilendirme yetenekleriyle bir ad\u0131m \u00f6teye ta\u015f\u0131yabilir misiniz? Bu makalede, NGINX Ingress'ten Pomerium Ingress Controller'a ge\u00e7i\u015fin nedenlerini, ad\u0131mlar\u0131n\u0131 ve ileri d\u00fczey kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.","og_url":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-06T02:31:05+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"28 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?","datePublished":"2025-12-06T02:31:05+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/"},"wordCount":4871,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Nginx"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/","url":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/","name":"NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-06T02:31:05+00:00","description":"Modern bulut yerel uygulamalar ve mikroservis mimarileri, g\u00fcvenlik ve eri\u015fim kontrol\u00fc konusunda geleneksel yakla\u015f\u0131mlar\u0131n \u00f6tesine ge\u00e7en \u00e7\u00f6z\u00fcmler gerektirmektedir. \u00d6zellikle Kubernetes ortamlar\u0131nda, NGINX Ingress Controller uzun y\u0131llard\u0131r d\u0131\u015f d\u00fcnyaya a\u00e7\u0131lan kap\u0131 olarak hizmet vermi\u015ftir. Ancak artan siber tehditler ve \"S\u0131f\u0131r G\u00fcven\" (Zero Trust) g\u00fcvenlik prensiplerinin y\u00fckseli\u015fiyle birlikte, sadece trafik y\u00f6nlendirmek ve SSL sonland\u0131rmak yeterli olmamaktad\u0131r. Peki, NGINX Ingress'in sundu\u011fu kolayl\u0131klar\u0131 korurken, uygulamalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini kimlik do\u011frulama ve yetkilendirme yetenekleriyle bir ad\u0131m \u00f6teye ta\u015f\u0131yabilir misiniz? Bu makalede, NGINX Ingress'ten Pomerium Ingress Controller'a ge\u00e7i\u015fin nedenlerini, ad\u0131mlar\u0131n\u0131 ve ileri d\u00fczey kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/nginx-ingress-ile-karsilasilan-zorluklar-nelerdir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"NGINX Ingress ile Kar\u015f\u0131la\u015f\u0131lan Zorluklar Nelerdir?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35960","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35960"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35960\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35960"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35960"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35960"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}