API Oluşturma
API OluşturmaErişim Kontrolünü Tanımlama

Erişim Kontrolünü Tanımlama

Şemadaki her alan ve direktife kimin erişebileceğini erişim kontrol listeleri aracılığıyla yönetebiliriz.

Gato GraphQL aşağıdaki erişim kontrol kurallarıyla birlikte gelir:

  • Erişimi devre dışı bırakma
  • Kullanıcı oturum açmışsa veya açmamışsa erişim izni verme
  • Kullanıcının belirli bir rolü varsa erişim izni verme
  • Kullanıcının belirli bir yetkisi varsa erişim izni verme
  • Ziyaretçi izin verilen bir IP adresinden geliyorsa erişim izni verme

İstenen query (özel bir endpoint aracılığıyla çalıştırılan veya persisted query olarak), erişim kontrol listesine eklenen alanlardan veya direktiflerden bir ya da daha fazlasını içerdiğinde, ilgili kurallar değerlendirilir. Herhangi bir kural karşılanmazsa, o alan veya direktife erişim reddedilir.

Yapılandırma, bir erişim kontrol listesi (ACL) aracılığıyla oluşturulur ve şema yapılandırması üzerinden özel endpoint'lere ve persisted queries'e iletilir.

Tüm erişim kontrol listelerine erişme

Eklentinin menüsündeki "Access Control Lists" seçeneğine tıklandığında, oluşturulan tüm erişim kontrol listelerinin listesi görüntülenir:

Yönetim panelindeki Erişim Kontrol Listeleri
Yönetim panelindeki Erişim Kontrol Listeleri

Yeni bir erişim kontrol listesi oluşturma

WordPress düzenleyicisini açmak için "Add New Access Control List" düğmesine tıklayın:

Erişim Kontrol Listesi Oluşturma

Erişim kontrol listesine bir başlık verin, işlemler, alanlar ve direktiflerle girişler ekleyin, bunlara uygulanacak kuralları yapılandırın ve görünürlüklerini (genel veya özel) tanımlayın:

Erişim Kontrol Listesi Oluşturma

Hazır olduğunda Yayınla düğmesine tıklayın. Ardından yeni erişim kontrol listesi, şema yapılandırması için kullanılabilir hale gelir.

Erişim Kontrol girişleri

Her Erişim Kontrol Listesi, aşağıdaki öğelere sahip bir veya daha fazla giriş içerir:

  • Erişim izni verilecek veya reddedilecek işlemler
  • Erişim izni verilecek veya reddedilecek alanlar
  • Erişim izni verilecek veya reddedilecek direktifler
  • Doğrulanacak kural listesi

Erişim kontrol girişi

Arayüzlerden alan seçme

Türlere ait alanların yanı sıra, arayüzlerden de alanlar seçebiliriz. Bu durumda, erişim kontrol doğrulaması, arayüzü uygulayan tüm türler üzerinde gerçekleştirilir.

Bir arayüzden alan seçme
Bir arayüzden alan seçme

Genel/özel mod

"Public/Private Schema" modülü etkinleştirildiğinde, bir alan veya direktife erişim reddedildiğinde API'nin 2 davranış biçimi vardır:

  • Genel mod: Kullanıcıya erişimin neden reddedildiğini belirten bir hata mesajı sağlanır
  • Özel mod: Hata mesajı, alanın veya direktifin mevcut olmadığını belirtir

Bu modül etkinleştirilmemişse, varsayılan davranış geneldir.

Ayrıntılı genel/özel mod

"Public/Private Schema" modülünden "Enable granular control?" seçeneği açık ise, girişte ek bir öğe bulunur:

  • Genel/Özel Şema: erişim reddedildiğindeki davranış
Bireysel Genel/Özel şema modu
Bireysel Genel/Özel şema modu

Erişim kontrol listesini açıklama

Erişim kontrol listesine bir açıklama vermek için Belge ayarları panelindeki "Alıntı" alanını kullanın.

Daha fazla bilgi için API'ye açıklama ekleme kılavuzuna bakın.

Erişim kontrol listesini kullanma

ACL oluşturulduktan sonra, ilgili Şema Yapılandırmasını düzenleyerek ve "Access Control Lists" bloğunun altındaki listeden ACL'yi seçerek Özel Endpoint veya Persisted Query'nin bunu kullanmasını sağlayabiliriz.

Şema Yapılandırmasında Erişim Kontrol Listesi seçme
Şema Yapılandırmasında Erişim Kontrol Listesi seçme

Yapılandırma özelleştirilmezse, "Access Control" sekmesi altındaki Ayarlar sayfasında tanımlanan varsayılan Erişim Kontrol Listeleri kullanılır:

Ayarlar sayfasında varsayılan Erişim Kontrol Listelerini seçme