Ghidul dezvoltatorului pentru autentificarea SAML [3 Online Tools]

În lumea de astăzi, simplificarea gestionării parolelor este esențială. Pe măsură ce companiile avansează în digitalizare, angajații folosesc instrumente de colaborare, mesagerie și stocare mai mult ca niciodată.

Acest lucru reprezintă o provocare pentru dezvoltatori: cum le oferiți angajaților acces securizat la aplicațiile interne și la datele stocate în cloud? Pentru mulți, răspunsul este autentificarea SAML!

Ce este SAML?

Security Assertion Markup Language sau SAML este un standard deschis care simplifică procesele de autentificare. Se bazează pe XML (Extensible Markup Language), care standardizează comunicarea dintre entitățile care urmează să fie autentificate și serviciul sau aplicația web. Cu alte cuvinte, SAML este ceea ce face posibilă utilizarea unei singure date de conectare pentru a vă conecta la mai multe aplicații diferite.

Pe de o parte, un furnizor de servicii are nevoie de autentificarea furnizorului de identitate (IdP) pentru a acorda autorizare utilizatorului. De exemplu, Salesforce este un furnizor de servicii care se bazează pe un furnizor de identitate pentru autentificarea utilizatorilor.

Pe de altă parte, un furnizor de identitate autentifică faptul că utilizatorul final este cine spune că este și trimite acele date furnizorului de servicii împreună cu drepturile de acces ale utilizatorului la serviciu. Un exemplu este AuthO, unul dintre liderii în furnizarea de soluții de identitate.

Ce zici de conectarea unică SAML?

Unul dintre principalele roluri ale SAML este de a activa SSO. Înainte de SAML, SSO era posibil, dar depindea de cookie-uri și era viabil doar pe același domeniu.

SAML permite conectarea unică (SSO) permițând utilizatorilor să acceseze mai multe aplicații cu o singură autentificare și un set de acreditări. Deși SAML nu este nou, există din 2002 și multe aplicații noi și companii SaaS folosesc SAML pentru SSO. Cea mai recentă versiune, SAML 2.0, permite SSO pe mai multe domenii pe web și este standardul pentru autorizarea resurselor.

Care sunt beneficiile autentificării SAML?

SAML aduce multe beneficii pentru securitate, utilizatori și alți furnizori de servicii (SP).

  Un ghid pas cu pas de la experți

Simplitate: utilizatorii se conectează doar o singură dată la IdP și apoi se bucură de un acces fără probleme și mai sigur la toate aplicațiile.

Securitate sporită: Mulți SP-uri nu au timpul sau resursele pentru a implementa și a impune autentificarea securizată a utilizatorilor la conectare. În general, IdP-urile sunt mai bine echipate pentru a autentifica identitățile utilizatorilor. Returnând autentificarea către IdP, SAML permite autentificarea sigură care poate aplica mai multe straturi de securitate, cum ar fi MFA.

Experiență îmbunătățită a utilizatorului: cu SAML, utilizatorii dvs. își pot lua rămas bun de la durerile de cap de a încerca să-și amintească mai multe nume de utilizator și parole.

Regim redus de gestionare: furnizorii de servicii își pot îmbunătăți securitatea platformei fără a stoca parole. Nu este nevoie să se ocupe de problemele cu parolele uitate. Serviciul de asistență reduce costurile și eliberează echipele tehnice pentru a face față altor solicitări urgente.

Ce este Auth0 și cum este conectat la autentificarea SAML?

Auth0 este o platformă care oferă servicii de autentificare și autorizare a utilizatorilor. Poate fi atât ca IdP, cât și ca SP. Auth0 oferă o conectare universală care poate fi integrată cu SAML. Dezvoltatorii folosesc adesea Auth0 cu SAML pentru a diversifica riscul având mai multe IdP.

Auth0 poate fi folosit cu aproape toate limbile și API-urile majore. De asemenea, poate fi integrat cu furnizorii de servicii sociale, bazele de date și directoarele LDAP.

Fluxul SSO SAML

Unul dintre principalele roluri ale SAML este de a activa Single Sign-on (SSO). Înainte de SAML, SSO era posibil, dar depindea de cookie-uri și era viabil doar pe același domeniu.

SAML permite SSO permițând utilizatorilor să acceseze mai multe aplicații cu o singură autentificare și acreditări. SAML nu este nou, există din 2002 și multe aplicații noi și companii SaaS folosesc SAML pentru SSO. Cea mai recentă versiune, SAML 2.0, permite SSO pe mai multe domenii pe web și este standardul pentru autorizarea resurselor.

Concret, aceasta presupune solicitarea de autentificare de la utilizator o singură dată când acesta din urmă utilizează aplicații diferite. De exemplu, ne putem gândi la autentificarea Google, partajată între diferitele servicii Gmail, Youtube, Google Apps etc.

În acest mod de operare, Google este furnizorul de identitate (IdP) pentru serviciile sale. Aceste servicii sunt numite „furnizori de servicii” (SP).

  Totul despre strategia de migrare în cloud în mai puțin de 10 minute

Autentificare

Când se conectează la aplicația externă, acesta trimite utilizatorul necunoscut la IdP-ul corporativ. Acest IdP este un serviciu web accesibil în HTTPS. Poate fi găzduit intern sau extern.

Autentificare internă

Utilizatorul își dovedește apoi identitatea către IdP. Această fază se poate face prin autentificare explicită (login/parolă) sau prin propagarea unui token preexistent.

