Apinizer yetkilendirme yapısı, ayrı politika olarak değil, bir "Kimlik Doğrulama" politikası ile birlikte kullanılır. Uygun olan tüm kimlik doğrulama politikalarına aynı şekilde eklenir.

Yetkilendirme, kimlik doğrulama kontrolünden sonra bir seviye daha güvenlik katmanı koymayı sağlar.

Kimliği doğrulanan kullanıcının sahip olduğu roller, erişilmek istenen metot/endpoint'in beklediği roller ile karşılaştırılır.

  • Kullanıcının sahip olduğu roller metot/endpoint'in beklediği rolleri karşılamıyorsa mesajın akışı kesilerek hata döndürülür.
  • Kullanıcının sahip olduğu roller metot/endpoint'in beklediği rolleri karşılıyor ise mesaj yoluna devam eder.

Yetkilendirme Ayarları

Yetkilendirme ayarları kimlik doğrulama politikasının "Yetki Konfigürasyonu (Authorization Configuration)" bölümünde yapılır. 

İlk olarak bu bölümde yetkilendirme ayarlarının AKTİF (ENABLED) duruma getirilmesi gerekir. Yetkilendirme ayarları aktifleştirildiğinde;

  • Eğer politika bir API Proxy'e ekleniyorsa, hem API Proxy bazında hem de API Proxy'nin metot/endpoint'leri bazında rol bazlı erişim denetimi tanımlanabilir.  
  • Eğer politika bir API Proxy Grubu'na ekleniyorsa, yalnızca API Proxy Grubu bazında rol bazlı erişim denetimi tanımlanabilir.

Yerkilendirme ayarlarını içeren görsele aşağıda yer verilmiştir:


Yetkilendirme konfigürasyonu için kullanılan alanlar aşağıdaki tabloda görülmektedir.   

Alan

Açıklama

Rolleri Başlığa Ekle

(Add Roles to Header)

Kimlik doğrulama başarıyla gerçekleştiğinde, yetkilendirilmiş kullanıcının rolleri varsayılan olarak 'X-Authenticated-UserRoles' mesaj başlığı anahtar değeri içerisinde Backend API'ye gönderir. "X-Authenticated-UserRoles" değeri isteğe bağlı olarak özelleştirilebilir.

Kimlik/Yetki Doğrulama Servisi

(Identity/Role/Group Service)

Rollerin kimlik doğrulamanın yapıldığı Kimlik/Yetki Doğrulama Servisi yerine başka bir Kimlik/Yetki Doğrulama Servisi üzerinden alınması isteniyorsa bu alan doldurulmalıdır. Bu alanın doldurulduğu durumda roller yetkilendirilmiş kullanıcı adı ve parolası ile Kimlik/Yetki Doğrulama Servisi üzerinden sorgulanır.

Roller/Gruplar

(Roles/Groups)

İstemcinin API Proxy'e erişmesi için sahip olması gereken roller seçilir. Zorunlu alandır.

Gereklilik

(Requirement)

İstemcinin API Proxy'e erişmesi için belirtilen rollerden ne kadarına sahip olması gerektiği seçilmelidir. Aşağıdaki değerlerden birini alabilir:

  • Rollerin hepsi gerekli (All roles are required): Kullanıcı, belirtilen rollerin hepsine sahip olmalıdır. Değilse, erişime izin verilmez.
  • Rollerin herhangi biri yeterli (Any of roles is enough): Kullanıcının, belirtilen rollerden herhangi birisine sahip olması, erişime izin verilmesi için yeterlidir.

Rol/Grup Bazlı Metod Erişimini etkinleştir

(Enable Role/Group Based Method Access)

Etkinleştirildiğinde API Proxy'nin sahip olduğu her metot/endpoint için gerekli olan roller ayrı ayrı tanımlanabilir. Metot/endpoint'ler için roller tanımlandığında, herhangi bir metoda erişim için hem API Proxy'e erişim için rol kontrolü, hem de o metot/endpoint için rol kontrolü yapılır. Örneğin, 

  • API Proxy için sadece Rol-1 isteniyor olsun.
  • /metot1 metot/endpoint için Rol-2 isteniyor olsun.
  • /metot2 metot/endpoint için herhangi bir rol tanımı yapılmamış olsun.

Bu durumda, sadece Rol-1 rolüne sahip olan bir kullanıcı /metot2 adlı metot/endpoint'e erişebilir, ancak /metot1 adlı metot/endpoint'e erişemez.

Kimlik doğrulama politikası bir API Proxy Grubu için yapılandırılıyorsa bu alan görünmez.

Rol tanımlamaları hakkında detaylı bilgi almak için Kimlik Bilgisi Rolleri ve Kimlik Sağlayıcılar (Identity Providers) sayfalarını ziyaret edebilirsiniz.