- 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