Tryb incognito, nazywany również trybem przeglądania prywatnego, zapobiega zapisywaniu historii przeglądania przez przeglądarkę internetową na urządzeniu. Włączenie trybu incognito gwarantuje usunięcie plików cookie i da...
Główna różnica pomiędzy protokołem SAML (Security Assertion Markup Language) a OAuth (Open Authorization) wynika z ich zastosowań: SAML koncentruje się na uwierzytelnianiu, a OAuth jest wykorzystywany na potrzeby autoryzacji. Pomimo różnic zarówno SAML, jak i OAuth są niezbędne do zwiększenia ogólnego bezpieczeństwa organizacji, umożliwiając autoryzowanym użytkownikom potwierdzenie tożsamości oraz dostęp do odpowiednich zasobów.
Czytaj dalej, aby dowiedzieć się, co jest SAML i OAuth, jakie są różnice oraz podobieństwa i czy należy je wykorzystać w organizacji.
Co to jest SAML
Security Assertion Markup Language (SAML) ułatwia proces logowania, umożliwiając użytkownikom logowanie za pomocą jednego zestawu danych uwierzytelniających i dostęp do wielu systemów bez ponownego wprowadzania danych uwierzytelniających za każdym razem. SAML działa poprzez przesyłanie danych uwierzytelniających w określonym formacie pomiędzy dostawcą tożsamości (IdP) a aplikacją internetową. Podczas próby zalogowania użytkownika aplikacja internetowa wykorzystująca SAML do uwierzytelniania przesyła do dostawcy tożsamości żądanie uwierzytelnienia danych uwierzytelniających logowania. Po wprowadzeniu nazwy użytkownika i hasła dostawca tożsamości wysyła do aplikacji internetowej specjalną wiadomość (potwierdzenie SAML), aby potwierdzić weryfikację tożsamości. IdP wysyła potwierdzenie SAML do aplikacji internetowej, do której użytkownik próbuje się zalogować, a następnie przeprowadza ocenę potwierdzenia SAML w celu przyznania dostępu. SAML ułatwia proces logowania w kilku aplikacjach internetowych, ograniczając czas potrzebny na logowanie do każdej z nich.
Co to jest OAuth?
Open Authorization (OAuth) umożliwia udostępnianie danych aplikacjom zewnętrznym bez przyznawania im dostępu do danych uwierzytelniających logowania. Załóżmy, że chcesz skorzystać z aplikacji wymagającej dostępu do rolki kamery przechowywanej w chmurze. Aplikacja wyświetla prośbę o zezwolenie na dostęp do danych, co powoduje przekierowanie użytkownika w celu zalogowania do dostawcy usługi przechowywania w chmurze. Po zalogowaniu użytkownika zostanie wyświetlone pytanie o zezwolenie na dostęp aplikacji do rolki kamery. W przypadku zgody użytkownika usługa w chmurze utworzy token dostępu, który przyznaje aplikacji dostęp do rolki kamery bez ujawniania danych uwierzytelniających logowania. Przyznanie dostępu za pomocą klucza zamiast hasła umożliwia uniknięcie udostępniania danych uwierzytelniających logowania aplikacji zewnętrznej. Zamiast tego aplikacja zewnętrzna uzyska dostęp wyłącznie do danych zatwierdzonych przez użytkownika.
Główne różnice pomiędzy SAML i OAuth
Zarówno SAML, jak i OAuth są protokołami bezpieczeństwa, które należy wdrożyć w organizacji na potrzeby ochrony danych, jednak występuje kilka istotnych różnic pomiędzy nimi.

