OAuth è un protocollo che estende l'autorizzazione dell'utente a più applicazioni senza condividere i dati di autenticazione dell'identità dell'utente con tali applicazioni.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Autenticazione a due fattori
Autenticazione a più fattori
Che cos'è l'IAM?
Sicurezza della forza lavoro che opera da remoto
Prevenzione contro la perdita dei dati (DLP)
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
OAuth è uno standard tecnico per l'autorizzazione degli utenti. È un protocollo per passare l'autorizzazione da un servizio all'altro senza condividere le credenziali dell'utente effettivo, come nome utente e password. Con OAuth, un utente può accedere su una piattaforma e quindi essere autorizzato a eseguire azioni e visualizzare i dati su un'altra piattaforma.
OAuth consente di passare l'autorizzazione da un'applicazione all'altra indipendentemente da quali siano le due applicazioni. È uno dei metodi più comuni utilizzati per passare l'autorizzazione da un servizio Single Sign-On (SSO) a un'altra applicazione cloud, ma può essere utilizzato tra due applicazioni qualsiasi. Anche altri protocolli possono svolgere questa funzione, sebbene OAuth sia uno dei più utilizzati.
Immagina che un visitatore arrivi a una casa quando il proprietario non c'è e che, invece di inviare al visitatore una vera e propria chiave, il proprietario gli invii un codice temporaneo per aprire una cassetta di sicurezza che contiene la chiave. OAuth funziona in modo simile. In OAuth, un'applicazione invia a un'altra applicazione un token di autorizzazione per concedere l'accesso a un utente, invece di inviare le credenziali dell'utente.
Supponiamo che Alice voglia accedere all'applicazione di archiviazione di file nel cloud della sua azienda. Ha già effettuato l'accesso all'SSO della sua azienda, ma quel giorno non ha ancora effettuato l'accesso all'applicazione di archiviazione file. Quando apre l'applicazione di archiviazione file, invece di lasciarla semplicemente entrare, l'applicazione richiede l'autorizzazione per Alice dal suo SSO.
In risposta, l'SSO invia all'applicazione un token di autorizzazione OAuth. Il token contiene informazioni sui privilegi che Alice dovrebbe avere all'interno dell'applicazione. Tale token avrà un limite di tempo: dopo un certo periodo di tempo, il token scade e Alice dovrà accedere nuovamente al suo SSO.
I token OAuth vengono in genere inviati tramite HTTPS, il che significa che sono crittografati. Vengono inviati al livello 7 del modello OSI.
OAuth può essere utilizzato sia per autorizzare gli utenti che per consentire a un'applicazione l'accesso parziale a un'altra applicazione. Un caso d'uso che gli utenti incontrano spesso è consentire a un'app di accedere a una piattaforma di social media o a un altro account online. Gli account utente di Google possono integrarsi con molte applicazioni di consumo diverse, come piattaforme di blog, siti Web di notizie e vari giochi online. In questi casi, il protocollo OAuth viene utilizzato dietro le quinte per consentire a tali app esterne di accedere ai dati necessari da Google.
Per le aziende, il caso d'uso più comune di OAuth è in combinazione con i sistemi di gestione di identità e accessi (IAM). Gli utenti possono essere autorizzati all'utilizzo dell'applicazione tramite OAuth. Ad esempio, un dipendente può accedere al sistema SSO della propria azienda con il proprio nome utente e password. Questo sistema SSO fornisce loro accesso a tutte le applicazioni di cui hanno bisogno per svolgere il loro lavoro e lo fa passando token di autorizzazione OAuth a queste applicazioni.
OAuth è uno dei numerosi protocolli di autorizzazione attualmente in uso. Questi protocolli di autorizzazione sono necessari perché deve esserci un modo per inviare le informazioni di autorizzazione tra le applicazioni senza esporre i dati di accesso dell'utente. Alcune piattaforme hanno sviluppato i propri metodi di autorizzazione, ad esempio Facebook offre Facebook Connect.
OAuth 2.0 è l'ultima versione di OAuth. La prima versione di OAuth è stata pubblicata nel 2010. OAuth 2.0 è stato pubblicato nel 2012 e ha corretto una serie di vulnerabilità presenti in OAuth 1.0.
Autorizzazione e autenticazione suonano simili, ma non sono esattamente la stessa cosa nella gestione degli accessi. La differenza tra loro è molto importante per comprendere il funzionamento della tecnologia di gestione degli accessi (incluso OAuth). L'autenticazione ha a che fare con l'identità dell'utente, mentre l'autorizzazione ha a che fare con i privilegi dell'utente.
Immagina che Bob lavori in una struttura protetta con una guardiola all'ingresso. Tutti i veicoli che entrano nella struttura si fermano alla guardiola e solo i dipendenti riconosciuti possono entrare. La guardiola è il luogo in cui avviene l'autenticazione dell'utente: le guardie di sicurezza controllano il tesserino identificativo di Bob in un elenco di dipendenti e controllano la targa del suo veicolo in un elenco di veicoli consentiti. Se sono in grado di autenticare lui e il suo veicolo, Bob potrà entrare e parcheggiare nel parcheggio della struttura.
Tuttavia, solo perché Bob può entrare nella struttura non significa che possa parcheggiare il suo veicolo dove vuole. Sono invece previsti parcheggi riservati a ogni tipologia di dipendente. Bob può parcheggiare solo nel parcheggio designato, non può prendere il posto del CEO.
OAuth è un protocollo per l'autorizzazione: garantisce che Bob vada al parcheggio giusto. Al contrario, Security Assertion Markup Language (SAML) è un protocollo per l'autenticazione o che consente a Bob di superare la guardiola.
Un provider di identità (IdP) o un servizio SSO possono utilizzarli entrambi insieme o utilizzare solo OAuth (sebbene l'utilizzo di OAuth per l'autenticazione sia considerato "pseudo-autenticazione").
Per riassumere: SAML e OAuth sono protocolli diversi e vengono utilizzati per scopi diversi, ma entrambi vengono spesso utilizzati con l'SSO.
Cloudflare Zero Trust al momento non offre l'autenticazione degli utenti, ad esempio un servizio SSO, ma consente alle organizzazioni di gestire l'accesso e i privilegi degli utenti. Cloudflare consente di gestire l'autorizzazione degli utenti senza l'uso di una rete privata virtuale (VPN).
Cloudflare Zero Trust si integra con diversi provider SSO e può persino integrarsi con più SSO, semplificando la fornitura di accesso ai sistemi ad agenzie e appaltatori esterni. Leggi un post sul blog sul multi-SSO con Cloudflare per saperne di più.