Saml Authentication Nedir?

SAML (Security Assertion Markup Language), sistemler arasında kimlik doğrulama bilgilerinin güvenli bir şekilde aktarılmasını sağlayan bir protokoldür.

SAML protokolü birçok sistemde authentication (kimlik doğrulama) sürecinde kullanılır. Authentication kavramını basitçe kullanıcının sisteme giriş yapması ve kimliğinin doğrulanması olarak düşünebiliriz.

SAML’in açılımı Security Assertion Markup Language’dir. Türkçeye kabaca Güvenlik Doğrulama İşaretleme Dili olarak çevrilebilir.

Bu protokol sayesinde kullanıcıya ait kimlik bilgileri bir sistemden başka bir sisteme güvenli bir şekilde aktarılabilir.


SAML Nasıl Çalışır?

SAML sayesinde bir kullanıcı:

  1. A sisteminde giriş yapar
  2. Kimliği doğrulanır
  3. Daha sonra B sistemine geçtiğinde tekrar giriş yapmasına gerek kalmaz

Bu mekanizma genellikle Single Sign-On (SSO) olarak adlandırılır.

Bu sayede:

SAML ile genellikle şu bilgiler sistemler arasında taşınır:


SAML’in Teknik Yapısı

SAML XML tabanlı bir protokoldür.

Kimlik doğrulama bilgileri XML formatında oluşturulan SAML Assertion yapısı ile sistemler arasında iletilir.

SAML standardı, OASIS (Organization for the Advancement of Structured Information Standards) tarafından geliştirilmiş ve yayınlanmıştır.


SAML Bileşenleri

SAML mimarisinde iki temel bileşen bulunur.

Service Provider (SP)

Service Provider, kullanıcının erişmek istediği uygulamadır.

Örneğin:

Kullanıcı aslında bu sisteme giriş yapmak ister.


Identity Provider (IdP)

Identity Provider, kullanıcıların kimlik doğrulamasını yapan sistemdir.

Bu servis:

Identity Provider örnekleri:


SAML Service Provider Örneği Repom (SP)

SAML ile geliştirmiş olduğum basit bir Service Provider (SP) örneğinin ekran görüntüsünü ve GitHub repo linkini aşağıda paylaşıyorum.

Bu uygulama sayesinde çeşitli Identity Provider (IdP) servisleri ile hızlı bir şekilde SAML entegrasyonunu test edebilirsiniz.

Uygulamayı Node.js kullanarak geliştirdim. Kurulum sürecini kolaylaştırmak için uygulamayı Docker container mimarisine taşıdım ve GitHub üzerinde yayınladım.

Bu sayede projeyi indirip çok kısa sürede çalıştırarak kendi SAML entegrasyon testlerinizi yapabilirsiniz.

GitHub Repom

Demo Adresi

Entitlement-İnsan_Kaynaklari

Özellikler