Qual è la differenza nel contesto delle applicazioni Web? Vedo molto l'abbreviazione "auth". Significa autenticazione o autenticazione ? O entrambi?
authn
per autenticazione e authz
autorizzazione
Qual è la differenza nel contesto delle applicazioni Web? Vedo molto l'abbreviazione "auth". Significa autenticazione o autenticazione ? O entrambi?
authn
per autenticazione e authz
autorizzazione
Risposte:
L'autenticazione è il processo per accertare che qualcuno sia davvero quello che affermano di essere.
L'autorizzazione si riferisce a regole che determinano chi è autorizzato a fare cosa. Ad esempio, Adam può essere autorizzato a creare ed eliminare database, mentre Usama è autorizzato solo a leggere.
I due concetti sono completamente ortogonali e indipendenti, ma entrambi sono fondamentali per la progettazione della sicurezza e l'incapacità di ottenere uno dei due apre la strada al compromesso.
In termini di app Web, in termini molto rozzi, l'autenticazione avviene quando si controllano le credenziali di accesso per vedere se si riconosce un utente come connesso e l'autorizzazione è quando si cerca nel controllo di accesso se si consente all'utente di visualizzare, modificare, eliminare o creare contenuti.
In breve, per favore. :-)
Autenticazione = login + password (chi sei)
Autorizzazione = autorizzazioni (cosa ti è permesso fare)
È probabile che il termine "auth" si riferisca al primo o ad entrambi.
Come dice Authentication vs Authorization :
L'autenticazione è il meccanismo mediante il quale i sistemi possono identificare in modo sicuro i propri utenti. I sistemi di autenticazione forniscono una risposta alle domande:
- Chi è l'utente?
- L'utente è davvero quello che rappresenta se stesso?
L'autorizzazione , al contrario, è il meccanismo attraverso il quale un sistema determina il livello di accesso che un determinato utente autenticato dovrebbe avere per proteggere le risorse controllate dal sistema. Ad esempio, un sistema di gestione del database potrebbe essere progettato in modo da fornire a determinate persone specificate la possibilità di recuperare informazioni da un database ma non la possibilità di modificare i dati memorizzati nella base dati, offrendo allo stesso tempo agli altri la possibilità di modificare i dati. I sistemi di autorizzazione forniscono risposte alle domande:
- L'utente X è autorizzato ad accedere alla risorsa R?
- L'utente X è autorizzato a eseguire l'operazione P?
- L'utente X è autorizzato a eseguire l'operazione P sulla risorsa R?
Preferisco la verifica e le autorizzazioni all'autenticazione e all'autorizzazione.
È più facile nella mia testa e nel mio codice pensare a "verifica" e "autorizzazioni" perché le due parole
L'autenticazione è la verifica e l'autorizzazione sta verificando le autorizzazioni. Auth può significare entrambi, ma è usato più spesso come "User Auth", cioè "User Authentication"
La confusione è comprensibile, poiché le due parole suonano simili e poiché i concetti sono spesso strettamente correlati e usati insieme. Inoltre, come detto, l'abbreviazione comunemente usata Auth non aiuta.
Altri hanno già descritto bene cosa significano autenticazione e autorizzazione. Ecco una semplice regola per mantenere i due chiaramente separati:
- Auth Enti cazione convalida la Id Enti ty (o l'autenticità , se si preferisce che)
- Autore zione convalida l'autore lità, vale a dire i diritti di accesso ed eventualmente cambiare qualcosa.
Ho cercato di creare un'immagine per spiegarlo con parole più semplici
1) Autenticazione significa "Sei chi dici di essere?"
2) Autorizzazione significa "Dovresti essere in grado di fare quello che stai cercando di fare?".
Questo è anche descritto nell'immagine seguente.
Ho cercato di spiegarlo nel miglior modo possibile e ho creato un'immagine dello stesso.
L'autenticazione è il processo di verifica dell'identità proclamata.
Di solito seguita da autorizzazione , che è l'approvazione che si può fare questo e quello.
Aggiungendo alla risposta di @ Kerrek;
L'autenticazione è un modulo generalizzato (tutti i dipendenti possono accedere alla macchina)
L'autorizzazione è un modulo specializzato (ma solo l'amministratore può installare / disinstallare l'applicazione in Macchina)
L'autenticazione è il processo di verifica del nome utente e della password di accesso.
L'autorizzazione è il processo di verifica dell'accesso a qualcosa.
Autenticazione : sei la persona che dichiari di essere?
Autorizzazione : sei autorizzato a fare qualsiasi cosa tu stia cercando di fare?
Un'app Web utilizza l'accesso a Google . Dopo che un utente ha eseguito correttamente l'accesso, Google invia indietro:
Inoltre:
La società potrebbe disporre di una dashboard di amministrazione che consente all'assistenza clienti di gestire gli utenti dell'azienda. Invece di fornire una soluzione di iscrizione personalizzata che consenta al supporto clienti di accedere a questa dashboard, l'azienda utilizza Google Sign-In.
Il token JWT (ricevuto dalla procedura di accesso di Google) viene inviato al server di autorizzazione dell'azienda per capire se l'utente ha un account G Suite con il dominio ospitato dell'organizzazione (email@azienda.com)? E se lo fanno, sono membri del gruppo Google dell'azienda creato per l'assistenza clienti? Se sì a tutto quanto sopra, possiamo considerarli autenticati .
Il server di autorizzazione dell'azienda invia quindi un token di accesso all'app dashboard. Questo token di accesso può essere utilizzato per inviare richieste autorizzate al server delle risorse dell'azienda (ad es. Possibilità di inviare una richiesta GET a un endpoint che restituisce tutti gli utenti dell'azienda).
Authentication
è un processo di verifica:
digital signature
Authorization
è il prossimo passo dopo Authentication
. Si tratta di autorizzazioni / ruoli / privilegi alle risorse. OAuth (Open Authorization) è un esempio di autorizzazione