Tipi di controllo degli accessi - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tipi di controllo degli accessi

È possibile utilizzare due modelli ampiamente definiti per implementare il controllo degli accessi: controllo degli accessi basato sui ruoli (RBAC) e controllo degli accessi basato sugli attributi (ABAC). Ciascun modello presenta vantaggi e svantaggi, descritti brevemente in questa sezione. Il modello da utilizzare dipende dal caso d'uso specifico. L'architettura descritta in questa guida supporta entrambi i modelli.

RBAC

Il controllo degli accessi basato sul ruolo (RBAC) determina l'accesso alle risorse in base a un ruolo che di solito è in linea con la logica aziendale. Le autorizzazioni sono associate al ruolo a seconda dei casi. Ad esempio, un ruolo di marketing autorizzerebbe un utente a svolgere attività di marketing all'interno di un sistema limitato. Si tratta di un modello di controllo degli accessi relativamente semplice da implementare perché si allinea bene a una logica aziendale facilmente riconoscibile. 

Il modello RBAC è meno efficace quando: 

  • Hai utenti unici le cui responsabilità comprendono diversi ruoli. 

  • Avete una logica aziendale complessa che rende difficile la definizione dei ruoli. 

  • Il passaggio a grandi dimensioni richiede un'amministrazione e una mappatura costanti delle autorizzazioni per ruoli nuovi ed esistenti. 

  • Le autorizzazioni si basano su parametri dinamici.

ABAC

Il controllo degli accessi basato sugli attributi (ABAC) determina l'accesso alle risorse in base agli attributi. Gli attributi possono essere associati a un utente, a una risorsa, a un ambiente o persino allo stato dell'applicazione. I criteri o le regole fanno riferimento agli attributi e possono utilizzare la logica booleana di base per determinare se un utente è autorizzato a eseguire un'azione. Ecco un esempio di base di autorizzazioni: 

Nel sistema di pagamento, tutti gli utenti del reparto finanziario possono elaborare i pagamenti presso l'endpoint API /payments durante l'orario lavorativo.

L'appartenenza al dipartimento finanziario è un attributo utente che determina l'accesso a/payments. Esiste anche un attributo di risorsa associato all'endpoint /payments API che consente l'accesso solo durante l'orario lavorativo. In ABAC, la capacità di un utente di elaborare o meno un pagamento è determinata da una politica che include l'appartenenza al dipartimento finanziario come attributo utente e l'ora come attributo di risorsa di. /payments

Il modello ABAC è molto flessibile nel consentire decisioni di autorizzazione dinamiche, contestuali e granulari. Tuttavia, il modello ABAC è difficile da implementare inizialmente. La definizione di regole e politiche, nonché l'enumerazione degli attributi per tutti i vettori di accesso pertinenti, richiedono un investimento iniziale significativo per l'implementazione.

Approccio ibrido RBAC-ABAC

La combinazione di RBAC e ABAC può offrire alcuni dei vantaggi di entrambi i modelli. RBAC, essendo così strettamente allineato alla logica aziendale, è più semplice da implementare rispetto all'ABAC. Per fornire un ulteriore livello di granularità quando si prendono decisioni di autorizzazione, è possibile combinare ABAC con RBAC. Questo approccio ibrido determina l'accesso combinando il ruolo dell'utente (e le autorizzazioni assegnate) con attributi aggiuntivi per prendere decisioni di accesso. L'utilizzo di entrambi i modelli consente una semplice amministrazione e assegnazione delle autorizzazioni, consentendo al contempo una maggiore flessibilità e granularità relative alle decisioni di autorizzazione.

Confronto dei modelli di controllo degli accessi

La tabella seguente mette a confronto i tre modelli di controllo degli accessi discussi in precedenza. Questo confronto vuole essere informativo e di alto livello. L'utilizzo di un modello di accesso in una situazione specifica potrebbe non essere necessariamente correlato ai confronti effettuati in questa tabella.

Fattore

RBAC

ABAC

Ibrido

Flessibilità

Media 

Elevata

Elevata

Semplicità

Elevata

Bassa

Media

Granularity (Granularità)

Bassa

Elevata

Media

Decisioni e regole dinamiche

No

Consapevole al contesto

No

Un po'

Sforzo di implementazione

Bassa

Elevata

Media