Per stampare: Clicca qui oppure seleziona File » Stampa nel menù del tuo browser.

        -----------------------------------------------------------------------------------------------
        Questo intervento è stato stampato da Guide di Dada.Net
        raggiungibile a http://guide.dada.net
        -----------------------------------------------------------------------------------------------

By Database di Andrea Silvestri
URL: http://guide.dada.net/database/interventi/2001/10/71686.shtml

Database di Andrea Silvestri guida dal 29-12-2000

Sicurezza dei database (prima parte)

Creazione e gestione degli utenti.

Questa serie di interventi analizzera' le diverse istruzioni sql che permettono di gestire la sicurezza di un database relazionale, in particolare si soffermeranno sulla creazione degli utenti e dei ruoli, gestione delle password, utilizzo delle viste e dei sinonimi.
In questo intervento focalizzeremo l'attenzione sulla creazione degli utenti, analizzando quindi l'istruzione CREATE USER(faro' riferimento alla sintassi Oracle, ma gli esempi saranno utilizzabili facilmente anche sugli altri rdbms):

CREATE USER scott
IDENTIFIED BY tiger

Con questa istruzione viene creato un utente scott con password tiger; quindi ogni volta che l'utente scott cerchera' di connettersi al db dovra' fornire la password tiger.
E' possibile fare in modo che l'utente venga autenticato esternamente, ad esempio dal sistema operativo:

CREATE USER scott
IDENTIFIED EXTERNALLY

L'istruzione CREATE e' in realta' piu' complessa, in quanto permette di specificare opzioni (non direttamente legate alla sicurezza) sulla memorizzazione delle informazioni di proprieta' dell'utente, come ad esempio i tablespace o definire una quota massima assegnata all'utente.
Una volta creato, l'utente puo' essere modificato tramite l'istruzione ALTER USER:

ALTER USER scott
IDENTIFIED BY prova

Anche questa istruzione consente di specificare una nuova quota o un diverso tablespace.
Altra istruzione fondamentale e' quella che consente di eliminare un utente non piu' utilizzato, la DROP USER:

DROP USER scott;

Se pero' l'utente possiede degli oggetti (tavole, viste, procedure..) non viene cancellato a meno di specificare l'opzione CASCADE, che elimina anche tutti gli oggetti:

DROP USER scott CASCADE;

Per definire cosa l'utente puo' fare in un database, si utilizzano i privilegi ed i ruoli. Un privilegio rappresenta un permesso su un certo oggetto, come la creazione di una tabella, l'inserimento, la cancellazione o la lettura di record da una tabella o l'esecuzione di una procedura.
I ruoli sono composti da uno o piu' privilegi e vengono creati per semplificare la gestione degli utenti, in quanto permettono di concedere gli stessi privilegi a piu' utenti contemporaneamente.
Per ora e' tutto, nel prossimo intervento verra' approfondito il concetto di ruolo.