SAML assertion nedir?
Kısa cevap
SAML assertion, IdP'nin SAML yanıtı içinde gönderdiği ve kullanıcının kim olduğunu (NameID), ne zaman ve nasıl doğrulandığını ve hangi attribute'lara (e-posta, ad, grup gibi) sahip olduğunu bildiren XML ifadesidir. Assertion belirli bir SP için (audience) ve kısa bir geçerlilik süresiyle üretilir; IdP onu, yanıt belgesini ya da ikisini birden dijital olarak imzalar (OASIS SAML 2.0). TR7 AGS'de SAML 2.0 türündeki Authentication Provider kullanıcı bilgilerini assertion'dan okur: Require Signed Assertions açıkken (varsayılan) tek tek imzalanmamış assertion'lar reddedilir; IdP assertion yerine yanıtı imzalıyorsa Require Signed Response açılır ve ikisinden en az biri açık kalır. IdP assertion'ı Assertion Consumer Service URL adresine gönderir.
TR7'de Nerede Kullanılır
| Nerede | Alan / etiket | Ne için |
|---|---|---|
| AGS → Authentication → Authentication Providers (SAML 2.0) | Require Signed Assertions (varsayılan açık), Require Signed Response (varsayılan kapalı) | İmzasız assertion ya da yanıtın reddedilmesi |
| AGS → Authentication → Authentication Providers (SAML 2.0) | Assertion Consumer Service URL | IdP'nin assertion içeren yanıtı göndereceği TR7 adresi |
| AGS → Authentication → Authentication Providers (SAML 2.0) | SP Entity ID, IdP Entity ID (issuer), Clock Skew Tolerance | Assertion'ın beklenen audience'ı, beklenen issuer'ı ve geçerlilik zamanının denetimi |
| AGS → Authentication → Authentication Providers (SAML 2.0) | Custom User Attribute Mapping; JSONata bağlamı Assertion Attributes (SAML) | Assertion attribute'larının AGS kullanıcı alanlarına eşlenmesi |
| AGS etkin vService → Sessions | Username, Email, Groups gibi kullanıcı kolonları | Assertion'dan oturuma yazılan bilgilerin görülmesi |
Sık Karıştırılan Noktalar
- "Assertion yalnızca kullanıcı adını taşır." Assertion kullanıcı kimliğinin yanında authentication zamanını, geçerlilik koşullarını ve attribute'ları da taşır.
- "Yanıt imzalıysa assertion imzası da vardır." İmza yanıt belgesinde, assertion'da ya da ikisinde birden olabilir; hangisinin imzalandığı IdP ayarına bağlıdır. TR7'de bu yüzden iki ayrı seçenek vardır.
- "Assertion'daki attribute adları her IdP'de aynıdır." Adlar IdP'ye göre değişir (ör. URI biçiminde adlar); farklı adlar Custom User Attribute Mapping ile AGS kullanıcı alanlarına eşlenir (Claim nedir; SAML attribute'tan farkı ne?).
Dokümantasyonda nasıl yapılır
