it-swarm-eu.dev

Autorizzazione basata sul ruolo vs. Autorizzazione basata sul reclamo

Qual è la differenza tra "autorizzazione basata sui ruoli" e "autorizzazione basata sui reclami"? In quali circostanze sarebbe opportuno attuare ciascuno di questi modelli di autorizzazione?

34
user960567

Le rivendicazioni sono un metodo per fornire informazioni su un utente e i ruoli sono una descrizione di un utente in base a quali ruoli appartengono.

I reclami sono generalmente più utili perché possono contenere dati arbitrari, comprese le informazioni sull'appartenenza al ruolo. Per esempio. qualunque cosa sia utile per la data applicazione.

Le identità basate sui reclami sono più utili, ma tendono ad essere più difficili da usare perché c'è molta configurazione necessaria per acquisire i reclami in primo luogo. Le identità RBAC sono meno utili perché sono solo un insieme di ruoli, ma sono generalmente più facili da configurare.

Lo stack .NET e Windows nel suo insieme stanno andando avanti. I ticket authn di Windows sono attestazioni e Active Directory ha ora la possibilità di utilizzare attestazioni per determinate funzioni. Lo stack .NET utilizza un'identità attestazioni come oggetto identità di base ora per impostazione predefinita.

28
Steve

Come affermato da @SteveS, RBAC è un modello di autorizzazione mentre le dichiarazioni sono un modo per fornire informazioni su un utente. Generalizza l'idea di un ruolo. In passato i server di identità avrebbero semplicemente fornito alle applicazioni il nome utente e l'elenco di ruoli/gruppi. I reclami generalizzano ciò in modo tale che qualsiasi attributo utente possa essere trasferito all'applicazione utilizzatrice.

L'autorizzazione stessa gestisce ancora l'autorizzazione utilizzando i reclami e la propria logica. Microsot SharePoint e Windows Server 2012 sono buoni esempi di applicazioni che utilizzano attestazioni per fornire autorizzazioni più precise. SharePoint presume che se un utente ha almeno un reclamo assegnato anche a un sito/documento, l'accesso è consentito. Windows Server 2012 ha una lingua chiamata SDDL che può essere utilizzata per combinare i reclami degli utenti e le informazioni sulla classificazione dei file.

In genere, tuttavia, si desidera confrontare RBAC (controllo di accesso basato sui ruoli) con ABAC (controllo di accesso basato sugli attributi). Entrambi sono modelli di autorizzazione definiti da NIST. Entrambi possono utilizzare i reclami ma non necessariamente. Inoltre, le attestazioni sono molto incentrate sull'utente, mentre ABAC consente di definire l'autorizzazione in base agli attributi dell'utente (attestazioni), nonché alle risorse (oggetto) e persino al contesto (ora del giorno ...).

ABAC è implementato nello standard OASIS XACML (eXtensible Access Control Markup Language) che fornisce un controllo degli accessi basato su criteri e attributi.

Ecco alcuni buoni riferimenti che puoi consultare:

19
David Brossard