Przetłumaczone przez AI. Jeszcze niesprawdzone przez społeczność. Czytaj po angielsku

Blog · 26 września 2023 · Steve Simpson · Tożsamość

Uwierzytelnianie SAML od podszewki

SAML w single sign-on z Salesforce

W dziedzinie uwierzytelniania SAML (Security Assertion Markup Language) odgrywa kluczową rolę w zapewnianiu płynnego dostępu do wielu aplikacji. Zagłębmy się w SAML, zrozummy jego znaczenie w single sign-on (SSO) i przyjrzyjmy się jego implementacji w Salesforce.

Kontekst

Wyobraź sobie scenariusz, w którym masz dwa orgi Salesforce: dostawcę tożsamości (IDP) i dostawcę usług. Dostawca usług ma dane, do których chcesz uzyskać dostęp, ale zamiast używać wielu zestawów danych logowania, chcesz to osiągnąć jednym. Idea brzmi prosto, ale mechanika za kulisami bywa zawiła.

Diagram: single sign-on z jednego orgu Salesforce do drugiego. Przeglądarka jest kierowana do orgu dostawcy tożsamości z żądaniem SAML i wraca do orgu dostawcy usług z asercją SAML; każdy org ma certyfikat drugiego, a użytkownicy są dopasowywani po Federation ID

Kluczowe pojęcia w świecie SAML

Dostęp użytkownika: gdy użytkownik próbuje dotrzeć do chronionego zasobu u dostawcy usług, zanim się uwierzytelni.

Przekierowanie: jeśli użytkownik nie jest uwierzytelniony, dostawca usług przekierowuje go do dostawcy tożsamości za pomocą żądania SAML. W razie potrzeby razem z nim może zostać wysłany relay state (adres URL, pod który użytkownik pierwotnie chciał trafić).

Uwierzytelnianie w IDP: dostawca tożsamości weryfikuje tożsamość użytkownika, zwykle przez nazwę użytkownika, hasło albo uwierzytelnianie wieloskładnikowe.

Asercja SAML: po uwierzytelnieniu IDP wysyła asercję SAML do dostawcy usług.

Zaufanie dostawcy usług: dostawca usług weryfikuje asercję SAML, wyodrębnia informacje o użytkowniku i przyznaje dostęp. Jeśli wcześniej podano relay state, dostawca usług przechodzi pod ten konkretny adres URL.

Podsumowanie SAML: podstawowy przepływ (dostęp użytkownika, przekierowanie, uwierzytelnienie, asercja, przekierowanie z powrotem, przyznanie dostępu), zalety i kluczowe pojęcia

Korzyści z single sign-on

Prostszy dostęp: użytkownicy potrzebują tylko jednego zestawu danych logowania, żeby korzystać z wielu usług.

Bezpieczeństwo: SAML używa podpisów cyfrowych, żeby zapewnić integralność danych i zapobiec manipulacjom.

Interoperacyjność: jako standardowy protokół SAML współpracuje z różnymi IDP i dostawcami usług opartymi na różnych technologiach.

Głębiej: przepływy SAML

Żądanie SAML: inicjowane przez dostawcę usług do IDP, z prośbą o uwierzytelnienie użytkownika.

Przykładowe żądanie SAML (AuthnRequest) z orgu dostawcy usług do orgu dostawcy tożsamości

Odpowiedź SAML: komunikat od IDP po uwierzytelnieniu, zawierający szczegóły dotyczące użytkownika.

Przykładowa odpowiedź SAML od dostawcy tożsamości, z wystawcą i podpisem cyfrowym

Asercje: to stwierdzenia IDP o użytkowniku, obejmujące atrybuty takie jak nazwa użytkownika czy e-mail.

Podpisy cyfrowe: służą do weryfikacji asercji i zapewniają, że nie zostały nieuprawnienie zmodyfikowane.

Relay state: adres URL głębokiego linku, który zapewnia, że po uwierzytelnieniu użytkownik wróci do pierwotnie zamierzonego miejsca.

Gdy użytkownik inicjuje dostęp, do IDP wysyłane jest żądanie SAML, a IDP po weryfikacji odsyła asercję SAML. Ta asercja, po weryfikacji przez dostawcę usług, daje użytkownikowi zamierzony dostęp.

Diagram sekwencji: logowanie SAML inicjowane przez dostawcę usług. Użytkownik żąda strony, zostaje przekierowany do dostawcy tożsamości, żeby się zalogować, wraca z asercją SAML, a dostawca usług ją weryfikuje i tworzy sesję

Za pomocą narzędzi takich jak SAML Tracer dla przeglądarek można zobaczyć ten przepływ. Daje to przejrzysty obraz procesu uwierzytelniania, od pierwszego żądania po końcowe przekierowanie po uwierzytelnieniu.

Zabezpieczenia w asercjach SAML

Żeby przeciwdziałać potencjalnym zagrożeniom:

Znaczniki czasu służą do zapobiegania atakom powtórzeniowym, dzięki czemu asercja SAML jest ważna tylko przez krótki czas.

Podpisy cyfrowe gwarantują, że dane nie zostały zmanipulowane podczas wymiany.

Dodatkowo asercje mogą zawierać atrybuty użytkownika, takie jak adresy e-mail czy typy użytkowników, co umożliwia bardziej szczegółową kontrolę dostępu po stronie dostawcy usług.

Podsumowanie

SAML to w swej istocie protokół oparty na XML, zawierający kluczowe elementy uwierzytelniania. Choć może wyglądać na magię, jest wynikiem przemyślanej technologii zaprojektowanej, żeby udaremniać ataki typu „man-in-the-middle” czy ataki powtórzeniowe.

Jego zdolność do łączenia wielu dostawców usług z IDP opartymi na różnych technologiach czyni go fundamentem świata cyfrowego uwierzytelniania.

Bądźmy w kontakcie

Wyrusz w swoją podróż po tożsamości w Salesforce z pewnością siebie! Więcej spostrzeżeń i wskazówek znajdziesz tutaj, na www.SteveTechArc.com, i na kanale YouTube @SteveTechArc (opens in a new tab). Zasubskrybuj i pogłębiaj swoje zrozumienie tożsamości w Salesforce.

Pomagam zmieniać świat, dzieląc się wiedzą o integracji z innymi architektami i z tymi, którzy są na drodze do architektury!

Transkrypcję wspomagała AI

STA 3.6