Docente: Giuseppe Scollo
Università di Catania, sede di Comiso (RG)
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Studi in Informatica applicata, AA 2006-7
autorizzazione, controllo di accesso, autenticazione: non sono sinonimi
più precisamente, nel controllo di accesso:
nel seguito ci occupiamo di autorizzazione
modello di autorizzazione:
un'autorizzazione di accesso coinvolge tre entità:
rappresentazione elementare della definizione di autorizzazioni: matrice di Lampson
rappresentazioni ridotte (proiezioni della matrice di Lampson):
astrazioni insiemistiche connaturate all'autorizzazione:
ambito di univocità dei nomi:
cioè:
queste astrazioni hanno vantaggi pratici:
la doppia stratificazione dei diritti di accesso in tipi e ruoli semplifica la gestione dell'autorizzazione in presenza di oggetti contenitori, quali ad es. le directory in un filesystem o gli spazi di lavoro in un sistema di collaborazione (l'acronimo sta per Computer Supported Collaborative Work), in quanto
mascheraredifferenze fra classi (in termini di operazioni definite) ridefinendo opportunamente gli stessi tipi di diritti di accesso
oltre che soggetti individuali, è comunque utile definire gruppi di utenti come soggetti, ad es. per la condivisione di contenitori quali spazi di lavoro, di discussione, etc.
vediamo appresso due esempi di sistemi di supporto alla collaborazione in rete, con due diversi modelli di autorizzazione, entrambi basati su ACL e raggruppamento
Zope è una piattaforma open source per lo sviluppo di siti e applicazioni Web
struttura ad albero degli spazi Zope per un corso in rete
l'acronimo sta per Basic Support for Coooperative Work: è un prodotto commerciale
DAG: Directed Acyclic Graph, radicato negli spazi personali degli utenti
esempio di struttura DAG di spazi BSCW
DAG di gruppi BSCW per un corso in rete con due classi
se un soggetto accede ad un oggetto con un solo ruolo, la definizione di quest'ultimo per l'oggetto in questione specifica i diritti di accesso del soggetto all'oggetto
ma quando, come accade ad esempio in DAG di oggetti e contenitori con eredità di ruoli, un soggetto può accedere a un oggetto con più ruoli, come determinano questi i diritti di accesso del soggetto all'oggetto?
ad es., il concetto di diritto di accesso negativo è un antidoto al potenziale eccesso di liberalità dell'autorizzazione disgiuntiva: si può interpretare l'attribuzione di un diritto di accesso con segno negativo come la negazione di tal diritto, quando si assegna il ruolo che lo contiene, indipendentemente dall'attribuzione (positiva) dello stesso diritto in altri ruoli
definizione di ruoli e ACL sono proprietà di oggetti: se sono considerate (come è ben lecito, in linea di principio) come oggetti esse stesse, avranno una propria ACL e definizione di ruoli... il qual fatto genera una catena infinita (di dubbia utilità) di metalivelli di autorizzazione
si può arrestare la catena al secondo livello semplicemente distinguendo fra:
e considerando le operazioni sui secondi come operazioni sull'oggetto regolare di cui sono attributi, dunque autorizzate mediante la definizione di ruoli e ACL di quest'ultimo
l'autorizzazione all'autorizzazione è un caso rilevante del concetto di delega: diritto, assegnabile a soggetti, di assegnazione di dati (tipi di) diritti ad altri soggetti
la delega può essere ricorsiva (delega alla delega): si può realizzarla semplicemente includendo il diritto all'assegnazione di ruoli a soggetti fra i diritti conferiti mediante l'assegnazione di un ruolo