Security Assertion Markup Language

protokół uwierzytelniający uprawnienia użytkowników oprogramowania komputerowego

SAML (ang. Security Assertion Markup Language) – protokół jednokrotnego logowania oraz autoryzacji, czyli w tym wypadku przekazywania między systemami i aplikacjami informacji o uprawnieniach użytkowników[1]. Jednym z charakterystycznym elementów SAML jest oparcie komunikacji na danych zapisanych w XML[2].

Standard SAML 1.0 został utworzony w 2002 roku w ramach organizacji OASIS (Organization for the Advancement of Structured Information Standards), a rok później powstała wersja 1.1 protokołu[3]. Wersja 2.0 opiera się na doświadczeniach współpracy z organizacją Liberty Alliance i jej Identity Federation Framework (ID-FF). Nowa wersja wprowadziła zmiany dotyczące m.in. prywatności i poufności wprowadzając oficjalną możliwość użycia pseudo losowych identyfikatorów, czy szyfrowania fragmentów poufnych danych[2].

Specyfikacja SAMLa wyróżnia trzy główne role: Podmiot (the principal), Dostawca Tożsamości (the Identity Provider, IdP) oraz Dostawca Treści (the Service Provider, SP). Dostawca Treści wymaga potwierdzenia tożsamości Podmiotu. Za potwierdzenie tożsamości odpowiada Dostawca Tożsamości[2].

Scenariusz wykorzystania SAML

edytuj

Przykładowy scenariusz działania SAML 2.0:

  1. Podmiot (np. użytkownik korzystający z przeglądarki) żąda dostępu do treści (zasobu) od Dostawcy Treści.
  2. Dostawca Treści stwierdza, że wymaga potwierdzenia tożsamości Podmiotu. Dostawca Treści w odpowiedzi przekazuje adres usługi SSO Dostawcy Tożsamości.
  3. Podmiot zostaje przekierowany do usługi SSO Dostawcy Tożsamości.
  4. Dostawca Tożsamości uwierzytelnia Podmiot. Dostawca Tożsamości wysyła do Podmiotu odpowiedź (zawierającą m.in. SAMLResponse oraz RelayState)
  5. Podmiot przesyła do Dostawcy Treści dane otrzymane w poprzednim kroku.
  6. Dostawca Treści przetwarza dane oraz przesyła Podmiotowi żądanie przekierowania do treści.
  7. Podmiot zostaje przekierowany do treści.
  8. Dostawca treści udostępnia Podmiotowi żądaną treść.

Przypisy

edytuj
  1. About SAML [online], saml.xml.org, 2008 [dostęp 2024-06-19] (ang.).
  2. a b c Paul Madsen, Eve Maler, SAML V2.0 Executive Overview [online], groups.oasis-open.org, 12 kwietnia 2005 [dostęp 2024-06-19] (ang.).
  3. Carol Geyer, History of SAML [online], saml.xml.org, 2007 [dostęp 2024-06-19] (ang.).