La Sicurezza nei Database Access

Quando si sviluppa un’applicazione per Access può essere necessario proteggere gli oggetti come tabelle, form o report dall’accesso da parte degli utenti. Microsoft Access implementa un modello di sicurezza a livello utente, quindi utilizzatori differenti hanno autorizzazioni diverse sugli oggetti dell’applicazione. Le autorizzazioni che è possibile impostare per una tabella sono differenti da quelle di un form o report. Il modello di sicurezza di Access permette di raggruppare i criteri d’autorizzazione per classi di utenti, quindi creando dei gruppi di lavoro.
Prima che venga aperto un database, se abbiamo il modello di sicurezza attivato, il motore jet richiede all’utente il suo userid e la sua password. Gli elementi fondamentali del modello di sicurezza di Access sono:

  • Utenti: persone che useranno l’applicazione o i processi che vengono eseguiti su un computer.
  • Gruppi: classi di utenti che necessitano degli stessi criteri di autorizzazione agli stessi oggetti. Un utente può appartenere a più di un gruppo contemporaneamente, in modo da ereditarne tutti i criteri di autorizzazione.
  • Permessi o autorizzazioni: vanno impostati per ogni utente e gruppo creato e servono a filtrare gli accessi agli oggetti del database.

Per quanto riguarda i permessi, occorre fare una distinzione tra autorizzazioni implicite, che vengono assegnate ad un gruppo, da quelle esplicite, che sono quelle direttamente assegnate all’utente.
Le informazioni sulla sicurezza vengono memorizzate su due file distinti: il System Database o Workgroup Information File e l’applicazione stessa. Nel primo file vengono memorizzate le informazioni su utenti e gruppi, mentre nel secondo quelle relative agli oggetti. Quando si installa Microsoft Access viene creato un Workgroup Information File di default: System.mdw. Per creare un nuovo file occorre accedere all’area protezione dal menu strumenti e poi creare tutti gli utenti di cui abbiamo bisogno inserendoli nel gruppo amministratori o utenti o altro gruppo creato. Dopo che abbiamo creato gli utenti, dobbiamo inserire le autorizzazioni specifiche sugli oggetti del database ed avere ad esempio l’utente x che può solo visualizzare, ma non modificare i dati di una determinata tabella “y”.
Oltre alla creazione manuale del file di protezione, è possibile utilizzare un comodo wizard, che una volta avviato:

  1. effettua il backup dell’applicazione
  2. crea un nuovo workgroup information file
  3. cifra l’applicazione
  4. crea un nuovo utente nel gruppo Amministratori
  5. rende il nuovo utente proprietario di tutti gli oggetti nel database, compreso l’oggetto database stesso
  6. assegna una password all’utente Amministratore
  7. toglie l’utente Amministratore dal gruppo degli Amministratori
  8. annulla tutte le autorizzazioni al gruppo degli Utenti
  9. crea un file di collegamento, che permette all’applicazione di utilizzare questo workgroup information file
  10. crea un report in anteprima di stampa riguardanti la sicurezza

Ovviamente ci potrebbero essere delle differenze in base alle varie versioni di Microsoft Access. Dall’area protezione del menu strumenti, successivamente possiamo modificare gli utenti, i gruppi e le autorizzazioni del workgroup information file che abbiamo appena creato.
Per amministrare la sicurezza in una applicazione Access abbiamo quindi bisogno di svolgere queste attività:

  1. creazione ed eliminazione degli utenti
  2. creazione ed eliminazione dei gruppi
  3. gestione delle password
  4. manutenzione dei permessi

Queste attività possono essere svolte sia a livello di programmazione con il VBA, che con gli strumenti della protezione abilitati nel database. Per quanto riguarda le varie applicazioni gestionali che normalmente distribuisco gratuitamente come Mercigest o FattAccess, preferisco compilarle e poi tenere abilitato lo strumento protezione di modo che gli utilizzatori possano gestire il tutto a proprio piacimento.

Informazioni su Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.
Questa voce è stata pubblicata in Database, Office e contrassegnata con . Contrassegna il permalink.

Una risposta a La Sicurezza nei Database Access

  1. domenico scrive:

    Buongiorno
    gradirei sapere come impostare la gestione password utenti/amministratore con Access 2010.

    Grazie

    Domenico

I commenti sono chiusi.