mTLS Authentication (Mutual Transport Layer Security Authentication) Politikası, Apinizer tarafında yapılan bir kimlik doğrulama yöntemidir.

Bu yöntem, istemci ve sunucu arasında güvenli bir kanal oluşturmak için kullanılan TLS (Transport Layer Security) protokolünün bir türüdür.

mTLS Authentication kullanıldığında, Apinizer, gelen isteklerdeki istemcinin sertifikasının geçerliliğini kontrol eder ve belirli bir sertifika otoritesinden geldiğinden emin olmak için güvenilir bir sertifika otoritesi (CA) kullanılmasını sağlar.


mTLS Authentication gelen isteğin sahip olduğu sertifika içerisinde yer alan "subject" değerindeki "cn name" bilgisini (standart RFC4519Style)Kimlik Bilgileri'ndeki (credential) kullanıcı adı bilgisi ile eşleştirerek arama yapar. Bulunan kimlik bilgisinin mTLS ayarlarındaki Truststore ile sertifikanın doğrulaması yapılır. Eğer "subject"da birden fazla "cn name" değeri varsa ilki alınır.


Bu politikanın kullanılabilmesi için Apinizer Environment's üzerinde SSL Offloading yapılmalı ("HTTPS Enabled" olmalı) ve mTLS seçeneği seçili olmalıdır.


mTLS Kimlik Doğrulama ayarlarını içeren görsele aşağıda yer verilmiştir:


mTLS Kimlik Doğrulama konfigürasyonu için kullanılan alanlar aşağıda görülmektedir.

Alan

Açıklama

İsim (Name)

Politikanın kullanımını ve yönetimini kolaylaştırmak için isim yazılabilir. Politikaların yönetimi ve seçimi sırasında bu isme ihtiyacınız olacaktır.

Açıklama

(Description)

Politikanın kullanımını ve yönetimini kolaylaştırmak için açıklama yazılabilir.

Sertifikaların Issuer'ını Doğrula

(Validate Certificate's Issuer)

Sertifikanın, ilgili kimlik bilgisinin sahip olduğu truststore ile validasyonunu yaparak sertifikanın doğrulamasının yapılmasını sağlar. Bu etiket politikanın kullanım amacını göstermek için yazılmış olup öntanımlı olarak hep açıktır ve değiştirilemez.

Sertifikayı Doğrula

(Validate Certificate)

Geçerli tarih ve saatin sertifikada verilen geçerlilik süresi içinde olup olmadığını kontrol ederek sertifikanın geçerliliğini kontrol eder.

Issuer/Credential için ACL Kontrol Et

(Validate ACL for Issuer)

Bu değer aktif hale getirildiğinde, sertifika içinde "cn name" değeri ile bulunan kimlik bilgisinin bu API Proxy'e erişiminin olup olmadığının kontrol edilmesini sağlar.

İstemci Adresini Kontrol Et

()

Bu seçenek aktif hale getirilmişse ve kimlik bilgisi tanımlanırken IP bilgisi de verilmişse, isteğin bu kullanıcı için tanımlanmış olan IP(ler)'den gelip gelmediği de kontrol edilir.

(Add Client Info to Header)

Bu seçenek işaretlenirse, kimlik doğrulama başarıyla gerçekleştiğinde, yetkilendirilmiş kullanıcı adını başlığa koyarak Backend API'ye gönderir. Başlığın varsayılan adı X-Authenticated-UserId olup, istenirse değiştirilebilir.

Kimliğin Ekleneceği Başlık

(Authenticated User Header Name)

Kimliği Başlığa Ekle seçeneği işaretlenirse, kullanıcı adı ya da anahtarının ekleneceği başlığın adıdır.

Yetki Konfigürasyonu

(Authorization Configuration)

Erişim kontrolünü kullanıcıların rollerine göre yapmak için bu seçenek aktif hale getirilir. Daha detaylı bilgi için Yetkilendirme (Authorization) sayfasını ziyaret edebilirsiniz. 

Koşullar (Conditions) ve Hata Mesajı Özelleştirme (Error Message Customization) panellerinin detayı için Politikalar (Policies) sayfasını ziyaret edebilirsiniz.