La sicurezza in Microsoft Access Corso aggiornamento ASUR10 Livelli di protezione per MS Access Esistono tre principali livelli di protezione: Protezione del file database di MS Access tramite password Protezione degli oggetti di database a livello di utente tramite definizione di gruppo di utenti e di ID di utente Protezione del codice di Visual Basic Application corso_sicurezza_asur10 @ www.divini.net Livelli di protezione per MS Access Esiste inoltre un livello di protezione zero “ingenuo”, che consiste nel nascondere una tabella del DB. La procedura consiste nell’applicare l’attributo di nascosto ad una tabella e non consentire all’utente di vedere gli oggetti nascosti. Se l’utente abilita la visibilità degli oggetti nascosti, potrà vedere di nuovo la tabella ! (v. esercitazione 1) corso_sicurezza_asur10 @ www.divini.net Protezione dei file MS Access tramite password Il metodo di protezione più semplice consiste nell'impostazione di una password per l'apertura del database di Microsoft Access (mdb). Dopo aver impostato tale password, a ogni apertura del database verrà visualizzata una finestra di dialogo con la richiesta della password e l'apertura del database sarà consentita solo agli utenti che digiteranno la password corretta. Questo metodo è sicuro, in quanto la password viene crittografata in modo che non possa essere letta direttamente nel file, ma si applica soltanto all'apertura del database. corso_sicurezza_asur10 @ www.divini.net Protezione dei file di MS Access tramite crittografia Per proteggere ulteriormente il database è possibile crittografarlo. Con la crittografia il file del database viene compattato e reso indecifrabile dai programmi di utilità e di elaborazione testi. Decrittografando il database si annullano gli effetti della crittografia. corso_sicurezza_asur10 @ www.divini.net Protezione dei file di MS Access a livello utente Il metodo più flessibile e diffuso per la protezione dell'accesso a un database è la protezione a livello utente. Questa forma di protezione è simile ai metodi utilizzati nella maggior parte dei sistemi di rete. Le ragioni principali per cui ricorrere alla protezione a livello utente sono due: Impedire agli utenti di alterare involontariamente un'applicazione modificando tabelle, query, maschere, report e macro su cui si basa l'applicazione. Proteggere i dati sensibili nel database. corso_sicurezza_asur10 @ www.divini.net Protezione dei file di MS Access a livello utente Se è impostata la protezione a livello utente, gli utenti devono utilizzare un ID di identificazione e digitare una password quando avviano MS Access. Nell'ambito del file di informazioni sul gruppo di lavoro gli utenti sono identificati come membri di un gruppo. In MS Access sono forniti due gruppi predefiniti, quello degli amministratori (denominato gruppo Amministratori ) e quello degli utenti (denominato gruppo Utenti), ma è possibile definire altri gruppi. corso_sicurezza_asur10 @ www.divini.net Protezione dei file di MS Access a livello utente L'impostazione della protezione a livello utente è un'attività lunga e complessa per la maggior parte dei database, ma con l'Impostazione guidata Protezione tutto è più facile e veloce grazie a una procedura che consiste in un solo passaggio. Implementando inoltre schemi di protezione comuni, l'Impostazione guidata Protezione riduce al minimo, se non elimina del tutto, la necessità di utilizzare il comando Protezione del menu Strumenti. corso_sicurezza_asur10 @ www.divini.net Protezione dei file di MS Access a livello utente Dopo aver eseguito l'Impostazione guidata Protezione, è possibile assegnare o rimuovere le autorizzazioni per gli account utente e gli account di gruppo facenti parte del gruppo di lavoro per un database e le sue tabelle, query, maschere, report e macro esistenti. È inoltre possibile impostare le autorizzazioni predefinite assegnate da Microsoft Access alle nuove tabelle, query, maschere, report o macro create in un database. corso_sicurezza_asur10 @ www.divini.net Protezione dei file di MS Access a livello utente Le autorizzazioni vengono assegnate a gruppi e utenti per definire con quali modalità è consentito utilizzare ciascuna tabella, query, maschera, report e macro contenuti in un database. È possibile ad esempio consentire ai membri del gruppo Utenti di visualizzare, immettere o modificare i dati in una tabella Clienti, ma non di modificarne la struttura. È possibile altrimenti consentire al gruppo Utenti soltanto di visualizzare i dati di una tabella che contiene dati relativi agli ordini, ma impedire loro l'accesso alla tabella Pagamenti. I membri del gruppo Amministratori dispongono di autorizzazioni complete per tutte le tabelle, le query, le maschere, i report e le macro del database. È possibile impostare un sistema di controllo più accurato creando degli account di gruppo personalizzati, assegnando a questi gruppi autorizzazioni mirate e aggiungendo degli utenti ai gruppi. corso_sicurezza_asur10 @ www.divini.net Protezione dei file di MS Access a livello codice VBA È possibile proteggere il codice Microsoft Visual Basic, Applications Edition (VBA) presente nei moduli e nei moduli sottostanti le maschere e i report con una password da immettere una sola volta per ogni sessione. La password evita che utenti non autorizzati possano modificare, tagliare, incollare, copiare, esportare e cancellare il codice VBA. Per proteggere la proprietà intellettuale del codice, è possibile rimuovere dal database il codice VBA modificabile e impedire la modifica della struttura delle maschere, dei report e dei moduli salvandolo come file MDE. corso_sicurezza_asur10 @ www.divini.net