vuoi
o PayPal
tutte le volte che vuoi
La sicurezza nelle basi di dati
La sicurezza di una base di dati o database ha un’importanza elevata all’interno delle aziende, anche se l’implementazione di tecniche per rendere il database più sicuro incidono sulla velocità di accesso al database stesso. Un buon DBMS (Data Base Managment System == Software per la gestione di base di dati) svolge un duplice ruolo, si cura sia della sicurezza della base di dati che della sua velocità di accesso. Le problematiche della sicurezza ne sono principalmente due: la privatezza (privacy) e l’integrità.
Privatezza
La privacy dei database è importante in quanto permette solo alle persone autorizzate di accedervi. Per esempio agli archivi anagrafici del comune vi accede solo il personale autorizzato e attraverso adeguati sistemi si nega l’accesso a tutti gli altri. Analizziamo due aspetti sul DBA (Data Base Administrator == Amministratore della Base di Dati):
• L’amministratore sceglierà quali sono gli utenti autorizzati e con quali permessi (solo lettura, solo scrittura e così via) e quali invece non sono autorizzati. Bisogna proteggere oltre che alle informazioni del database anche gli schemi che lo descrivono.
• L’amministratore crea un regolamento nel quale sono indicate tutte le regole vigenti in quel database. Nel caso in cui una delle regole sia violata, il DBA viene informato di questa violazione provvedendo a risolvere il problema per es. abortendo il programma, eliminando l’utente dalla lista del personale autorizzato e/o sanzionandolo.
Ovviamente, più il DBMS sarà sofisticato, meno violazioni ci saranno.
Integrità
L’integrità anche detta integrità logica consiste nel mantenere invariata la struttura del database, ovvero gestire il database e fare in modo che al suo interno ci siano sempre informazioni corrette ed esaustive. Analizziamo alcuni aspetti che fanno parte dell’integrità logica:
• Integrità referenziale: Contrasta l’aggiornamento errato di un database inserendo o modificando un dato falso, scorretto. In particolare è utile su database con campi correlati con altri in archivi differenti, per cui il DBMS con una buona integrità referenziale bloccherà tutti i tentativi di modificazione o inserimento o eliminazione di dati che hanno una correlazione con un altro campo in un altro archivio a meno che non venga chiesto di inserire, modificare o eliminare i campi anche negli altri archivi.
• Consistenza della base di dati: Una base di dati si dice consistente quando tutti i vincoli di validità dei dati sono rispettati. Per es. quando agiamo su un dato modificandolo o eliminandolo o inserendolo come nuovo, c’è il vincolo che le istruzioni devono essere sequenziali e quindi una per volta. L’utente finale però avrà l’impressione di svolgere queste operazioni quasi contemporaneamente, nel caso in cui il DBMS sia buono. Se il comando o transizione effettuata dall’utente non va a buon fine, il sistema tornerà allo stato precedente al comando (rollback).
• Accessi concorrenti: Permette a più utenti di accedere allo stesso tempo al database ed effettuare operazioni diverse nello stesso tempo. Attraverso un meccanismo di sincronizzazione dei dati, non sorgeranno problemi se un utente va ad intaccare i dati dell’altro. Per risolvere questo problema si usa la tecnica della mutua esclusione ovvero un solo utente per volta può accedere a quel determinato dato, campo o record.
• Integrità fisica: consiste nel proteggere il database da tutti i possibili danneggiamenti di tipo hardware, per es. danneggiamento della memoria, esplosione e così via e nel riuscire a recuperare i dati nonostante queste complicazioni. Per recuperare i dati persi è necessario avere delle copie di ripristino (backup) dei dati stessi, magari su altri dispositivi (nastri) o online (cloud).
Un buon DBMS tiene sempre aggiornati uno o più copie di sicurezza.
In breve
Le problematiche di sicurezza di un database è una questione molto importante all’interno delle aziende. Un buon DBMS garantisce l’integrità dei dati consentendo l’aggiornamento solo dal personale autorizzato, la protezione dal danneggiamento, sia da azioni illegali, sia da cause naturali, e il controllo degli accessi concorrenti, consentendo la multiutenza libera in scrittura e bloccando le operazioni mentre è in atto un’operazione di scrittura.
sempre informazioni corrette ed esaustive. Analizziamo alcuni aspetti che fanno parte
dell’integrità logica:
Integrità referenziale: Contrasta l’aggiornamento errato di un database
inserendo o modificando un dato falso, scorretto. In particolare è utile su
database con campi correlati con altri in archivi differenti, per cui il DBMS con
una buona integrità referenziale bloccherà tutti i tentativi di modificazione o
inserimento o eliminazione di dati che hanno una correlazione con un altro
campo in un altro archivio a meno che non venga chiesto di inserire, modificare
o eliminare i campi anche negli altri archivi.
Consistenza della base di dati: Una base di dati si dice consistente quando tutti i
vincoli di validità dei dati sono rispettati. Per es. quando agiamo su un dato
modificandolo o eliminandolo o inserendolo come nuovo, c’è il vincolo che le
istruzioni devono essere sequenziali e quindi una per volta. L’utente finale però
avrà l’impressione di svolgere queste operazioni quasi contemporaneamente,
nel caso in cui il DBMS sia buono. Se il comando o transizione effettuata
dall’utente non va a buon fine, il sistema tornerà allo stato precedente al
comando (rollback).
Accessi concorrenti: Permette a più utenti di accedere allo stesso tempo al
database ed effettuare operazioni diverse nello stesso tempo. Attraverso un
meccanismo di sincronizzazione dei dati, non sorgeranno problemi se un utente
va ad intaccare i dati dell’altro. Per risolvere questo problema si usa la tecnica
della mutua esclusione ovvero un solo utente per volta può accedere a quel
determinato dato, campo o record.
Integrità fisica: consiste nel proteggere il database da tutti i possibili
danneggiamenti di tipo hardware, per es. danneggiamento della memoria,
esplosione e così via e nel riuscire a recuperare i dati nonostante queste
complicazioni. Per recuperare i dati persi è necessario avere delle copie di
ripristino (backup) dei dati stessi, magari su altri dispositivi (nastri) o online
(cloud).
Un buon DBMS tiene sempre aggiornati uno o più copie di sicurezza.
A cura di Caruso Denny
VB - ITI “E. Barsanti”