- 05/24/2017
- 4 minute de citit
-
- V
- w
- M
- j
- D
-
+8
Se aplică la: SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse
SQL Server oferă roluri la nivel de server pentru a vă ajuta să gestionați permisiunile pe un server. Aceste roluri sunt principialități de securitate care grupează alte principialități. Rolurile la nivel de server sunt la nivelul întregului server în ceea ce privește domeniul de aplicare al permisiunilor. (Rolurile sunt ca și grupurile din sistemul de operare Windows.)
Rolurile fixe de server sunt furnizate pentru comoditate și compatibilitate retroactivă. Atribuiți permisiuni mai specifice ori de câte ori este posibil.
SQL Server oferă nouă roluri fixe de server. Permisiunile care sunt acordate rolurilor fixe de server (cu excepția rolului public) nu pot fi modificate. Începând cu SQL Server 2012 (11.x), puteți crea roluri de server definite de utilizator și puteți adăuga permisiuni la nivel de server la rolurile de server definite de utilizator.
Puteți adăuga principii la nivel de server (autentificări SQL Server, conturi Windows și grupuri Windows) în roluri la nivel de server. Fiecare membru al unui rol de server fix poate adăuga alte autentificări la același rol. Membrii rolurilor de server definite de utilizator nu pot adăuga alți principali de server în rolul respectiv.
Nota
Autorizațiile la nivel de server nu sunt disponibile în SQL Database sau Azure Synapse Analytics. Pentru mai multe informații despre SQL Database, consultați Controlul și acordarea accesului la baza de date.
Rolații fixe la nivel de server
Tabelul următor prezintă rolurile fixe la nivel de server și capacitățile acestora.
Rol fix la nivel de server | Descriere |
---|---|
sysadmin | Membrii rolului fix de server sysadmin pot efectua orice activitate în server. |
serveradmin | Membrii rolului fix serveradmin pot modifica opțiunile de configurare la nivelul serverului și pot opri serverul. |
securityadmin | Membrii rolului fix server securityadmin gestionează autentificările și proprietățile acestora. Aceștia pot GRANT , DENY și REVOKE permisiuni la nivel de server. Ei pot, de asemenea, GRANT , DENY și REVOKE permisiuni la nivel de bază de date dacă au acces la o bază de date. În plus, ei pot reseta parolele de conectare la SQL Server. IMPORTANT: Capacitatea de a acorda acces la motorul de baze de date și de a configura permisiunile utilizatorilor permite administratorului de securitate să atribuie majoritatea permisiunilor de server. Rolul securityadmin trebuie tratat ca fiind echivalent cu rolul sysadmin. |
processadmin | Membrii rolului server fix processadmin pot încheia procesele care rulează într-o instanță de SQL Server. |
setupadmin | Membrii rolului server fix setupadmin pot adăuga și elimina serverele legate prin utilizarea instrucțiunilor Transact-SQL. (apartenența la sysadmin este necesară atunci când se utilizează Management Studio.) |
bulkadmin | Membrii rolului de server fix bulkadmin pot executa instrucțiunea BULK INSERT . |
diskadmin | Rolul de server fix diskadmin este utilizat pentru gestionarea fișierelor de disc. |
dbcreator | Membrii rolului de server fix dbcreator pot crea, modifica, abandona și restaura orice bază de date. |
public | Care autentificare SQL Server aparține rolului de server public. Atunci când unui principal de server nu i s-au acordat sau refuzat permisiuni specifice pe un obiect securizabil, utilizatorul moștenește permisiunile acordate lui public pe acel obiect. Atribuiți permisiuni public pe orice obiect numai atunci când doriți ca obiectul să fie disponibil pentru toți utilizatorii. Nu puteți modifica apartenența la public. Nota: public este implementat diferit față de alte roluri, iar permisiunile pot fi acordate, refuzate sau revocate din rolurile de server fixe public. |
Important
Majoritatea permisiunilor oferite de următoarele roluri de server nu se aplică la Synapse SQL – processadmin, serveradmin, setupadmin și diskadmin.
Permisiuni ale rolurilor fixe de server
Cărui rol fix de server i se atribuie anumite permisiuni. Următorul grafic prezintă permisiunile atribuite rolurilor de server.
Important
Permisiunea CONTROL SERVER este similară, dar nu identică cu rolul de server fix sysadmin. Permisiunile nu implică apartenența la roluri, iar apartenența la roluri nu acordă permisiuni. (De exemplu, CONTROL SERVER nu implică apartenența la rolul de server fix sysadmin). Cu toate acestea, uneori este posibilă impersonarea între roluri și permisiuni echivalente. Majoritatea comenzilor DBCC și multe proceduri de sistem necesită apartenența la rolul de server fix sysadmin. Pentru o listă de 171 de proceduri stocate de sistem care necesită apartenența la sysadmin, consultați următoarea postare pe blog de Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permisiuni, proceduri de sistem, DBCC, crearea automată a schemelor și escaladarea privilegiilor – avertismente.
Permisiuni la nivel de server
Se pot adăuga numai permisiuni la nivel de server la rolurile de server definite de utilizator. Pentru a enumera permisiunile la nivel de server, executați următoarea instrucțiune. Permisiunile la nivel de server sunt:
SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;
Pentru mai multe informații despre permisiuni, consultați Permissions (Database Engine) și sys.fn_builtin_permissions (Transact-SQL).
Lucrul cu rolurile la nivel de server
Tabelul următor explică comenzile, vizualizările și funcțiile pe care le puteți utiliza pentru a lucra cu rolurile la nivel de server.
Feature | Type | Description |
---|---|---|
sp_helpsrvrole (Transact-SQL) | Metadata | Întoarce o listă de roluri la nivel de server. |
sp_helpsrvrolemember (Transact-SQL) | Metadata | Întoarce informații despre membrii unui rol la nivel de server. |
sp_srvrolepermission (Transact-SQL) | Metadata | Afișează permisiunile unui rol la nivel de server. |
IS_SRVROLEMEMBER (Transact-SQL) | Metadata | Indică dacă o autentificare SQL Server este membru al rolului la nivel de server specificat. |
sys.server_role_members (Transact-SQL) | Metadata | Întoarce câte un rând pentru fiecare membru al fiecărui rol la nivel de server. |
sp_addsrvrolemember (Transact-SQL) | Comandă | Adă un login ca membru al unui rol la nivel de server. Depreciat. Utilizați în schimb ALTER SERVER ROLE. |
sp_dropsrvrolemember (Transact-SQL) | Command | Îndepărtează un login SQL Server sau un utilizator sau grup Windows dintr-un rol la nivel de server. Depreciat. Utilizați în schimb ALTER SERVER ROLE. |
CREATE SERVER ROLE (Transact-SQL) | Command | Creează un rol de server definit de utilizator. |
ALTER SERVER ROLE (Transact-SQL) | Command | Schimbă apartenența unui rol de server sau schimbă numele unui rol de server definit de utilizator. |
DROP SERVER ROLE (Transact-SQL) | Command | Îndepărtează un rol de server definit de utilizator. |
IS_SRVROLEMEMBER (Transact-SQL) | Funcție | Determină apartenența la un rol de server. |
Vezi și
Roles la nivelul bazei de date
Security Catalog Views (Transact-SQL)
Funcții de securitate (Transact-SQL)
Funcții de securitate (Transact-…SQL)
Securizarea SQL Server
GRANT Permisiuni principale ale serverului (Transact-SQL)
REVOKE Permisiuni principale ale serverului (Transact-SQL)
DENY Permisiuni principale ale serverului (Transact-SQL)
Crearea unui rol de server
.