Autorizace pomocí SSO (Single Sign-On) - je to proces, který uživatelům umožňuje přístup k více webovým stránkám nebo aplikacím pomocí jediných přihlašovacích údajů. Namísto zadání přihlašovacího jména a hesla pro každou jednotlivou platformu se uživatel může přihlásit jednou a získat přístup ke všem svým účtům.
Základní myšlenkou SSO je mít jediný vstupní bod pro všechny připojené platformy. Když uživatel požádá o přístup k jedné z platforem, server SSO provede kontrolu uživatelských pověření a vygeneruje Token potvrzující jeho autorizaci. Tento token je poté převeden zpět na požadovaný zdroj, který jej zkontroluje a povolí přístup, pokud je platný.
Servery SSO obvykle používají standardní bezpečnostní protokoly, jako je SAML (Security Assertion Markup Language), OAuth (Open Authorization) nebo OpenID Connect pro výměnu informací mezi serverem a připojenými platformami.
Výhody autorizace pomocí SSO jsou zřejmé-uživatel má méně přihlašovacích údajů k zapamatování, proces přihlášení se zjednodušuje a správci se méně starají o zabezpečení. Autorizace pomocí SSO navíc umožňuje efektivnější správu přístupových práv uživatelů a snadnější proces jejich odvolání.
Autorizační proces pomocí SSO
Zpočátku se uživatel přihlásí na webový portál, který k autorizaci používá SSO. Při pokusu o přihlášení bude uživatel přesměrován na autorizační stránku SSO.
Na stránce autorizace musí uživatel poskytnout své přihlašovací údaje, jako je přihlašovací jméno a heslo. Tato data se pak ověřují pomocí databáze obsahující informace o uživatelích.
Pokud jsou přihlašovací údaje platné, vytvoří SSO pro uživatele identifikační značku nazvanou Token. Token obvykle obsahuje informace o uživateli, jako je jeho ID a role.
SSO vrací Token zpět na webový portál, kde se uživatel pokusil přihlásit. Dále může webový portál použít tento token k poskytování přístupu ke zdrojům a službám, které vyžadují autentizaci.
Při přístupu k novému prostředku nebo službě, která také používá SSO, webový portál odešle Token SSO k ověření uživatele. SSO poté zkontroluje validitu tokenu a pokud je token platný, poskytne přístup k prostředku nebo službě bez požadavku na nová pověření.
- Pokud Token vypršel nebo je neplatný, může být uživatel přesměrován na autorizační stránku SSO pro zadání nových přihlašovacích údajů.
- V případě, že se uživatel odhlásí, SSO může Token odvolat, aby se zabránilo jeho dalšímu používání.
To vše umožňuje uživateli přihlásit se jednou a získat přístup k mnoha zdrojům a službám, aniž by bylo nutné znovu ověřovat.
Co je SSO (Single Sign-On)
SSO (Single Sign-On) - je to metoda autorizace, která uživatelům umožňuje přístup k více webovým aplikacím nebo prostředkům pomocí jedné sady pověření.
Místo toho, aby uživatel pokaždé zadal uživatelské jméno a heslo při přihlášení do různých systémů, uživatel zadá své přihlašovací údaje pouze jednou. Po úspěšné autorizaci uživatel uloží autentizační informace, jako jsou tokeny nebo kukizy.
Když uživatel přejde na jiné aplikace nebo prostředky, SSO předá uložená autentizační data a automaticky se přihlásí, aniž by bylo nutné znovu zadávat data. To dává uživatelům pohodlí a šetří čas při používání různých systémů.
SSO používá různé protokoly a technologie, jako jsou OpenID Connect, OAuth a SAML (Security Assertion Markup Language), k výměně autentizačních informací mezi aplikacemi. Tyto protokoly zajišťují bezpečnost a ochranu dat během procesu autorizace.
SSO je široce používán v podnikovém prostředí, kde mají uživatelé přístup k více interním systémům a aplikacím. Používá se také v mnoha populárních online službách, kde se uživatelé mohou přihlásit pomocí účtů sociálních médií nebo jiných platforem.
Celkově SSO zjednodušuje proces autorizace a zvyšuje zabezpečení a uživatelům umožňuje pohodlně používat mnoho aplikací a prostředků, aniž by museli pokaždé zadávat přihlašovací údaje.
Výhody používání SSO
- Pohodlí pro uživatele: SSO umožňuje uživatelům vyhnout se nutnosti pamatovat si a zadávat přihlašovací údaje pro každý jednotlivý systém. Mohou se přihlásit jednou a přistupovat k různým systémům, aniž by bylo nutné znovu zadat heslo.
- Zvýšení bezpečnosti: Použití SSO může zvýšit zabezpečení, protože umožňuje spravovat a kontrolovat přístup uživatelů k různým systémům. Administrátoři mají možnost přiřadit různé úrovně přístupu v závislosti na roli uživatele a sledovat a zaznamenávat aktivity uživatelů.
- Úspora času a zdrojů: SSO snižuje zatížení uživatelů, protože mohou rychle přistupovat ke všem svým systémům pomocí jediného účtu. Kromě toho může snížit čas a náklady na správu systémů, protože správce nemusí udržovat a aktualizovat jednotlivé databáze uživatelů pro každý systém.
- Snadná integrace: SSO lze snadno integrovat s různými systémy a aplikacemi pomocí standardních protokolů, jako je SAML (Security Assertion Markup Language) nebo OAuth. To usnadňuje implementaci SSO do již existující infrastruktury.
- Vylepšená uživatelská zkušenost: Díky možnosti rychlého přístupu k více systémům mají uživatelé lepší uživatelskou zkušenost. Mohou se snadno pohybovat mezi systémy, aniž byste museli zadávat a pamatovat si různá hesla.
Obecně platí, že použití SSO poskytuje pohodlí, bezpečnost, úsporu času a zdrojů a také lepší uživatelský zážitek. Umožňuje organizacím snadno spravovat přístup uživatelů k systémům a snížit zatížení uživatelů, což z něj činí velmi atraktivní řešení.
Jak funguje autorizace pomocí SSO
Autorizace pomocí SSO (Single Sign-On) je mechanismus, který uživatelům umožňuje přístup k různým webovým aplikacím a prostředkům pomocí jediné sady pověření. Tímto způsobem uživatel provede autorizaci pouze jednou a získá přístup k více aplikacím, aniž by musel znovu zadávat heslo.
Proces autorizace pomocí SSO zahrnuje následující kroky:
- Uživatel požádá o přístup k webové aplikaci nebo prostředku, který vyžaduje ověření.
- Webová aplikace přesměruje uživatele do autentizačního centra SSO.
- Uživatel zadá své přihlašovací údaje (např. přihlašovací jméno a heslo) na ověřovací stránce SSO.
- SSO autentizační server kontroluje přenesená pověření a v případě úspěchu generuje jedinečný autentizační token.
- Autentizační token je předán zpět webové aplikaci, která jej může použít k ověření uživatele.
- Uživatel získá přístup k požadovanému prostředku, aniž by zadal další přihlašovací údaje, díky uloženému autentizačnímu tokenu.
Přenos autentizačního tokenu lze provádět různými metodami, včetně použití HTTP záhlaví, cookie nebo nastavení URL. Jedním z nejpopulárnějších protokolů SSO je SAML (Security Assertion Markup Language), který je široce používán v podnikovém prostředí.
SSO umožňuje zjednodušit proces správy přístupu k různým systémům, zvýšit zabezpečení a usnadnit uživatelskou zkušenost, protože uživatel si musí zapamatovat a zadat pouze jednu sadu přihlašovacích údajů pro přístup k více prostředkům.
Kroky procesu autorizace pomocí SSO
Autorizace pomocí Single Sign-On (SSO) zahrnuje několik kroků:
| Krok 1: | Uživatel se snaží získat přístup k zabezpečenému prostředku, který vyžaduje autentizaci. Místo zadávání přihlašovacích údajů přímo na tomto prostředku je uživatel přesměrován na stránku poskytovatele SSO. |
| Krok 2: | Uživatel zadá své přihlašovací údaje na stránce poskytovatele SSO. Obvykle se jedná o uživatelské jméno a heslo, ale může obsahovat i další data, jako je dvoufaktorové ověřování. |
| Krok 3: | Poskytovatel SSO kontroluje přihlašovací údaje uživatele. Pokud jsou přípustné, poskytovatel SSO generuje ověřovací token pro uživatele. |
| Krok 4: | Uživatel je přesměrován zpět na zabezpečený zdroj a poskytuje autentizační token. |
| Krok 5: | Zabezpečený zdroj odešle ověřovací token poskytovateli SSO ke kontrole. Pokud je token platný, poskytovatel SSO vrátí uživateli autentizační údaje. |
Tyto kroky zajišťují bezpečnou a pohodlnou autorizaci uživatele pomocí SSO. Uživatel se může přihlásit jednou a přistupovat ke všem prostředkům podporujícím SSO, aniž by musel pokaždé zadávat přihlašovací údaje.
Příklady řešení SSO a jejich aplikace
1. OpenID Connect (OIDC)
OpenID Connect je jedním z nejběžnějších protokolů SSO. Používá se k ověřování a autorizaci uživatelů mezi aplikací a poskytovatelem identity. OIDC implementuje doplněk nad protokolem OAuth 2.0 a umožňuje uživatelům ověřovat pomocí účtů poskytovaných různými poskytovateli (např. Google, Facebook, Microsoft).
Uplatnění: OIDC se často používá v různých webových aplikacích, aby uživatelům umožnil přihlásit se pomocí svých účtů sociálních médií nebo e-mailových služeb.
2. Security Assertion Markup Language (SAML)
SAML je standardní protokol SSO, který se používá k výměně informací o ověřování a autorizaci mezi poskytovatelem ID (IdP) a poskytovatelem služeb (SP). Uživatel je ověřen jednou pomocí přihlašovacích údajů IdP a tyto informace se poté používají k autorizaci uživatele v různých službách připojených k SP.
Uplatnění: SAML je široce používán v podnikových prostředích, kde je nutná jednotná autentizace a autorizace uživatelů na různých systémech.
3. JSON Web Token (JWT)
JWT je otevřený standard, který se používá k reprezentaci tvrzení o autentizaci a autorizaci v chráněné a kompaktní formě. JWT se skládá ze tří částí: záhlaví obsahující informace o typu tokenu a šifrovacím algoritmu, užitečné zatížení obsahující prohlášení o uživateli (jako je ID uživatele) a podpisy vytvořené pomocí tajného klíče.
Uplatnění: JWT je široce používán pro autorizaci a autentizaci v architektuře mikroservisu a také pro přístup k API a přenos deklarací mezi různými službami.