Cloud-native API Gateway, OpenID Connect (OIDC) protokolü aracılığıyla kuruluşunuzun kimlik doğrulama sistemiyle entegre olur ve dahili hizmetler için merkezi kimlik doğrulama ve yetkilendirme sağlar. Bu sayede her bir hizmet için ayrı entegrasyon yapma ihtiyacı ortadan kalkar, tek oturum açma (SSO) imkanı sunulur ve esnek güvenlik ilkesi yapılandırmaları desteklenir.
Ön koşullar
Standart OIDC protokolünü destekleyen merkezi bir yetkilendirme sunucunuz olmalıdır.
Arka plan bilgileri
Dahili hizmetlere yönelik harici erişimin giriş noktası olarak çalışan API ağ geçidi, arka uç hizmetlerini korumak amacıyla gelen isteklerin kimliğini doğrular ve yetkilendirir. Cloud-native API Gateway, OIDC protokolü üzerinden kendi yönettiğiniz kimlik doğrulama sistemiyle entegre olarak tüm bağlı hizmetlerde tekil bir kimlik doğrulama mekanizması sunar; bu sayede her hizmet için ayrı entegrasyon yapılmasına gerek kalmaz.
OIDC kimlik doğrulama
OIDC, üçüncü taraf uygulamaların son kullanıcı kimliklerini bir kimlik sağlayıcı üzerinden doğrulamasını sağlayan bir kimlik doğrulama protokolüdür. OAuth 2.0 üzerine inşa edilen OIDC, temel kullanıcı kimlik bilgilerini taşıyan, kendiliğinden yeterli ve değiştirilemez bir JSON Web Token (JWT) olan ID Token'ı sisteme ekler; bu belirteç üçüncü taraf uygulamalara güvenli şekilde iletilebilir ve doğrulanabilir.
Tipik bir OIDC akışı aşağıdaki dört rolü içerir:
client: Son kullanıcıya doğrudan hizmet sunan uygulama.
authorization server: Üçüncü taraf uygulamaların kimlik doğrulaması için ID Token veren OpenID sağlayıcısı.
business server: İş mantığı hizmetlerini sunan sunucu.
end user: Kendi bilgilerinin erişimine izin veren kaynak sahibi.
İş akışı şu şekildedir:
Client, authorization server'a bir kimlik doğrulama isteği gönderir.
End user, kimlik doğrulama sayfasında genellikle kullanıcı adı ve şifre ile giriş yaparak yetki verir.
Authorization server, kimlik doğrulama isteğini doğrular ve client'a bir yetkilendirme kodu döndürür.
Client, yetkilendirme kodunu içeren bir isteği business server üzerindeki callback uç noktasına gönderir.
Business server, authorization server'dan bir belirteç ister. İstek, yetkilendirme kodunu, client ID'yi ve client secret değerini içerir.
Authorization server, isteği doğrular ve bir ID Token döndürür.
Kimlik doğrulama başarılı olduktan sonra business server, ID Token'ı client'a geri gönderir.
Client, ID Token'ı içeren bir iş isteği gönderir.
Business server, ID Token'ı doğrular ve iş yanıtını döndürür.
Gateway OIDC kimlik doğrulama akışı
Yukarıda açıklanan OIDC akışında her bir business server (örneğin kullanıcı hizmeti veya sipariş hizmeti) kendi kimlik doğrulama mantığını uygulayıp authorization server ile entegre olmak zorunda kalır. Cloud-native API Gateway bu süreci ağ geçidi düzeyinde merkezileştirerek hizmet bazlı kimlik doğrulama kodlarına duyulan ihtiyacı ortadan kaldırır.
İş akışı şu adımlardan oluşur:
Client, gateway'e bir kimlik doğrulama isteği gönderir.
Gateway, authorization server'a bir kimlik doğrulama isteği iletir.
Authorization server, gateway'e bir code değeri döndürür.
Gateway, code değerini client'a geri iletir.
Client, code değerini içeren bir callback isteğini gateway'e gönderir.
Gateway, authorization server ile iletişime geçerek code değerini token ile değiştirir.
Authorization server, gateway'e bir ID Token döndürür.
Gateway, client'a kimlik doğrulamanın başarılı olduğunu bildiren bir yanıt döndürür ve bir cookie ayarlar.
Client, cookie'yi taşıyan bir iş isteği başlatır; gateway de belirteci doğrular.
Gateway, ID Token'ı içeren iş isteğini business service'e yönlendirir.
Business server'ın yanıtı gateway üzerinden client'a iletilir.
Bu süreç boyunca Cloud-native API Gateway her isteği doğrular. Geçersiz istekler oturum açma sayfasına yönlendirilir; burada gateway, authorization server'ı vekil sunucu olarak kullanarak kimlik doğrulama işlemini yönetir. Böylece authorization server arka plandaki business server'lara karşı şeffaf hale gelir.
Kimlik doğrulama ve yetkilendirme kuralı oluşturma
API Gateway konsolu üzerinde oturum açın.
Sol gezinme bölmesinde seçeneklerine tıklayın. Üst gezinme çubuğundan bir bölge seçin.
Instance sayfasında hedef ağ geçidi örneğinin adına tıklayın.
Sol gezinme bölmesinde menüsünü seçin.
-
Sayfanın sol üst köşesinde Create Authentication seçeneğine tıklayın. Ağ geçidi kimlik doğrulama parametrelerini yapılandırın ve OK düğmesine tıklayın.
Aşağıdaki tabloda OIDC kimlik doğrulamasına ilişkin parametreler açıklanmaktadır.
Parametre
Açıklama
Enable
Cloud-native API Gateway örneği için kimlik doğrulamanın etkinleştirilip etkinleştirilmeyeceğini belirtir.
Authentication Name
Kimlik doğrulama kuralı için özel ad.
Authentication Type
OIDC seçeneğini belirleyin.
Domain Name
Kimlik doğrulama kuralının uygulanacağı alan adı.
Issuer
Yetkilendirme sunucusunun issuer URL'si.
Redirect URL
Yetkilendirme başarıyla tamamlandıktan sonra end user'ın yönlendirileceği URL. Bu URL, OIDC kimlik sağlayıcınızda yapılandırılan URL ile eşleşmelidir.
ÖnemliURL
http(s)://yourdomain/pathformatında olmalı ve yol kısmı/oauth2/callbackşeklinde belirtilmelidir.Client ID
Kimlik sağlayıcıya kaydettiğiniz uygulamanın client ID değeri.
Client secret
Kimlik sağlayıcıya kaydettiğiniz uygulamanın client secret değeri.
Cookie domain
Oturum cookie'sinin etki alanı. End user kimliği doğrulandıktan sonra oturumu sürdürmek için cookie bu alana gönderilir. Örneğin, cookie alanını
a.example.comolarak ayarlarsanız cookiea.example.comalanına gönderilir. Cookie alanını.example.comolarak ayarlarsanız cookieexample.comalt alanlarının tümüne gönderilir.Cookie secret
Oturum cookie'sinin değiştirilmesini önlemek amacıyla dijital imzalama için kullanılan gizli anahtar.
Scope
Yetkilendirme kapsamlarını belirtin. Birden fazla kapsam eklemek isterseniz noktalı virgül (;) ile ayırın.
Authorization
Yetkilendirme modunu seçin. Whitelist Mode veya Blacklist Mode seçeneklerinden birini kullanabilirsiniz.
whitelist: İzin listesindeki host ve yollara yapılan istekler kimlik doğrulamadan muaf tutulur. Diğer tüm istekler doğrulama gerektirir.
blacklist: Yalnızca engelleme listesindeki host ve yollara yapılan istekler kimlik doğrulaması gerektirir. Diğer tüm istekler doğrulama olmadan geçer.
İstek alan adlarını ve yollarını ayarlamak için Rule Condition seçeneğine tıklayın.
Domain Name: İstek host değeri.
Path: İstek API yolu.
Kimlik doğrulama ve yetkilendirme ayrıntıları
API Gateway konsolu üzerinde oturum açın.
Sol gezinme bölmesinde seçeneklerine tıklayın. Üst gezinme çubuğundan bir bölge seçin.
Instance sayfasında hedef ağ geçidi örneğinin adına tıklayın.
Sol gezinme bölmesinde menüsünü seçin.
-
Global Authentication sayfasında bir kimlik doğrulama kuralının adına tıklayın veya Actions sütunundaki Description seçeneğine tıklayın. Mevcut Authentication Configuration ve Authorization Information bilgilerini görüntüleyebilirsiniz.
Ayrıntılar sayfası üç bölümden oluşur. Basic Information bölümünde ad ve kaynak bilgileri yer alır. Authentication Configuration bölümünde issuer, client ID, Cookie domain, redirect URL, client secret ve scope gibi alanlar gösterilir. Authorization Information bölümünde ise mevcut yetkilendirme modu (izin listesi veya engelleme listesi) görüntülenir. Birden fazla kural koşulu OR ilişkisine sahiptir; tek bir kural koşulu içindeki birden fazla eşleşme öğesi ise AND ilişkisine sahiptir.
Authorization Information bölümünde Create Authorization seçeneğine tıklayabilirsiniz. Açılan iletişim kutusunda Request Domain Name ve Request Path değerlerini girin, bir Match Mode seçin ve yeni bir yetkilendirme kuralı eklemek için OK düğmesine tıklayın.
Sonucu doğrulama
Global Authentication sayfasına dönün. Oluşturduğunuz kural listede görünüyorsa kural başarıyla oluşturulmuştur.
İlgili işlemler
Ağ geçidi kimlik doğrulama kurallarını aşağıdaki yöntemlerle de yönetebilirsiniz:
Bir kimlik doğrulama kuralını etkinleştirme: Global Authentication sayfasında ilgili kimlik doğrulama kuralını bulun ve Actions sütunundaki Enable seçeneğine tıklayın.
Bir kimlik doğrulama kuralını devre dışı bırakma: Global Authentication sayfasında ilgili kimlik doğrulama kuralını bulun ve Actions sütunundaki Close seçeneğine tıklayın.
Bir kimlik doğrulama kuralını düzenleme: Global Authentication sayfasında ilgili kimlik doğrulama kuralını bulun ve Actions sütunundaki Edit seçeneğine tıklayın.
Bir kimlik doğrulama kuralını silme: Global Authentication sayfasında ilgili kimlik doğrulama kuralını bulun ve Actions sütunundaki Delete seçeneğine tıklayın.
Bir kimlik doğrulama kuralını silebilmeniz için önce kuralı devre dışı bırakmanız gerekir.
İlgili belgeler
Diğer kimlik doğrulama mekanizmaları hakkında bilgi edinmek için bkz. Global Authentication.