Qual è la differenza tra SAML e OAuth? È una domanda abbastanza comune per gli amministratori di sistema, i professionisti della sicurezza e gli sviluppatori di applicazioni che cercano di migliorare la loro posizione di gestione delle identità e semplificare il modo in cui gli utenti accedono alle risorse con un insieme comune di credenziali. Mentre le organizzazioni riflettono sui due concetti, sarebbe utile avere una guida per differenziare i due concetti. Ecco la vostra guida al contrasto tra SAML e OAuth.
Che cos’è SAML?
Il Security Assertion Markup Language (SAML) è un protocollo standard di autenticazione (e occasionalmente di autorizzazione) che è più spesso usato dai provider SSO (single sign-on) delle applicazioni web per trasmettere le credenziali tra un identity provider (IdP) che contiene le credenziali per verificare un utente e un service provider (SP) che è la risorsa che richiede l’autenticazione. SAML usa documenti di metadati XML (extensible markup language) come token per l’affermazione dell’identità di un utente. Il processo di autenticazione e autorizzazione SAML (AuthN e AuthZ) è il seguente.
Detto in un altro modo, usando SAML, gli sviluppatori possono sfruttare i plugin SAML per assicurare che la loro app o risorsa segua le pratiche desiderabili di single sign-on per semplificare l’esperienza di login dei loro utenti e assicurare che le pratiche di sicurezza siano messe in atto per sfruttare una strategia di identità comune. In questo modo, solo un’identità con le credenziali/asserzioni appropriate può accedere a un’applicazione. Inoltre, SAML può essere usato per controllare a cosa tale identità può accedere in un’applicazione.
Cos’è OAuth?
OAuth, o Open Authentication, è anche un protocollo AuthN/AuthZ usato per esigenze di autenticazione sicura. Come SAML, OAuth richiede un fornitore di identità come fonte di verità per autenticare l’accesso degli utenti. OAuth usa la propria documentazione XML per i token di autenticazione, ma può anche usare JavaScript Object Notation (JSON) per i token. Il processo OAuth si svolge in modo simile al processo SAML descritto sopra.
OAuth è più orientato verso l’access scoping rispetto a SAML. L’access scoping è la pratica di permettere solo il minimo indispensabile di accesso all’interno della risorsa/app che un’identità richiede una volta verificata. Per esempio, OAuth è spesso usato quando una web app richiede l’accesso al microfono e alla fotocamera del vostro sistema. Questo rende OAuth (in particolare OAuth2) ideale per le app web/mobili, specialmente (Leggi tutto…)