Ho letto il servizio di controllo degli accessi di Azure e l'autorizzazione basata sulle attestazioni in generale per un po 'di tempo e, per qualsiasi motivo, non vedo ancora le motivazioni per passare dall'autorizzazione basata su ruoli/permessi a una richiesta- modello basato. I modelli mi sembrano simili (e probabilmente lo sono), tranne per il fatto che l'elenco di ciò che il client può o non può fare viene da una terza parte ed è racchiuso in una sorta di token, anziché da una sorta di database che il server deve interrogare. Qual è il vantaggio di coinvolgere una terza parte (l'emittente di token)?Qual è lo scopo dell'autorizzazione basata sulle attestazioni?
Capisco perfettamente i vantaggi dell'autenticazione dell'outsourcing a terzi. Consente alle app di non dover creare continuamente nuovi utenti, preoccuparsi di archiviare le password, ecc. Quando possono semplicemente inviarle ad altri servizi che dispongono già dell'infrastruttura. È essenzialmente il principio DRY per l'autenticazione.
Tuttavia, a mio parere, la stessa logica non funziona per l'autorizzazione. Ogni app ha le proprie risorse che deve proteggere e quindi le proprie regole per autorizzare gli utenti a eseguire determinate azioni. L'infrastruttura sembra abbastanza semplice da consentire a ciascuna app di crearla da sola (una tabella che associa gli utenti ai ruoli e possibilmente un altro mapping ai permessi) e, anche se si desidera esternalizzarla, sembra che il modello basato sulle attestazioni stia qualcosa di più complicato di così
L'unica spiegazione parziale che ho visto proviene da Building a Claims-Based Security Model in WCF, e dà due vantaggi principali per basata sulle attestazioni autenticazione: una maggiore flessibilità, e qualcuno a "garantire" che le informazioni in un'affermazione è corretta. Quando avresti bisogno di uno di questi?
L'autorizzazione basata sui reclami sembra stia guadagnando popolarità, quindi presumo che ci debba essere una buona motivazione per questo; Non ho ancora capito cosa sia ancora. Qualcuno può fornire un esempio concreto di una situazione in cui l'autenticazione basata sulle attestazioni funziona meglio di quella basata sui ruoli e perché funziona meglio in quel caso?
(EDIT: ho perso un terzo vantaggio elencato in questo articolo:. Supporto single sign-on/federazione, ma non l'autenticazione accordo con che da sola senza ottenere l'autorizzazione coinvolto?)
+1. Mi piace la tua onestà. – Stimul8d