SQL Server 2000 ha introdotto rispetto alle precedenti versioni nuove
caratteristiche e funzionalità che vanno ad inserirsi in un contesto
caratterizzato da una forte integrazione con i sistemi operativi Windows
NT/2000.
Anche questo server di database, come del resto la maggior parte
dei moderni RDBMS, adotta un modello di sicurezza contraddistinto dalla presenza
di tre differenti livelli di protezione: autenticazione, autorizzazione ed
auditing.
La fase di autenticazione
In SQL Server, prima di poter accedere alle risorse messe a disposizione dal
database, è necessario passare attraverso una preventiva fase di autenticazione
che coinvolge due livelli differenti: il server ed il database.
Il passaggio
attraverso queste due fasi distinte viene reso possibile tramite il ricorso ai
login ed agli account utente. Un login può essere sia esterno, cioè proprio del
sistema operativo Windows NT/2000, sia interno vale a dire memorizzato
direttamente nel database.
Gli account utente invece sono necessari per
consentire l'accesso alle risorse del database. Quando viene creato un account
utente all'interno di un database esso viene associato ad un login SQL Server
oppure ad un utente/gruppo del sistema operativo. Fondamentalmente SQL Server
2000 prevede due modalità distinte di autenticazione:
- basata sul sistema operativo (Windows Authentication Mode):
è la modalità di default; quando viene utilizzata non occorre fornire un nome di
login ed una password per connettersi al server SQL poichè l'autenticazione
viene mediata da Windows NT/2000 attraverso un account e/o gruppo di account
validi all'interno del sistema stesso. In questi casi l'amministratore del
database deve semplicemente specificare nella fase di configurazione gli
utenti/gruppi che hanno il permesso di autenticarsi ed, in tal modo, garantisce
indirettamente agli stessi l'accesso al sistema nel quale risiede il processo
del server di database. - modalità mista (Mixed Mode): questo tipo di autenticazione
viene così chiamata poichè essa può essere basata sul sistema operativo oppure
sul server di database. In quest'ultima ipotesi l'amministratore del database
deve prima creare degli account di login che non hanno nulla a che vedere con
gli utenti/gruppi del sistema operativo e le cui password vengono memorizzate
all'interno del database master (nella tabella sysxlogins). In
linea generale va ricordato che la modalità di autenticazione mista utilizza
comunque la mediazione del sistema operativo anche se nella sola ipotesi in cui
sia il client che il server possono interloquire tra loro utilizzando i
protocolli NTLM e/o Kerberos (cosa che non si verifica ad esempio nel caso in
cui il server sia installato su una macchina con un sistema operativo Windows
9.x o Me).
Tra le due citate modalità quella da preferire è naturalmente quella basata
su Windows poichè essa oltre ad essere strettamente integrata nell'ambiente
operativo impedisce il transito sulla rete delle coppie login/password
necessarie affinchè l'autenticazione abbia luogo.