Gestione dei permessi sugli oggetti
SQL Server - La gestione della sicurezza

I permessi sugli oggetti regolano l'uso di certe istruzioni su certi oggetti del database.
Essi sono dati e revocati dal proprietario dell'oggetto.
I permessi sono dati su tabelle, viste e procedure.
I permessi sugli oggetti sono applicati alle istruzioni e agli oggetti seguenti.

IstruzioneOggetto
SELECTtabella, vista, colonne
UPDATEtabella, vista, colonne
INSERTtabella, vista
DELETEtabella, vista
EXECUTEstored procedure

SQL Enterprise Manager permette di amministrare i permessi sugli oggetti per utente (i permessi sugli oggetti sono dati ad un utente o ad un gruppo) o per oggetto (gli utenti o i gruppo che hanno i permessi per quell'oggetto).

Solo un amministratore di sistema (SA) o un proprietario di database (DBO) può amministrare i permessi sugli oggetti.


PER AMMINISTRARE I PERMESSI SUGLI OGGETTI PER GRUPPO O PER UTENTE ...
... è necessario:

  1. aprire SQL Enterprise Manager, dalla finestra del Server Manager selezionare il server e e aprire la cartella Database per quel server
  2. dal menu Object selezionare Permissions, si apre la finestra Object Permissions
  3. selezionare la finestra By Users

  4. dalla lista User/Group selezionare un utente o un gruppo (i permessi sono mostrati per questo utente o per questo gruppo); se si seleziona un gruppo nella casella Member of vengono listati gli utenti di quel gruppo
  5. per limitare l'ammontare delle informazioni visualizzate selezionare o deselezionare le opzioni del Object Filters
  6. per dare all'utente o al gruppo selezionato tutti i permessi per tutti gli oggetti visualizzati scegliere Grant All; per togliere all'utente o al gruppo selezionato tutti i permessi per tutti gli oggetti visualizzati scegliere Revoke All
  7. per dare o togliere all'utente o al gruppo selezionato specifici permessi per specifici oggetti, cliccare sull'appropriato checkbox nella lista degli oggetti
  8. opzionalmente, è possibile dare permessi di SELECT e UPDATE a particolari colonne degli oggetti, si seleziona il nome dell'oggetto dalla lista e si seleziona l'opzione Column Level Permissions, dopo di che nella lista delle colonne è possibile dare o togliere specifici permessi per specifiche colonne cliccando sull'appropriato check box (i permessi a livelli di colonne si applicano solo a tabelle e a viste)
  9. scegliere Set


PER AMMINISTRARE I PERMESSI SUGLI OGGETTI PER OGGETTO ...
... è necessario:

  1. aprire SQL Enterprise Manager, dalla finestra del Server Manager selezionare il server e e aprire la cartella Database per quel server
  2. dal menu Object selezionare Permissions, si apre la finestra Object Permissions
  3. selezionare la finestra By Object

  4. dalla lista Object selezionare un oggetto (è l'oggetto su cui si gestiscono i permessi)
  5. per dare tutti i permessi per questo oggetto a tutti gli utenti e a tutti i gruppo di quel database scegliere Grant All; per togliere tutti i permessi per questo oggetto a tutti gli utenti e a tutti i gruppo di quel database scegliere Revoke All
  6. per dare o togliere specifici permessi per specifici utenti o gruppi, cliccare sull'appropriato checkbox nella lista dei gruppi e degli utenti
  7. opzionalmente, è possibile dare permessi di SELECT e UPDATE a particolari colonne degli oggetti, si seleziona il nome dell'utente o del gruppo e si seleziona l'opzione Column Level Permissions, dopo di che nella lista delle colonne è possibile dare o togliere specifici permessi per specifiche colonne cliccando sull'appropriato check box (i permessi a livelli di colonne si applicano solo a tabelle e a viste)
  8. scegliere Set


I COLORI DEI CHECKBOX NELLA FINESTRA "OBJECT PERMISSIONS" ...

Indicatore del checkboxSignificato
vuotonon ci sono cambamenti per i permessi relativi
selezione blu il permesso è stato dato
selezione rossa il permesso è stato tolto
selezione verde il permesso dato è in sospeso (verrà dato quando si premerà il tasto Set)
cerchio rosso e barrato il permesso tolto è in sospeso (verrà dato quando si premerà il tasto Set)


E se si volesse utilizzare le istruzioni Transact-SQL per dare o togliere permessi?