Enotna prijava ali SSO
Single Sign-On (SSO ali enotna prijava) je način avtentikacije uporabnikov ki omogoča, da se uporabniku ni potrebno večkrat prijaviti v primeru dostopa do različnih aplikacij. Uporabnik ima tako le eno uporabniško ime in geslo, kar poenostavi delo in življenje uporabnika ter močno poveča varnost. Spletni brskalnik uporablja za preverjanje pristnosti možnost posredovanja in shranjevanja “piškotkov”. Prenos podatkov poteka običajno v formatu XML, ki omogoča varen prenos po standardu SAML (Security Assertion Markup Language). Z uporabo SAML-a se lahko ponudnik storitev (Service Provider) poveže z zunanjim sistemom – Ponudnik identitet (Identity Provider) in tako varno avtenticira uporabnika.
Postopek prijave
Slika prikazuje podroben vpogled v postopek prijave za Google Apps aplikacijo.
-
- Uporabnik poskuša doseči gostujočo Google aplikacijo, kot je Gmail, Documents, Start Pages ali druge Googlove storitve.
- Google ustvari SAML zahtevo za avtorizacijo. Zahteva SAML je kodirana in vključena v URL za partnerjevo SSO storitev. Parameter RelayState, ki vsebuje kodiran URL Googlove aplikacije, ki jo uporabnik poskuša doseči, je prav tako vgrajen v SSO URL. RelayState parameter naj bi bil neviden identifikator, ki se vrne brez kakršne koli spremembe ali pregleda.
- Google pošlje preusmeritev na uporabnikov brskalnik. Preusmeritveni URL vključuje kodirano SAML avtorizacijsko zahtevo, ki naj bi bila posredovana partnerjevi SSO storitvi.
- Partner dekodira zahtevo SAML in razširi URL za ACS Google (Assertion Consumer Service) in uporabnikov ciljni URL (RelayState parameter). Partner nato potrdi uporabnika. Partnerji lahko potrdijo pristnosti uporabnikov z bodisi veljavno prijavo, ali s preverjanjem veljavnih piškotkov te seje.
- Partner ustvarja SAML odgovor, ki vsebuje overjeno uporabnikovo uporabniško ime. V skladu z SAML 2.0 specifikacijo je ta odgovor digitalno podpisan s partnerjevim javnim in zasebnim DSA ali RSA ključem.
- Partner dekodira SAML odgovor in RelayState parameter, nato izpiše informacije na uporabnikovem brskalniku. Partner zagotavlja mehanizem, da brskalnik lahko podatke posreduje ACS Google-u. Na primer, partner lahko združi SAML odziv in ciljni URL v obrazec in zagotovi gumb, ki ga uporabniki kliknejo, ter tako predložijo obrazec Google-u.
- Googlov ACS preveri SAML odziv s pomočjo partnerjevega javnega ključa. Če je odziv uspešno preverjen, ACS preusmeri uporabnika na ciljni URL.
- Uporabnik je bil preusmerjen na ciljni naslov URL in je prijavljen v Google Apps.
Na tak način se izvede varna prijava v spletno aplikacijo. Za vse ostale storitve, ki jih ponuja v okviru Google Apps for Education Google, se ni potrebno ponovno prijavljati, saj gre za enotno prijavo, kar velja za vse aplikacije v izbrani domeni.
