Come utilizzare i ruoli SQL Server

Come utilizzare i ruoli SQL Server

L'uso del server SQL è archiviare, recuperare e manipolare i dati. Una delle caratteristiche chiave del server SQL è la sua capacità di concedere e gestire le autorizzazioni a diversi utenti e gruppi. I ruoli SQL Server sono uno strumento potente che consente agli amministratori di database di assegnare una serie di autorizzazioni a un gruppo di utenti con esigenze simili.

Questo articolo fornisce una guida su come utilizzare i ruoli SQL Server, inclusa una panoramica dei diversi tipi di ruoli disponibili, esempi di come assegnare questi ruoli agli utenti e suggerimenti su come gestire questi ruoli.

Cosa sono i ruoli SQL?

I ruoli consentono al DBA di gestire le autorizzazioni in modo più efficiente. Dobbiamo prima creare i ruoli. Quindi, assegniamo le autorizzazioni ai ruoli e quindi aggiungiamo gli accessi ai ruoli, di conseguenza.

Il server SQL supporta principalmente due tipi di ruoli:

  • Ruoli del server risolti: Questi ruoli hanno già un insieme predefinito di autorizzazioni.
  • Ruoli del server definiti dall'utente: Questi ruoli possono essere modificati per soddisfare i requisiti della tua organizzazione.

Tipi di ruoli SQL Server

Il server SQL fornisce diversi ruoli integrati che possono essere utilizzati per assegnare le autorizzazioni agli utenti. Ecco alcuni dei ruoli più comuni e le loro autorizzazioni corrispondenti:

  • Bulkadmin: I membri del ruolo del server fisso Bulkadmin possono eseguire l'istruzione "Insert Bulk".
  • Sysadmin: Questo ruolo ha il più alto livello di autorizzazioni e può eseguire qualsiasi azione sull'istanza SQL Server, inclusa la creazione, la modifica e l'eliminazione dei database e degli accessi.
  • ServerAdmin: Questo ruolo può configurare le impostazioni a livello di server come l'allocazione della memoria e i protocolli di rete, ma non può modificare i database.
  • SecurityAdmin: Questo ruolo può gestire gli accessi e le loro autorizzazioni, tra cui la creazione e la modifica degli accessi, dei ruoli e delle password.
  • ProcessAdmin: Il ruolo del server fisso ProcessAdmin garantisce ai suoi membri la possibilità di terminare o fermare i processi che stanno attualmente eseguendo all'interno di un'istanza del motore di database SQL Server.
  • dbcreator: Questo ha le autorizzazioni per creare, modificare e rimuovere i database, ma non possiede l'autorità per eseguire altri compiti amministrativi.
  • diskadmin: Questo ruolo può gestire i file del disco come la creazione e l'eliminazione dei file e l'aggiunta o la rimozione di dischi.
  • DataReader: Il ruolo DataReader ha la capacità di accedere e leggere tutte le informazioni archiviate nelle tabelle utente di un database.
  • Datawriter: Il ruolo di datawriter possiede l'autorità per inserire, aggiornare ed eliminare i dati da tutte le tabelle degli utenti all'interno di un database.
  • ddladmin: Questo ruolo può creare, modificare e rilasciare i trigger e gli oggetti DDL (viste, tabelle e procedure memorizzate).
  • pubblico: Per impostazione predefinita, tutti gli utenti, i gruppi e i ruoli SQL Server sono automaticamente inclusi nel ruolo del server fisso pubblico.

Creazione del ruolo del server definito dall'utente utilizzando GUI

La creazione di un ruolo di server definito dall'utente in SQL Server può essere eseguita tramite GUI utilizzando SQL Server Management Studio (SSMS). Per creare un ruolo del server definito dall'utente utilizzando la GUI in SSMS, seguire questi passaggi:

1. Avvia SQL Server Management Studio (SSMS) e stabilisci una connessione all'istanza specifica del server SQL.

2. Vai a Security -> Ruoli del server-> Nuovo ruolo del server.

3. Specificare un nome per il nuovo ruolo nella pagina generale.

4. Specificare l'arco di livello Server a livello di server che il ruolo avrà le autorizzazioni nella pagina iperidenza.

5. Aggiungi qualsiasi utente o altri ruoli nella pagina dei membri.

Creazione e utilizzo del ruolo del server tramite T-SQL

Creazione e utilizzo di un ruolo di server utilizzando T-SQL nel server SQL è un altro modo per gestire le autorizzazioni a livello di server. Per creare un ruolo del server definito dall'utente utilizzando T-SQL, dobbiamo seguire questi passaggi:

1. Apri una nuova finestra di query ed esegui il seguente codice per creare il nuovo ruolo del server:

-- << Create a user defined Server role
Usa [Master]
ANDARE
Crea un ruolo di server [junior dba]
ANDARE

In questo esempio, creiamo un nuovo ruolo del server: "Junior DBA".

2. Eseguire il seguente codice per concedere le autorizzazioni al nuovo ruolo:

Usa [Master]
ANDARE
Concedere crea qualsiasi database --<< now can create db
A [junior dba]
ANDARE

In questo esempio, consentiamo l'autorizzazione al nuovo ruolo, "Junior DBA", di creare i database.

Concedere visualizzare qualsiasi database --<< only can view any db but not tables
A [junior dba]
ANDARE

In questo esempio, il comando "Grant Visualizza qualsiasi database" viene utilizzato per concedere un'autorizzazione a livello di server che consente al ruolo di vedere i metadati per qualsiasi database sul server. In questo caso, concediamo questa autorizzazione al ruolo del server "junior dba" che abbiamo creato in precedenza.

Tuttavia, è importante notare che la concessione dell'autorizzazione "visualizzare qualsiasi database" non fornisce all'utente o all'autorizzazione del ruolo per accedere a qualsiasi dati all'interno dei database: consente semplicemente loro di vedere i metadati (come nomi di database e schemi).

3. Aggiungi un account di accesso o utente al nuovo ruolo eseguendo il seguente codice:

--Aggiungi gli accessi SQL al nuovo ruolo del server
Alter server ruolo [junior dba]
Aggiungi membro [Papan]
ANDARE
Alter server ruolo [junior dba]
Aggiungi membro [Rima]
ANDARE

In questo esempio, aggiungiamo i resoconti "Papan" e "Rima" come membri del ruolo "Junior DBA".

Conclusione

I ruoli SQL Server forniscono un potente strumento per gestire le autorizzazioni in un ambiente di database. Assegnando ruoli agli utenti, è possibile assicurarsi che abbiano il livello adeguato di accesso ai dati di cui hanno bisogno senza dare loro privilegi inutili. Sia che tu stia gestendo un piccolo database o un ampio sistema aziendale, capire come utilizzare i ruoli SQL Server è un'abilità importante che può aiutarti a mantenere la sicurezza e l'integrità dei tuoi dati.