SAML i OAuth mają różne przypadki użycia
Protokół SAML jest przeznaczony do uwierzytelniania korporacyjnego, a OAuth służy do autoryzacji pomiędzy aplikacjami lub usługami. SAML jest szczególnie przydatny w środowisku firmowym, gdy konieczne jest logowanie do wielu usług bez wprowadzania danych uwierzytelniających logowania za każdym razem. Załóżmy, że organizacja wykorzystuje różne aplikacje do obsługi poczty e-mail, marketingu, sprzedaży i działu kadr. Wykorzystanie SAML umożliwia jednokrotne zalogowanie do portalu organizacji i dostęp do wszystkich niezbędnych aplikacji bez konieczności ponownego logowania.
OAuth ułatwia zachowanie bezpieczeństwa danych uwierzytelniających logowania podczas ich udostępniania aplikacjom, takim jak platformy mediów społecznościowych lub usługi firm zewnętrznych. Na przykład po otwarciu aplikacji służbowej wymagającej zalogowania za pomocą konta Google wykorzystywany jest protokół OAuth. Oznacza to, że po autoryzacji przez użytkownika aplikacja może uzyskać dostęp do danych bez konieczności używania hasła.
SAML i OAuth wykorzystują różne modele zabezpieczeń
SAML wykorzystuje do zabezpieczenia danych podpisy cyfrowe oraz potwierdzenia, a OAuth tokeny dostępu. Podczas procesu logowania SAML potwierdza, że użytkownik jest tym, za kogo się podaje, weryfikując jego tożsamość. Do potwierdzeń SAML często zostają dodane podpisy cyfrowe, co potwierdza, że dane nie zostały zmienione i można im zaufać.
OAuth zamiast potwierdzeń lub podpisów cyfrowych wykorzystuje tokeny i zakresy do autoryzacji użytkowników. Po zezwoleniu użytkownika na dostęp aplikacji do danych aplikacja odbiera token dostępu, który umożliwia wyświetlenie danych bez konieczności podawania danych uwierzytelniających logowania. Zakresy umożliwiają określenie rodzaju tokenów dostępu. OAuth przyznaje określone uprawnienia bez udostępniania hasła, co podkreśla integralność danych i ogranicza dostęp aplikacji zewnętrznych wyłącznie do niezbędnych danych.
SAML i OAuth wykorzystują różne formaty danych
SAML wykorzystuje potwierdzenia oparte na XML, które zawierają szczegółowe atrybuty użytkowników. Potwierdzenia SAML w formacie XML obejmują dane użytkownika, daty ostatniego logowania oraz określenie danych, do których może uzyskać dostęp. Ze względu na złożoność kodu XML odczyt pliku i zarządzanie nim może być trudniejsze, dlatego ten protokół jest lepszym wyborem dla dużych przedsiębiorstw.
Dla odróżnienia OAuth wykorzystuje format JSON (JavaScript Object Notation) do zapisu danych. Format JSON jest łatwiejszy do odczytania niż XML, dlatego jest często wykorzystywany na potrzeby zapisu danych w aplikacjach internetowych. Tokeny dostępu OAuth mają zwykle postać obiektów JSON, które określają datę ważności tokena, przyznane uprawnienia oraz rodzaj tokena wykorzystywanego do uzyskania dostępu do danych.
Wdrożenie SAML jest bardziej skomplikowane w porównaniu z OAuth
SAML wykorzystuje potwierdzenia do weryfikacji tożsamości użytkowników i wymaga jednoczesnego działania wielu systemów, co wymaga skomplikowanej konfiguracji w celu zapewnienia poprawności procesu uwierzytelniania użytkowników. SAML oferuje bardziej zaawansowane funkcje dotyczące bezpieczeństwa, takie jak podpisy cyfrowe i szyfrowane potwierdzenia, co utrudnia wdrożenie tego protokołu z wykorzystaniem wielu warstw bezpieczeństwa.
Konfiguracja OAuth jest znacznie prostsza, głównie ze względu na wykorzystanie do reprezentacji danych formatu JSON zamiast XML. Format JSON jest łatwiejszy do odczytania i bardziej zwarty, dlatego jego ładowanie jest łatwiejsze i ma mniejsze wymagania. W przeciwieństwie do SAML konfiguracja protokołu OAuth jest mniej skomplikowana, ponieważ konieczne jest tylko określenie aplikacji oraz uprawnień. Wykorzystanie tokenów dostępu zamiast certyfikatów lub potwierdzeń ułatwia zarządzanie uprawnieniami użytkowników OAuth.
SAML i OAuth zarządzają sesjami w odmienny sposób
SAML tworzy sesje przeglądarki i obsługuje loginy wielu aplikacji. Po zalogowaniu do aplikacji za pośrednictwem IdP tworzona jest sesja, która umożliwia dostęp do kilku aplikacji bez konieczności wprowadzania danych uwierzytelniających logowania za każdym razem.
Różni się to od protokołu OAuth, który wykorzystuje tokeny dostępu do zarządzania sesjami. Po autoryzacji przez użytkownika aplikacja otrzymuje token umożliwiający dostęp do danych użytkownika przez ograniczony czas. Jeśli konieczny jest przedłużony dostęp, aplikacja może zażądać nowego tokena dostępu bez konieczności ponownego logowania.
Jakie są podobieństwa protokołów SAML i OAuth?
Mimo że SAML i OAuth różnią się wieloma kluczowymi elementami, mają kilka podobnych funkcji:
- Są to protokoły w otwartym standardzie, co oznacza, że są oparte na wytycznych bezpieczeństwa, które mogą zostać wdrożone przez dowolną organizację.
- Oba protokoły umożliwiają logowanie jednokrotne (SSO), które zapewnia dostęp do kilku aplikacji lub usług za pomocą jednego zestawu danych uwierzytelniających logowania. SAML i OAuth ograniczają liczbę wymaganych przypadków wprowadzania danych uwierzytelniających logowania, co oszczędza czas i ogranicza zagrożenia bezpieczeństwa.
- Oba protokołu obsługują federacyjne zarządzanie tożsamością (FIM), co umożliwia logowanie do wielu usług zewnętrznych, takich jak aplikacje różnych organizacji. SAML i OAuth umożliwiają dostęp do kilku zasobów IT za pomocą pojedynczego zestawu danych uwierzytelniających logowania, zabezpieczając proces logowania za pomocą potwierdzeń i tokenów.
Który z protokołów SAML i OAuth należy wykorzystać w organizacji?
Zamiast wyboru pomiędzy SAML i OAuth należy rozważyć wykorzystanie w organizacji obu protokołów, ponieważ nie są one zamiennikami. Mimo że SAML obsługuje uwierzytelnianie i autoryzację użytkowników, nadal korzystne jest użycie OAuth do zarządzania uprawnieniami użytkowników. Wykorzystanie w organizacji zarówno protokołu SAML, jak i OAuth umożliwia przyznawanie dostępu do systemów za pomocą SAML, a do zasobów za pomocą protokołu OAuth.
Podsumowanie
Na potrzeby ochrony danych organizacji przed nieautoryzowanymi użytkownikami warto wykorzystać zarówno protokół SAML, jak i OAuth. SAML weryfikuje tożsamości użytkowników podczas uzyskiwania dostępu do kilku usług lub aplikacji, a OAuth autoryzuje aplikacje na potrzeby dostępu do danych bez udostępniania haseł użytkownika. Jednoczesne wdrożenie protokołów SAML i OAuth może zwiększyć ogólne bezpieczeństwo oraz wygodę użytkowników, ograniczając czas wymagany na zalogowanie do wielu usług oraz oferując mniej skomplikowany proces zabezpieczenia danych.
Chcesz przekonać się jak rozwiązanie Keeper integruje się z dowolnym dostawcą tożsamości zgodnym z SAML 2.0? Poproś o demo rozwiązania Keeper SSO Connect®, aby zwiększyć ogólne bezpieczeństwo organizacji.