Generarea afirmației

IdP-ul va genera apoi un „token”, un fel de carte de identitate a utilizatorului, valabil doar pentru serviciul solicitat și pentru un timp dat. În acest simbol, vom găsi în special:

  • Identitatea utilizatorului: autentificare, e-mail sau alte câmpuri
  • Atribute suplimentare opționale: nume, prenume, limbă etc.
  • O perioadă de valabilitate a simbolului
  • O semnătură a jetonului de către IdP

Transmiterea de la IdP la SP

În modul cel mai practic, afirmația nu este transmisă direct de la IdP la SP, ci prin intermediul utilizatorului însuși. Printr-un mecanism de respingere HTTP, IdP-ul va furniza browserului client token-ul pentru a-l transmite furnizorului de servicii. Se poate compara cu buletinul de identitate furnizat de prefectura pentru a fi prezentat oricarei autoritati.

Consumul jetonului de către SP

Furnizorul de servicii primește jetonul de la utilizator. SP a ales să aibă încredere în acest IdP. De asemenea, validează semnătura și integritatea jetonului, precum și perioada de valabilitate. Dacă testele sunt concludente, SP deschide o sesiune utilizatorului.

Sursa: Wikipedia

Autentificare SAML vs. Autorizarea utilizatorului

Adesea, autentificarea SAML este confundată cu autorizarea. Pentru claritate, este important să se diferențieze conceptele de autentificare și autorizare.

Autentificare: este validarea identității utilizatorului; practic, se verifică dacă sunt cine spun că sunt. Un exemplu este utilizarea e-mailului și a parolei pentru a accesa un sistem – o singură sesiune sau autentificare pentru alte platforme.

Autorizare: acestea sunt permisiunile pe care utilizatorul le acordă unui instrument terță parte pentru a accesa resursele din contul său. Cu aprobarea utilizatorului, protocolul de autorizare schimbă token-uri fără a le accesa acreditările. De obicei faceți acest lucru atunci când permiteți unei platforme (cum ar fi Facebook) să acceseze anumite informații din contul dvs. Google.

Trebuie să cunoașteți Terminologiile SAML

Aserțiune SAML

Afirmațiile SAML sunt de obicei transmise de către furnizorii de identitate furnizorilor de servicii. Afirmațiile conțin declarații pe care furnizorii de servicii le folosesc pentru a lua decizii de control al accesului. SAML oferă trei tipuri de declarații:

  • Declarațiile de autentificare afirmă că furnizorul de servicii a fost într-adevăr autentificat cu furnizorul de identitate la un moment dat cu o metodă de autentificare.
  • O declarație de atribut afirmă că un subiect este asociat cu anumite atribute. Un atribut este pur și simplu o pereche nume-valoare. Părțile care se bazează folosesc atributele pentru a lua decizii de control al accesului.
  • O declarație de decizie autorizată afirmă că unui subiect îi este permis să acționeze asupra unei resurse prezentând dovezi pentru aceasta. Expresivitatea prevederilor deciziei de autorizare în SAML este limitată în mod deliberat.
  4 aplicații care oferă o suită cuprinzătoare de editare foto

Assertion Consumer Service

Assertion Consumer Service sau ACS este punctul în care furnizorul de identitate redirecționează după răspunsul de autentificare a utilizatorului. Punctul către care redirecționează furnizorul de identitate este un punct final HTTPS care transferă informații personale.

Starea implicită a releului

Este adresa URL implicită pe care utilizatorul va fi redirecționat după autentificarea mesajului SAML. Starea de releu implicită este utilizată pentru a coordona mesajele între IdP și SP.

SAML este un protocol utilizat pe scară largă și adesea trebuie să decodificați afirmațiile SAML. Iată câteva dintre cele mai bune instrumente SAML pentru codificarea, decodarea și formatarea mesajelor și aserțiilor SAML:

#1. SAMLtool

SAMLtool de OneDesign este o colecție de instrumente și seturi de instrumente SAML online. Acestea includ diverse instrumente pentru codificarea și decodarea mesajelor SAML, criptarea și decriptarea aserțiilor și semnarea și validarea mesajelor și aserțiilor SAML. SAMLtool oferă, de asemenea, mai multe plugin-uri diferite pentru a integra aceste instrumente cu mai multe CMS.

#2. Samtool.io

Oferit de Auth0, samltool.io este un instrument online care, de asemenea, puteți decoda, inspectați și verificați mesajele și afirmațiile SAML prin simpla inserare XML brută sau URL-uri care conțin solicitări.

#3. Decodor SAM

Decodor SAM este un instrument online simplu pentru decodarea SAML oferit de PingIdentity. Decodorul SAM poate fi folosit pentru a decoda, a umfla și a formata mesaje, aserțiuni și metadate SAML.

Cuvinte finale

Standardul SAML este foarte util pentru implementarea unei instanțe de autentificare centrală bazată pe limbajul de marcare. Unul dintre avantajele sale semnificative este că oferă o eficiență ridicată și un standard de securitate ridicat.

În special, numărul posibilelor scurgeri de securitate este redus la minimum, deoarece aplicațiile individuale nu trebuie să stocheze sau să sincronizeze datele utilizatorului. În acest fel, se atinge unul dintre obiectivele primare, care este concilierea unui grad ridicat de securitate cu cel mai bun nivel posibil de ușurință în utilizare.

Puteți, de asemenea, să vă uitați la unele dintre cele mai bune platforme de autentificare a utilizatorilor.