SAML

SAML 2.0 (Security Assertion Markup Language), kimlik doğrulama ve yetkilendirme verilerinin İnternet üzerinde alışverişine izin veren bir güvenlik standardıdır. Bu sayede kullanıcılar, her seferinde kullanıcı adı ve şifrelerini girmek zorunda kalmadan tek bir hesap kullanarak birden fazla uygulamaya erişebilirler. Buna tek oturum açma sistemi – SSO (Single Sign-On) denir.

SAML SSO, erişim yönetim sistemlerini (Active Directory, Azure Active Directory, Keycloak, Avanpost FAM) web uygulamaları ve hizmetleriyle entegre etmek için kullanılır.

SAML 2.0 tabanlı SSO nasıl çalışır?

  • Kullanıcının tüm oturum açma ve şifre bilgileri güvenilir bir kimlik sağlayıcıda (Identity Provider, IdP) saklanır. Active Directory, Azure Active Directory, Keycloak, Avanpost FAM gibi herhangi bir erişim yönetim sistemi IdP görevini görebilir.

  • Sürecin ikinci tarafı ise Yandex 360 for Business gibi bir servis sağlayıcıdır (Service Provider, SP). Yetkilendirme sırasında, Service Provider kullanıcıyı, kimlik bilgisi sağlayıcısının sunucusu ile kimlik doğrulaması yapması için gönderir.

  • SP, IdP ile doğrudan etkileşime girmez, bu kullanıcının tarayıcısı aracılığıyla gerçekleşir.

Bu yaklaşıma kimlik federasyonu denir.

Erişim yönetim sistemi ve hizmet sağlayıcı arasındaki kullanıcı bilgisi (girişler, kimlik doğrulama durumu, kimlikler ve diğer veriler) alışverişi aşağıdaki şekilde gerçekleşir:

  1. Kullanıcı bir tarayıcı açar ve Servis Sağlayıcı (Service Provider) uygulamasına ulaşır.

  2. Uygulama, tarayıcının erişim yönetim sistemine (IdP) ilettiği bir SAML isteği ile yanıt verir.

  3. IdP sunucusu SAML isteğini işler ve kullanıcıdan kimlik doğrulaması, örneğin oturum açma adı ve şifre talep eder. Kullanıcı zaten doğrulanmışsa, bu adım ve sonraki adımlar atlanır.

  4. Kullanıcı, IdP sunucusunda kimlik doğrulama için gereken verileri girer.

  5. Kimlik doğrulama başarılı olursa, erişim yönetim sistemi bir SAML yanıtı oluşturur ve bunu kullanıcının tarayıcısı aracılığıyla kontrol etmek için servis sağlayıcının uygulamasına gönderir.

  6. Kontrol başarılı olursa, web uygulaması kullanıcıya erişim yetkisi verir.

Destek Ekibi'ne yaz