Teknologian jakaminen

Arkkitehtuurihaastattelu - skenaarion kysymykset - miten kertakirjautuminen (SSO) otetaan käyttöön

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Yleiskatsaus

Single Sign-On (SSO) on todennusmekanismi, jonka avulla käyttäjät voivat kirjautua sisään yhdellä tunnistetiedolla useisiin sovelluksiin ja verkkosivustoihin. Tämä tarkoittaa, että käyttäjien tarvitsee kirjautua sisään vain kerran useissa sovelluksissa tai palveluissa

Evästepohjainen

Käytä ylätason verkkotunnuksen evästemekanismia asettaaksesi jaetun evästeen pääverkkotunnuksen alle. Aliverkkotunnuksen nimi voi lukea tämän evästeen käyttäjän henkilöllisyyden vahvistamiseksi.
Tämä menetelmä soveltuu kertakirjautumiseen useiden aliverkkotunnusten välillä saman pääverkkotunnuksen alla, mutta sitä ei voida soveltaa, jos pääverkkotunnukset ovat erilaisia.
Edut: Yksinkertainen toteuttaa, sopii useille aliverkkotunnuksille saman pääverkkotunnuksen alla.
Haitat: Ei sovellu verkkotunnusten välisille nimille, alhainen suojaus ja alttiina man-in-the-middle-hyökkäyksille ja cross-site scripting (XSS) -hyökkäyksille.

Perustuu tunnukseen (OAuth, JWT)

Kun käyttäjä todentaa identiteetintarjoajan, hän hankkii Tokenin (kuten Access Tokenin tai JWT:n OAuthissa).
Token tallennetaan asiakaspuolelle (kuten Cookie, LocalStorage) tai palvelinpuolelle (kuten Session), kun käyttäjä käyttää muita sovelluksia, sovellus käyttää Tokenia käyttäjän henkilöllisyyden vahvistamiseen.
Tämä menetelmä tukee verkkotunnusten välistä käyttöä ja on turvallisempi, koska Token voidaan salata.

Edut: Tukee verkkotunnusten välistä, Token voidaan salata lähetystä varten, mikä parantaa turvallisuutta, mikä vähentää palvelimen taakkaa.
Haitat: Tokenin voimassaoloaikaa ja turvallisuutta on hallinnoitava oikein, jotta Tokenin vuoto voidaan estää, jos JWT on liian pitkä, se voi vaikuttaa suorituskykyyn.

Keskitetyt todennuspalvelut (CAS, SAML)

Keskitetty todennuspalvelu toimii yhtenä liittymäkohtana ja kaikki sovellukset luottavat siihen todentamiseen.
Kun käyttäjä kirjautuu sisään CAS/SAML-palvelimelle, CAS/SAML-palvelin luo lipun tai väitteen ja välittää sen sovellukselle. Sovellus käyttää tätä lippua tai väitettä kommunikoidakseen CAS/SAML-palvelimen kanssa käyttäjän identiteetti.
CAS ja SAML ovat kaksi laajalti käytettyä keskitettyä todennusprotokollaa.

Edut: Tarjoaa standardoituja SSO-ratkaisuja, jotka ovat helposti integroitavia, ja ne voivat tukea erilaisia ​​sovelluksia ja palveluita.
Haitat: Keskitetyistä palveluista voi tulla yksittäisiä vikakohtia konfigurointi ja ylläpito ovat monimutkaisia.

Jaettu istunto:

Käyttämällä jaettua istuntojen tallennustilaa (kuten Redis, Memcached) kaikki sovellukset voivat käyttää samaa istunnon tallennustilaa.
Kun käyttäjä kirjautuu sisään mihin tahansa sovellukseen, istunnon tiedot kirjoitetaan jaettuun tallennustilaan, ja muut sovellukset voivat määrittää käyttäjän tilan lukemalla tämän jaetun istunnon.

Edut: Parannettu sovellusten skaalautuvuus ja saatavuus, Istuntotiedot voidaan jakaa klusterissa.
Haitat: Lisääntynyt riippuvuus jaetuista tallennusjärjestelmistä, tallennusjärjestelmän vika vaikuttaa koko SSO-prosessiin.

Lightweight Directory Access Protocol (LDAP)

LDAP:tä käytetään käyttäjä- ja ryhmätietojen tallentamiseen ja hakemiseen verkossa, mikä tukee SSO:ta.
Sovellus varmistaa käyttäjän henkilöllisyyden tekemällä kyselyn LDAP-palvelimelta, jolloin jokaisen sovelluksen ei tarvitse ylläpitää käyttäjätietoja erikseen.

Edut: Helppo hallita ja kysyä käyttäjätietoja, sopii suuriin yritysympäristöihin.
Haitat: Suhteellisen monimutkainen konfiguroida ja ylläpitää, ei sovellu pieniin tai väliaikaisiin projekteihin.

OAuth 2.0/OIDC

OAuth 2.0 on valtuutuskehys OpenID Connect (OIDC) on rakennettu OAuth 2.0:n päälle ja tarjoaa todennustoiminnot.
Kun käyttäjä kirjautuu sisään valtuutuspalvelimelle, valtuutuspalvelin antaa tunnukset asiakassovellukselle, ja sovellus käyttää näitä valtuuksia päästäkseen resurssipalvelimiin tai vahvistaakseen käyttäjän henkilöllisyyden.

Edut: Standardoitu käyttöliittymä, helppo integroida kolmannen osapuolen sovelluksia tukee useita valtuutustiloja.
Haitat: Toteutusyksityiskohtia on monia, ja turvatoimenpiteet on suunniteltava huolellisesti, liiallisissa käyttöoikeuksissa voi olla ongelmia.

Kerberos

Kerberos on verkkotodennusprotokolla, joka sopii erityisesti yrityksen sisäisiin verkkoympäristöihin ja tukee SSO:ta.
Kerberos käyttää lippu (Ticket) -mekanismia käyttäjien ja palveluiden todentamiseen Kirjautumisen jälkeen käyttäjä saa sarjan lippuja, joilla voidaan päästä muihin verkon palveluihin ilman salasanaa uudelleen.

Edut: Korkea turvallisuus, sopii suurten yritysten sisäisiin verkkoihin, tukee useita todennusmekanismeja.
Haitat: Monimutkainen konfigurointi ja korkeat ylläpitokustannukset rajoittuvat sisäisiin verkkoihin ja eivät sovellu Internet-ympäristöihin.