Quali sono i vantaggi di ciascuno e quando dovrei sceglierne uno rispetto all'altro? Ci sono situazioni in cui queste dovrebbero essere unite?
Hai esempi di usi comuni?
E per quanto riguarda MAC, dove si inserisce?
L'RBAC (controllo dell'accesso basato sui ruoli) si basa sulla definizione di un elenco di ruoli aziendali e sull'aggiunta di ciascun utente nel sistema a uno o più ruoli. Le autorizzazioni e i privilegi vengono quindi concessi a ciascun ruolo e gli utenti li ricevono tramite la loro appartenenza al ruolo (praticamente equivalente a un gruppo). In genere, le applicazioni testano l'utente per l'appartenenza a un ruolo specifico e concedono o negano l'accesso in base a ciò.
Discretionary Access Control (DAC) consente a un utente o amministratore di definire un elenco di controllo di accesso (ACL) su una risorsa specifica (ad es. File, chiave di registro, tabella di database, oggetto OS, ecc.), Questo elenco conterrà voci (ACE) che definiscono ogni utente che ha accesso alla risorsa e quali sono i suoi privilegi per quel reso.
Il vantaggio principale di RBAC rispetto a DAC è la facilità di gestione: in linea di principio si hanno pochissimi ruoli, amministrati centralmente, non importa quanti utenti, e si tratta solo di garantire ad ogni utente il ruolo corretto; al contrario di DAC, dove per ogni nuovo utente (o cambio utente, o cancellazione, ecc.), devi andare in giro a tutte le risorse a cui ha bisogno di accedere e aggiungerle alla lista.
D'altra parte, il DAC è spesso più semplice e generalmente più granulare. Inoltre, nel modello DAC il proprietario dei dati può decidere chi ha accesso (se ha questa autorizzazione sui dati) e aggiungere o rimuovere persone dall'elenco.
Un esempio molto comune di DAC è il file system di Windows. D'altra parte, un esempio molto comune di RBAC è il DAC sui file server aziendali: chiunque nel gruppo ActiveDirectory "Vendite" avrà accesso alla cartella \ Sales \ shared. Più comunemente è il gruppo Administrators in Windows.
MAC è un controllo di accesso obbligatorio, che può essere visto come una classificazione o livello di privacy. Questo è più spesso usato nei sistemi militari, e di nuovo nei giorni Mainframe :). Non molto più usato, anche se gli attuali OS stanno implementando un sapore di questo, come i Livelli di Integrità di Vista / Win7.
Per riassumere le differenze:
Leggi altre domande sui tag permissions authorization access-control rbac