Systém jednotného přihlašování uživatelů (SSO)
Jistě máte ve své firmě nebo instituci řadu různých webových aplikací, do kterých se vaši uživatelé přihlašují.
Výhody řešení
-
pohodlí
– uživatel má jen jedno jméno a heslo a zadává tyto údaje na jednom místě – je automaticky přesměrován na IdP a odtamtud zpět do aplikace (SP);
pokud byl na IdP přihlášen (např. používal jinou službu využívající tento systém), nemusí se přihlašovat znovu
-
předávání atributů
– IdP neposkytuje pouze informaci o tom, který uživatel se přihlásil, ale i řadu dalších informací o něm
– SP se tak může dozvědět např. jméno, příjmení, e-mailové adresy, skupiny, oprávnění uživatele
-
bezpečnost
– jednotlivé aplikace (SP) nepřijdou vůbec do styku s heslem uživatele – pouze se bezpečnou cestou dozví, který uživatel je přihlášen, jaká má práva, případně další informace o něm
-
přístup k externím službám nebo přístup externích uživatelů
– díky tomu lze vybudovat infrastrukturu s jednotným přihlašováním napříč několika firmami nebo institucemi
– např. můžete povolit přístup pro uživatele svých zákazníků (věřit jejich IdP) a ti se pak přihlásí k vaší aplikaci bez toho, abyste jim museli zakládat ručně účty nebo třeba posílat zapomenutá hesla
Základní pojmy
-
databáze uživatelů
– obsahuje seznam vašich uživatelů a informace o nich.
Typicky se využívá LDAP adresář nebo relační databáze (SQL).
-
IdP
– Identity provider
– Ověřuje totožnost uživatele a po úspěšném přihlášení o něm předá informace poskytovateli služby (SP).
-
SP
– Service provider
– poskytuje nějakou užitečnou službu uživatelům. Nepřijde do styku s heslem uživatele a informace o přihlášeném uživateli přejímá od IdP.
-
SAML
– Security Assertion Markup Language
– XML standard a protokol sloužící k výměně autentizačních a autorizačních dat – používá se při komunikaci mezi IdP a SP.
-
Shibboleth
– implementace SAML standardu. Shibboleth je svobodný software spravovaný organizací Shibboleth Consortium.
-
Metadata
– XML soubor, který popisuje jednu část systému (IdP nebo SP) a obsahuje její šifrovací certifikát, kontaktní údaje a další informace.
IdP a SP si musí navzájem vyměnit metadata, než spolu mohou komunikovat. Tento proces lze automatizovat zapojením se do stejné federace identit.
-
Atributy
– informace o uživateli předávané od IdP k SP – např. jméno a příjmení, uživatelské jméno, e-mail, stav (student, zaměstnanec…), nebo přidělená oprávnění.
Které atributy se předají, lze nastavit pro jednotlivé SP.
IdP také může chránit soukromí uživatele a k SP předat např. pouze informaci, že se jedná o studenta určité fakulty nebo zaměstnance určitého útvaru, ale neprozradí kterého.
Autentizace i autorizace uživatelů
IdP neposkytuje SP pouze informaci o tom, kdo je uživatel (autentizace),
ale i seznam oprávnění (autorizace) a obecně množinu atributů – informací o tomto uživateli.
Zdroje atributů
IdP může načítat informace o uživatelích z různých zdrojů:
- LDAP adresář
- SQL databáze
- atributy složené pomocí šablony
- atributy dopočítané pomocí skriptu
Zdroje je možné kombinovat – např. můžete mít hlavní databázi uživatelů v LDAPu a z něj načítat základní údaje
a další informace o uživatelích mít v relační databázi.
Další atributy lze dopočítat pomocí šablony nebo skriptu z hodnot jiných atributů.
Svobodný software a otevřené standardy
Nabízené řešení je postaveno výhradně na svobodném softwaru (Shibboleth)
a otevřených standardech.
Zprávy mezi IdP a SP se předávají ve formátu SAML,
což umožňuje propojení systémů od různých dodavatelů – poskytovatel služby (SP) může klidně používat jiný software než je Shibboleth.
Nabídka
- analýza požadavků a návrh řešení
- instalace a přizpůsobení systému (IdP a jednotlivých SP)
- zaškolení uživatelů a správců
- podpora, údržba a další rozvoj systému
© 2010-2024 Ing. František Kučera