Příručka vývojáře k ověřování SAML [3 Online Tools]

V dnešním světě je zjednodušení správy hesel zásadní. S tím, jak společnosti pokročí v digitalizaci kupředu, zaměstnanci využívají nástroje pro spolupráci, zasílání zpráv a úložiště více než kdy jindy.

To představuje výzvu pro vývojáře: jak zajistíte zaměstnancům bezpečný přístup k interním aplikacím a datům uloženým v cloudu? Pro mnohé je odpovědí ověřování SAML!

Co je SAML?

Security Assertion Markup Language neboli SAML je otevřený standard, který zjednodušuje procesy ověřování. Je založen na XML (Extensible Markup Language), který standardizuje komunikaci mezi autentizovanými entitami a webovou službou nebo aplikací. Jinými slovy, SAML je to, co umožňuje používat jediné přihlášení k přihlášení do více různých aplikací.

Na jedné straně poskytovatel služeb potřebuje ověření poskytovatele identity (IdP), aby mohl uživateli udělit oprávnění. Například Salesforce je poskytovatel služeb, který se při ověřování uživatelů spoléhá na poskytovatele identity.

Na druhé straně poskytovatel identity ověřuje, že koncový uživatel je tím, za koho se vydává, a odesílá tato data poskytovateli služeb spolu s přístupovými právy uživatele ke službě. Jedním z příkladů je AuthO, jeden z lídrů v poskytování řešení identity.

A co jednotné přihlášení SAML?

Jednou z hlavních rolí SAML je umožnit jednotné přihlašování. Před SAML bylo jednotné přihlášení možné, ale záviselo na souborech cookie a bylo životaschopné pouze ve stejné doméně.

SAML umožňuje jednotné přihlášení (SSO) tím, že uživatelům umožňuje přístup k více aplikacím pomocí jediného přihlášení a sady pověření. Ačkoli SAML není novinkou, existuje již od roku 2002 a mnoho nových aplikací a společností využívajících SaaS používá SAML pro jednotné přihlášení. Jeho nejnovější verze, SAML 2.0, umožňuje webové jednotné přihlašování napříč doménami a je standardem pro autorizaci zdrojů.

  Uspořádejte videokonferenční hovor tam, kde nikdo nepotřebuje účet

Jaké jsou výhody ověřování SAML?

SAML přináší mnoho výhod pro zabezpečení, uživatele a další poskytovatele služeb (SP).

Jednoduchost: Uživatelé se k IdP přihlásí pouze jednou a poté si mohou užívat bezproblémový a bezpečnější přístup ke všem aplikacím.

Zvýšená bezpečnost: Mnoho poskytovatelů služeb nemá čas ani prostředky na implementaci a vynucování bezpečného ověřování uživatelů při přihlášení. Obecně platí, že IdP jsou lépe vybaveni k ověřování uživatelských identit. Navrácením autentizace poskytovateli identity umožňuje SAML bezpečné ověřování, které může použít více vrstev zabezpečení, jako je MFA.

Vylepšená uživatelská zkušenost: Díky SAML se vaši uživatelé mohou rozloučit s bolestmi hlavy ze snahy zapamatovat si více uživatelských jmen a hesel.

Snížená režie správy: Poskytovatelé služeb mohou zlepšit zabezpečení své platformy bez ukládání hesel. Není třeba řešit problémy se zapomenutým heslem. Help desk snižuje náklady a uvolňuje technické týmy k řešení dalších naléhavých požadavků.

Co je Auth0 a jak je spojeno s ověřováním SAML?

Auth0 je platforma, která poskytuje službu ověřování a autorizace uživatelů. Může to být jak IdP, tak SP. Auth0 nabízí univerzální přihlášení, které lze integrovat s SAML. Vývojáři často používají Auth0 s SAML k diverzifikaci rizika tím, že mají více IdP.

Auth0 lze použít s téměř všemi hlavními jazyky a rozhraními API. Může být také integrován se sociálními poskytovateli, databázemi a adresáři LDAP.

Tok jednotného přihlášení SAML

Jednou z hlavních rolí SAML je povolit jednotné přihlášení (SSO). Před SAML bylo jednotné přihlášení možné, ale záviselo na souborech cookie a bylo životaschopné pouze ve stejné doméně.

SAML umožňuje jednotné přihlašování tím, že uživatelům umožňuje přístup k více aplikacím pomocí jediného přihlášení a pověření. SAML není novinka, existuje již od roku 2002 a mnoho nových aplikací a společností využívajících SaaS používá SAML pro jednotné přihlášení. Jeho nejnovější verze, SAML 2.0, umožňuje webové jednotné přihlašování napříč doménami a je standardem pro autorizaci zdrojů.

Konkrétně se jedná o vyžádání ověření od uživatele pouze jednou, když uživatel používá různé aplikace. Můžeme si například představit ověřování Google, sdílené mezi různými službami Gmail, Youtube, Google Apps atd.

  Jak vypočítat čas v Tabulkách Google

V tomto režimu provozu je Google poskytovatelem identity (IdP) pro své služby. Tyto služby se nazývají „poskytovatelé služeb“ (SP).

Autentizace

Při připojení k externí aplikaci odešle neznámého uživatele k firemnímu IdP. Tento IdP je webová služba přístupná v HTTPS. Může být hostován interně nebo externě.

Interní ověřování

