Mi sono familiarizzato con White paper sul design per la sicurezza di Google . Per quanto posso capire, e rispetto a un'architettura di Micro-servizi, dalla sezione Gestione degli accessi degli utenti finali , lo schema di autenticazione di Google funziona come segue:
- L'utente si autentica con il "Central Identity User Service" e riceve un token di sessione. Questo token è associato all'utente e memorizzato dal servizio di identità.
- L'utente tenta di accedere a un servizio Google, (ad esempio Gmail), fornisce lì token di sessione (di solito come cookie).
- Gmail passa il token di sessione degli utenti sul "Servizio di identità utente centrale" che ricerca la validità del token di sessione & concede un "ticket di autorizzazione dell'utente finale". Questo sembra essere un token basato sulle attestazioni firmato per consentire al servizio Gmail di passare ad altri servizi. Questo è probabilmente un token Web JSON firmato o simile, affermando che Gmail ha la mia autorità per accedere ai dati degli utenti. Questa firma può essere convalidata senza mai comunicare con il Central Identity Service basato su un segreto condiviso, suppongo che in questo caso Google utilizzi una coppia di chiavi pubblica / privata per la firma?
Il "Central User Identity Service" è davvero una singola istanza centrale, che condivide un unico backing store? Sembra così dato l'architettura e il nome. Come può essere dato che rappresenta un singolo punto di errore per Google? Mi manca qualcosa?
Sono pronto a credere che il "Servizio di identità utente centrale" possa essere in effetti più istanze più complesse?
Questo modello sembra causare molte chiacchiere tra il Servizio Gmail e il Servizio Identità Utente Centrale, il che significa che dovrebbe essere coinvolto in quasi tutte le richieste. Supponendo che il bilanciamento del carico sia non appiccicoso, la richiesta degli utenti di caricare la pagina n. 2 della posta in arrivo è più probabile che non colpire un'altra istanza del servizio Gmail. Memorizzazione nella cache locale degli utenti La validità del cookie di sessione rappresenta probabilmente un rischio che sarebbe comunque rispettata dopo la revoca?
C'è qualche documentazione pubblica o qualcuno che possa darmi una panoramica di quanto sia veramente centrale il "Servizio di identità utente centrale"?