Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Autenticazione

Meccanismi di autenticazione disponibili per le applicazioni create
Meccanismi di autenticazione disponibili per le applicazioni create
Link copiato negli appunti

Finché usiamo il database per piccoli siti web, o per piccoli programmi di gestione, anche i processi di autenticazione e di sicurezza, possono essere presi alla leggera. Se però il sito web contiene informazioni aziendali o commerciali, o il programma è un CRM aziendale, il database deve seguire delle regole di sicurezza e autenticazione.

Con SQL Server siamo in grado di gestire l'autenticazione in due modi:

  • tramite gli utenti e i ruoli presenti in windows;
  • tramite gli utenti di SQL Server.

Con questa doppia scelta possiamo applicare i permessi offline o per progetti online.

Figura 1. Modalità di autenticazione
Modalità di autenticazione

Nel primo caso, sfruttando l'autenticazione fornita da Windows, l'utente di LDAP sarà presente nel server ed avrà particolari diritti che vengono replicati in SQL Server. Al contrario, con gli account SQL la sicurezza è inferiore e il numero di accessi raddoppia.

Anche gli stessi creatori di SQL Server consigliano, ove possibile, l'utilizzo dell'autenticazione Windows piuttosto che quella SQL.

Listato 1. Creazione utenti

--utente windows con ruolo bulkadmin e database MyDatabase

CREATE LOGIN [RAFFAEU-PCAdministrator]
FROM WINDOWS
WITH DEFAULT_DATABASE=[MyDatabase]
GO
EXEC
master..sp_addsrvrolemember @loginame = N'RAFFAEU-PCAdministrator',
@rolename = N'bulkadmin'
GO

--Utente SQL in lingua Italiano e controllo scadenza

CREATE LOGIN [raffaele]
WITH PASSWORD=N'oscar' MUST_CHANGE,
DEFAULT_DATABASE=[MyDatabase],
DEFAULT_LANGUAGE=[Italiano],
CHECK_EXPIRATION=ON, CHECK_POLICY=ON GO

Esistono due tipologie di autorizzazioni:

  • una per gestire gli accessi al database e le funzioni di amministrazione possibili;
  • una per l'accesso ai dati e agli oggetti.

Ruoli amministrativi

Ora che abbiamo due utenti nel database principale, possiamo giocare con i permessi. Vediamo quali sono i gruppi per operare nel database, quindi eseguire backup, modifiche, etc.

bulkadmin Eseguono istruzioni di inserimento multiplo
diskadmin Gestiscono i file sul disco (.mdf)
dbcreator Creano e modificano database
processadmin Gestiscono i processi e i job
serveradmin Configurano il server (impostazioni)
setupadmin Gestiscono la replica
sysadmin Qualsiasi attività amministrativa sul database

Ruoli del singolo database

Oltre ai ruoli amministrativi, abbiamo anche quelli di gestione e accesso ai dati. Sicuramente capiterà più spesso di dover gestire questi utenti ed il loro accesso a viste o oggetti vari. Conviene sempre prima progettare un modello relazionale di gruppi e permessi, per non perdersi poi nella giungla degli utenti del database.

db_accessadmin Gestiscono gli utenti del database
db_backupoperator Possono eseguire le funzioni di backup
db_datareader Possono esclusivamente visualizzare i dati
db_datawriter Possono eseguire INSERT e UPDATE
db_ddladmin Possono modificare gli oggetti o vincolarli
db_denydatareader Non possono leggere i dati
db_denydatawriter Non possono eseguire modifiche ai dati

Grazie a queste caratteristiche, oltre alla creazione personalizzata di ruoli, possiamo gestire al meglio la sicurezza. In questo modo siamo sicuri che un utente non autorizzato, per esempio, non potrà involontariamente cancellare dati.

Ti consigliamo anche