Uživatel pak prokáže svou identitu IdP. Tato fáze může být provedena explicitním ověřením (login/heslo) nebo šířením již existujícího tokenu.

Generování tvrzení

IdP pak vygeneruje „token“, jakýsi průkaz totožnosti uživatele, platný pouze pro požadovanou službu a po danou dobu. V tomto tokenu najdeme zejména:

  • Identita uživatele: přihlašovací jméno, e-mail nebo jiná pole
  • Volitelné další atributy: příjmení, jméno, jazyk atd.
  • Doba platnosti tokenu
  • Podpis tokenu IdP

Přenos z IdP do SP

V nejpraktičtějším režimu se tvrzení nepředává přímo od poskytovatele identity poskytovateli služeb, ale prostřednictvím samotného uživatele. Prostřednictvím mechanismu HTTP bounce poskytne IdP klientskému prohlížeči token k přenosu poskytovateli služeb. Lze to přirovnat k průkazu totožnosti, který poskytuje prefektura, který má být předložen jakémukoli úřadu.

Spotřeba tokenu SP

Poskytovatel služeb obdrží token od uživatele. SP se rozhodl tomuto poskytovateli identity důvěřovat. Ověřuje také podpis a integritu tokenu a také dobu platnosti. Pokud jsou testy průkazné, SP otevře uživateli relaci.

Zdroj: Wikipedie

Autentizace SAML vs. Autorizace uživatele

Autentizace SAML je často zaměňována s autorizací. Pro přehlednost je důležité rozlišovat pojmy autentizace a autorizace.

Autentizace: je to ověření identity uživatele; v zásadě se ověřuje, zda jsou tím, kým říkají, že jsou. Příkladem je použití e-mailu a hesla pro přístup do systému – jedna relace nebo přihlášení pro jiné platformy.

Autorizace: Jedná se o oprávnění, která uživatel uděluje nástroji třetí strany pro přístup ke zdrojům ve svém účtu. Se souhlasem uživatele si autorizační protokol vyměňuje tokeny bez přístupu k jeho přihlašovacím údajům. Obvykle to děláte, když povolujete platformě (jako je Facebook) přístup k určitým informacím z vašeho účtu Google.

  Jak si změřit hladinu kyslíku v krvi pomocí Apple Watch

Nutné znát terminologie SAML

Tvrzení SAML

Aserce SAML obvykle předávají poskytovatelé identit poskytovatelům služeb. Potvrzení obsahují prohlášení, která poskytovatelé služeb používají k rozhodování o řízení přístupu. SAML poskytuje tři typy prohlášení:

  • Autentizační prohlášení tvrdí, že poskytovatel služeb byl skutečně ověřen u poskytovatele identity v daném čase pomocí autentizační metody.
  • Deklarace atributu tvrdí, že předmět je spojen s určitými atributy. Atribut je jednoduše dvojice název-hodnota. Spoléhající se strany používají atributy k rozhodování o řízení přístupu.
  • Prohlášení o autorizovaném rozhodnutí tvrdí, že subjektu je povoleno jednat se zdrojem tím, že pro něj předloží důkazy. Expresivita stavů rozhodnutí o autorizaci v SAML je záměrně omezena.

Spotřebitelský servis tvrzení

Služba Assertion Consumer Service neboli ACS je bod, kde se poskytovatel identity přesměruje po odpovědi na ověření uživatele. Bod, na který poskytovatel identity přesměrovává, je koncový bod HTTPS, který přenáší osobní informace.

Výchozí stav relé

Je to výchozí adresa URL, na kterou bude uživatel přesměrován po ověření zprávy SAML. Výchozí stav přenosu se používá ke koordinaci zpráv mezi IdP a SP.

SAML je široce používaný protokol a často je potřeba dekódovat tvrzení SAML. Níže jsou uvedeny některé z nejlepších nástrojů SAML pro kódování, dekódování a formátování zpráv a tvrzení SAML:

#1. Nástroj SAML

Nástroj SAML od OneDesign je kolekce online nástrojů a sad nástrojů SAML. Patří mezi ně různé nástroje pro kódování a dekódování zpráv SAML, šifrování a dešifrování výrazů a podepisování a ověřování zpráv a výrazů SAML. SAMLtool také poskytuje několik různých pluginů pro integraci těchto nástrojů s několika CMS.

#2. Samtool.io

Nabízí Auth0, samltool.io je online nástroj, který také dekódujete, kontrolujete a ověřujete zprávy a tvrzení SAML jednoduchým vkládáním nezpracovaných XML nebo adres URL obsahujících požadavky.

#3. dekodér SAM

dekodér SAM je jednoduchý online nástroj pro dekódování SAML nabízený PingIdentity. Dekodér SAM lze použít k dekódování, nafouknutí a formátování zpráv, výrazů a metadat SAML.

Závěrečná slova

Standard SAML je velmi užitečný pro implementaci centrální instance ověřování založené na značkovacím jazyce. Jednou z jeho významných výhod je, že nabízí vysokou účinnost a vysoký bezpečnostní standard.

Zejména je minimalizován počet možných úniků zabezpečení, protože jednotlivé aplikace nemusí ukládat nebo synchronizovat uživatelská data. Tímto způsobem je dosaženo jednoho z primárních cílů, kterým je sladit vysoký stupeň zabezpečení s nejlepší možnou mírou snadného použití.

Můžete se také podívat na některé z nejlepších platforem pro ověřování uživatelů.