• 05/24/2017
  • 4 minuti per leggere
    • V
    • w
    • M
    • j
    • D
    • +8

APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse

SQL Server fornisce ruoli a livello di server per aiutarti a gestire le autorizzazioni su un server. Questi ruoli sono presidi di sicurezza che raggruppano altri presidi. I ruoli a livello di server sono estesi a tutto il server per quanto riguarda i permessi. (I ruoli sono come i gruppi nel sistema operativo Windows.)

I ruoli server fissi sono forniti per comodità e compatibilità all’indietro. Assegnate permessi più specifici quando possibile.

SQL Server fornisce nove ruoli server fissi. I permessi che sono concessi ai ruoli server fissi (eccetto pubblico) non possono essere cambiati. A partire da SQL Server 2012 (11.x), è possibile creare ruoli server definiti dall’utente e aggiungere permessi a livello di server ai ruoli server definiti dall’utente.

È possibile aggiungere i principal a livello di server (login di SQL Server, account Windows e gruppi Windows) nei ruoli a livello di server. Ogni membro di un ruolo server fisso può aggiungere altri login a quello stesso ruolo. I membri dei ruoli server definiti dall’utente non possono aggiungere altri mandanti server al ruolo.

Nota

Le autorizzazioni a livello di server non sono disponibili in SQL Database o Azure Synapse Analytics. Per maggiori informazioni su SQL Database, vedi Controllo e concessione dell’accesso al database.

Ruoli fissi a livello di server

La seguente tabella mostra i ruoli fissi a livello di server e le loro capacità.

Ruolo fisso a livello di server Descrizione
sysadmin I membri del ruolo fisso sysadmin possono eseguire qualsiasi attività nel server.
serveradmin I membri del ruolo serveradmin fisso possono cambiare le opzioni di configurazione del server e spegnere il server.
securityadmin I membri del ruolo server securityadmin fisso gestiscono i login e le loro proprietà. Possono GRANT, DENY e REVOKE permessi a livello di server. Possono anche GRANT, DENY e REVOKE permessi a livello di database se hanno accesso a un database. Inoltre, possono resettare le password per i login di SQL Server.
IMPORTANTE: La capacità di concedere l’accesso al Database Engine e di configurare i permessi degli utenti permette all’amministratore della sicurezza di assegnare la maggior parte dei permessi del server. Il ruolo securityadmin dovrebbe essere trattato come equivalente al ruolo sysadmin.
processadmin I membri del ruolo server fisso processadmin possono terminare i processi in esecuzione in un’istanza di SQL Server.
setupadmin I membri del ruolo server fisso setupadmin possono aggiungere e rimuovere server collegati usando istruzioni Transact-SQL. (l’appartenenza a sysadmin è necessaria quando si usa Management Studio.)
bulkadmin I membri del ruolo server fisso bulkadmin possono eseguire l’istruzione BULK INSERT.
diskadmin Il ruolo server fisso diskadmin è usato per gestire i file del disco.
dbcreator I membri del ruolo server fisso dbcreator possono creare, modificare, eliminare e ripristinare qualsiasi database.
public Ogni login di SQL Server appartiene al ruolo server public. Quando a un principale del server non sono stati concessi o negati permessi specifici su un oggetto securabile, l’utente eredita i permessi concessi a public su quell’oggetto. Assegna i permessi pubblici su qualsiasi oggetto solo quando vuoi che l’oggetto sia disponibile a tutti gli utenti. Non puoi cambiare l’appartenenza a public.
Nota: public è implementato diversamente dagli altri ruoli, e i permessi possono essere concessi, negati o revocati dai ruoli server fissi public.

Importante

La maggior parte dei permessi forniti dai seguenti ruoli server non sono applicabili a Synapse SQL – processadmin, serveradmin, setupadmin, e diskadmin.

Permessi dei ruoli server fissi

Ogni ruolo server fisso ha certi permessi assegnati ad esso. Il seguente grafico mostra i permessi assegnati ai ruoli server.

Importante

Il permesso CONTROL SERVER è simile ma non identico al ruolo server fisso sysadmin. I permessi non implicano l’appartenenza al ruolo e l’appartenenza al ruolo non concede permessi. (Ad esempio, CONTROL SERVER non implica l’appartenenza al ruolo fisso di sysadmin). Tuttavia, a volte è possibile impersonare tra ruoli e permessi equivalenti. La maggior parte dei comandi DBCC e molte procedure di sistema richiedono l’appartenenza al ruolo server fisso sysadmin. Per un elenco di 171 procedure di sistema memorizzate che richiedono l’appartenenza al ruolo di sysadmin, vedere il seguente post del blog di Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permessi, procedure di sistema, DBCC, creazione automatica dello schema ed escalation dei privilegi – caveat.

Permessi a livello di server

Solo i permessi a livello di server possono essere aggiunti ai ruoli server definiti dall’utente. Per elencare i permessi a livello di server, esegui la seguente dichiarazione. I permessi a livello di server sono:

SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name; 

Per maggiori informazioni sui permessi, vedi Permessi (Database Engine) e sys.fn_builtin_permissions (Transact-SQL).

Lavoro con i ruoli a livello di server

La seguente tabella spiega i comandi, le viste e le funzioni che puoi usare per lavorare con i ruoli a livello di server.

Feature Type Description
sp_helpsrvrole (Transact-SQL) Metadata Ritorna una lista di ruoli a livello server.
sp_helpsrvrolemember (Transact-SQL) Metadata Riporta informazioni sui membri di un ruolo a livello di server.
sp_srvrolepermission (Transact-SQL) Metadata Visualizza le autorizzazioni di un ruolo a livello di server.
IS_SRVROLEMBER (Transact-SQL) Metadata Indica se un login di SQL Server è membro del ruolo specificato a livello di server.
sys.server_role_members (Transact-SQL) Metadata Riporta una riga per ogni membro di ogni ruolo a livello di server.
sp_addsrvrolemember (Transact-SQL) Comando Aggiunge un login come membro di un ruolo a livello server. Deprecato. Usa invece ALTER SERVER ROLE.
sp_dropsrvrolemember (Transact-SQL) Command Rimuove un login SQL Server o un utente o gruppo Windows da un ruolo a livello server. Deprecato. Usa invece ALTER SERVER ROLE.
CREATE SERVER ROLE (Transact-SQL) Command Crea un ruolo server definito dall’utente.
ALTER SERVER ROLE (Transact-SQL) Comando Cambia l’appartenenza a un ruolo server o cambia il nome di un ruolo server definito dall’utente.
DROP SERVER ROLE (Transact-SQL) Comando Rimuove un ruolo server definito dall’utente.
IS_SRVROLEMBER (Transact-SQL) Funzione Determina l’appartenenza al ruolo del server.

Vedi anche

Ruoli a livello di database
Viste del catalogo di sicurezza (Transact-SQL)
Funzioni di sicurezza (Transact-SQL)
Protezione di SQL Server
GRANT Autorizzazioni principali del server (Transact-SQL)
REVOKE Autorizzazioni principali del server (Transact-SQL)
DENY Autorizzazioni principali del server (Transact-SQL)
Crea un ruolo del server

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.