Richieste basate su autorizzazione basata su autorizzazione

10

Quindi capisco ruoli vs permessi. Capisco anche i ruoli contro le affermazioni. In entrambi i casi, le attestazioni e le autorizzazioni sono granulari, in genere per funzionalità o operazioni aziendali come l'autorizzazione di AddPerson. Ho studiato l'autorizzazione basata sulle attestazioni e gli esempi che mostrano come è "migliore" e di solito lo confronta con un'autorizzazione basata sui ruoli. Ovviamente è meglio perché è il modo sbagliato di usare i ruoli come dovresti usare le autorizzazioni come mappatura tra operazioni e ruoli.

Qual è la distinzione tra l'autorizzazione basata sulle attestazioni e l'autorizzazione basata sui permessi? (le autorizzazioni nota sono diverse dai ruoli, quindi questo non è un duplicato della domanda Role vs Claim)

In entrambi sembra che tu abbia permessi / reclami granulari. Finora gli esempi concreti che ho visto delle affermazioni sono molto simili a quelli che concettualizzerei come permessi. Un esempio che vedo con le affermazioni è il reclamo Add / Person, e sicuramente avrei un permesso simile come permesso di AddPerson. Trovo che di solito ho un livello aziendale con punti di accesso singoli per cose come questa e ogni funzione / punto di accesso richiede un'autorizzazione. In entrambi i casi, il razionale dei permessi / reclami è che nel tempo una determinata identità o ruolo potrebbe cambiare in termini di ciò che è permesso fare. E se hai hardcoded i controlli per quel ruolo all'interno della tua applicazione, devi apportare modifiche al codice per adattarlo, ma se hai usato le attestazioni / permessi, è semplicemente una questione amministrativa di cambiare a quale ruolo è associato. Quindi entrambi sembrano portare gli stessi benefici.

Chiedo a questa domanda di non sembrare che sto sfidando l'idea delle affermazioni. Invece, so che probabilmente avrò un concetto migliore di affermazioni se avessi capito più chiaramente cosa li distingue dalle autorizzazioni.

    
posta AaronLS 16.08.2014 - 05:35
fonte

2 risposte

12

Un reclamo è in qualche modo più arbitrario di un permesso. Un claim è 'blue eyes' mentre 'AddPerson' è un permesso. È un'affermazione del provider di identità che una determinata caratteristica (o più precisamente, un attributo) sull'identità è vera.

È possibile determinare il permesso in base al reclamo o alla caratteristica poiché "tutti gli individui con gli occhi blu possono fare xyz" mentre un'autorizzazione richiama esplicitamente ciò che è possibile o impossibile fare. Con un permesso non è possibile (facilmente) determinare una caratteristica, ad esempio, "chiunque può fare xyz ha gli occhi blu".

Detto questo, un permesso è un reclamo. Succede solo che il provider di identità sta affermando che l'identità ha la caratteristica di avere il permesso di fare qualsiasi cosa.

In breve: un reclamo è un attributo arbitrario sull'identità, mentre un permesso è un diritto asserito di fare qualcosa.

    
risposta data 18.08.2014 - 20:35
fonte
3

Vedi link per SAML, che fornisce mezzi di autorizzazione basati sulle attestazioni. Come ha detto Steve, afferma può mappare direttamente a specifiche autorizzazioni se il fornitore di servizi sceglie, o anche a ruoli . Il modo in cui le attestazioni del provider di identità corrispondono a permessi / ruoli nel fornitore di servizi è completamente al fornitore di servizi. Il provider di identità afferma semplicemente che le affermazioni sono vere per l'utente autenticato e il fornitore di servizi prende queste affermazioni e decide in che modo si riferiscono alle autorizzazioni e / o ai ruoli nel servizio. Le affermazioni sono dichiarazioni attendibili sull'utente dal provider di identità e prese da sole non hanno nulla a che fare con autorizzazioni o ruoli fino a quando il fornitore di servizi non deciderà cosa significano le affermazioni.

    
risposta data 19.08.2014 - 11:03
fonte

Leggi altre domande sui tag