Megosztás a következőn keresztül:


Kiszolgálószintű szerepkörök

A következőkre vonatkozik:SQL ServerFelügyelt Azure SQL-példányAnalytics platformrendszer (PDW)

Az SQL Server kiszolgálószintű szerepköröket biztosít a kiszolgálói engedélyek kezeléséhez. Ezek a szerepkörök olyan biztonsági tagok, amelyek más tagokat csoportosítanak. A kiszolgálószintű szerepkörök kiszolgálószintűek az engedélyek hatókörében. (A szerepkörök olyanok, mint a Windows operációs rendszer csoportjai .)

Az SQL Server 2019 (15.x) és a korábbi verziók kilenc rögzített kiszolgálói szerepkört biztosítottak. A rögzített kiszolgálói szerepkörökhöz megadott engedélyek (a nyilvánosak kivételével) nem módosíthatók. Az SQL Server 2012 -től kezdve (11.x) létrehozhat felhasználó által definiált kiszolgálói szerepköröket, és kiszolgálószintű engedélyeket adhat hozzá a felhasználó által definiált kiszolgálói szerepkörökhöz. Az SQL Server 2022 (16.x) 10 további kiszolgálói szerepkörrel rendelkezik, amelyek kifejezetten a Minimális jogosultság elve szem előtt tartásával lettek kialakítva, amelyek előtagja ##MS_ és utótagja ## megkülönbözteti őket a szokásos, felhasználó által létrehozott tagoktól és egyéni kiszolgálói szerepköröktől. Ezek az új szerepkörök olyan jogosultságokat tartalmaznak, amelyek a kiszolgáló hatókörére vonatkoznak, de az egyes adatbázisokra is örökölhetnek (kivéve a ##MS_LoginManager## kiszolgálói szerepkört).)

A helyszíni SQL Serverhez hasonlóan a kiszolgálói engedélyek hierarchikusan vannak rendszerezve. A kiszolgálószintű szerepkörök által birtokolt engedélyek adatbázis-engedélyekre propagálhatók. Ahhoz, hogy az engedélyek adatbázisszinten hatékonyan hasznosak legyenek, a bejelentkezésnek vagy a kiszolgálószintű szerepkör ##MS_DatabaseConnector## tagjának kell lennie (az SQL Server 2022-től kezdve (16.x)), amely minden adatbázisnak megadja az CONNECT engedélyt, vagy felhasználói fiókkal kell rendelkeznie az egyes adatbázisokban. Ez az adatbázisra master is vonatkozik.

Vegye figyelembe a következő példát: A kiszolgálószintű szerepkör ##MS_ServerStateReader## rendelkezik az engedéllyel VIEW SERVER STATE. A szerepkörhöz tartozó bejelentkezések felhasználói fiókkal vannak az és WideWorldImporters az master adatbázisokban. Ez a felhasználó rendelkezik a VIEW DATABASE STATE két adatbázisban öröklési engedéllyel is.

Kiszolgálószintű szerepkörökbe kiszolgálószintű tagokat (SQL Server-bejelentkezéseket, Windows-fiókokat és Windows-csoportokat) vehet fel. A rögzített kiszolgálói szerepkör minden tagja hozzáadhat más bejelentkezéseket ugyanahhoz a szerepkörhöz. A felhasználó által definiált kiszolgálói szerepkörök tagjai nem adhatnak hozzá más kiszolgálóneveket a szerepkörhöz.

Kiszolgálószintű szerepkörök rögzítve

Megjegyzés:

Ezek a kiszolgálószintű szerepkörök az SQL Server 2022 (16.x) előtt jelentek meg, és nem érhetők el az Azure SQL Database-ben vagy az Azure Synapse Analyticsben. Az engedélykezeléshez speciális Azure SQL Database-kiszolgálói szerepkörök tartoznak, amelyek egyenértékűek az SQL Server 2022-ben bevezetett kiszolgálószintű szerepkörök (16.x) használatával. Az SQL Database-ről további információt az adatbázis-hozzáférés szabályozása és biztosítása című témakörben talál.

Az alábbi táblázat a rögzített kiszolgálószintű szerepköröket és azok képességeit mutatja be.

Kijavítottuk a kiszolgálószintű szerepkört Leírás
sysadmin A sysadmin rögzített kiszolgálói szerepkör tagjai bármilyen tevékenységet végrehajthatnak a kiszolgálón. Fontos: az engedélyek nem tagadhatók meg a szerepkör tagjai számára.
serveradmin A serveradmin rögzített kiszolgálói szerepkör tagjai módosíthatják a kiszolgálószintű konfigurációs beállításokat, és leálltathatják a kiszolgálót.
securityadmin A securityadmin rögzített kiszolgálói szerepkör tagjai kezelik a bejelentkezéseket és azok tulajdonságait. Ezek a engedélyek és GRANTDENYREVOKE a kiszolgálószintű engedélyek. A securityadmin akkor is GRANTDENYrendelkezhet adatbázisszintű engedélyekkel és REVOKE adatbázisszintű engedélyekkel. Emellett a securityadmin alaphelyzetbe állíthatja az SQL Server-bejelentkezések jelszavát.

FONTOS: Az adatbázismotorhoz való hozzáférés biztosítása és a felhasználói engedélyek konfigurálása lehetővé teszi, hogy a biztonsági rendszergazda a legtöbb kiszolgálói engedélyt hozzárendelje. A securityadmin szerepkört a sysadmin szerepkörrel egyenértékűként kell kezelni. Alternatív megoldásként az SQL Server 2022-től kezdve (16.x) fontolja meg az új rögzített kiszolgálói szerepkör ##MS_LoginManager## használatát.
processadmin A processadmin rögzített kiszolgálói szerepkör tagjai befejezhetik az SQL Server egy példányán futó folyamatokat.
setupadmin A setupadmin rögzített kiszolgálói szerepkör tagjai Transact-SQL utasítások használatával adhatnak hozzá és távolíthatnak el csatolt kiszolgálókat. (a Management Studio használatakor sysadmin-tagságra van szükség.)
bulkadmin A bulkadmin rögzített kiszolgálói szerepkör tagjai futtathatják az utasítást BULK INSERT . A szerepkör tagjai bizonyos feltételek mellett emelhetik jogosultságaikat. Alkalmazza a minimális jogosultság elvét a szerepkör hozzárendelésekor, és figyelje a tagok által végzett összes tevékenységet.

A bulkadmin szerepkör vagy ADMINISTER BULK OPERATIONS engedélyek linuxos SQL Server esetén nem támogatottak.

A tömeges műveletek (BULK INSERT utasítások) nem támogatottak a Microsoft Entra-hitelesítésen alapuló bejelentkezésekhez Linux vagy Windows rendszeren. Ebben a forgatókönyvben csak a sysadmin szerepkör tagjai végezhetnek tömeges beszúrásokat az SQL Serverhez.
diskadmin A lemezfájlok kezelésére a diskadmin rögzített kiszolgálói szerepkör szolgál.
dbcreator A dbcreator rögzített kiszolgálói szerepkör tagjai bármilyen adatbázist létrehozhatnak, módosíthatnak, elvethetnek és visszaállíthatnak.
public Minden SQL Server-bejelentkezés a nyilvános kiszolgálói szerepkörhöz tartozik. Ha egy kiszolgálónév nem kap vagy nem tagad meg adott engedélyeket egy biztonságos objektumhoz, a felhasználó örökli az adott objektumon a nyilvánosság számára megadott engedélyeket. Csak akkor rendeljen hozzá nyilvános engedélyeket bármely objektumhoz, ha azt szeretné, hogy az objektum minden felhasználó számára elérhető legyen. A nyilvános tagság nem módosítható.

Megjegyzés:a nyilvános szerepkörök másként vannak implementálva, mint a többi szerepkör, és engedélyeket lehet adni, megtagadni vagy visszavonni a nyilvános rögzített kiszolgálói szerepkörökből.

Fontos

A következő kiszolgálói szerepkörök által biztosított engedélyek többsége nem alkalmazható az Azure Synapse Analyticsre – processadmin, serveradmin, setupadmin és diskadmin.

Kijavítottuk az SQL Server 2022-ben bevezetett kiszolgálószintű szerepköröket

Az alábbi táblázat az SQL Server 2022-ben (16.x) bevezetett rögzített kiszolgálószintű szerepköröket és azok képességeit mutatja be.

Megjegyzés:

Ezek a kiszolgálószintű engedélyek nem érhetők el a felügyelt Azure SQL-példányhoz vagy az Azure Synapse Analyticshez. ##MS_PerformanceDefinitionReader##, ##MS_ServerPerformanceStateReader##és ##MS_ServerSecurityStateReader## az SQL Server 2022-ben (16.x) vezetik be, és nem érhetők el az Azure SQL Database-ben.

Kijavítottuk a kiszolgálószintű szerepkört Leírás
##MS_DatabaseConnector## A ##MS_DatabaseConnector## rögzített kiszolgálói szerepkör tagjai bármilyen adatbázishoz csatlakozhatnak anélkül, hogy az adatbázisban felhasználói fiókra kellene csatlakozniuk.

Ha meg szeretné tagadni egy adott adatbázis CONNECT engedélyét, a felhasználók létrehozhatnak egy megfelelő felhasználói fiókot ehhez a bejelentkezéshez az adatbázisban, majd DENY az adatbázis-felhasználónak CONNECT engedélyt. Ez a DENY engedély felülírja a szerepkörből származó GRANT CONNECT engedélyt.
##MS_LoginManager## A ##MS_LoginManager## rögzített kiszolgálói szerepkör tagjai létrehozhatnak, törölhetnek és módosíthatnak bejelentkezéseket. A régi rögzített kiszolgálói szerepkör securityadmin-jével ellentétben ez a szerepkör nem teszi lehetővé a tagok számára a GRANT jogosultságokat. Ez egy korlátozottabb szerepkör, amely segít megfelelni a minimális jogosultság elvének.
##MS_DatabaseManager## A ##MS_DatabaseManager## rögzített kiszolgálói szerepkör tagjai adatbázisokat hozhatnak létre és törölhetnek. Az adatbázist létrehozó ##MS_DatabaseManager## szerepkör tagja lesz az adatbázis tulajdonosa, amely lehetővé teszi, hogy a felhasználó dbo felhasználóként csatlakozzon az adatbázishoz. A dbo felhasználó minden adatbázis-engedéllyel rendelkezik az adatbázisban. A ##MS_DatabaseManager## szerepkör tagjai nem feltétlenül rendelkeznek engedéllyel a nem saját adatbázisaik eléréséhez. Ez a kiszolgálói szerepkör ugyanazokkal a jogosultságokkal rendelkezik, mint az SQL Server adatbázis-létrehozó szerepköre, de javasoljuk, hogy ezt az új szerepkört használja az előbbihez, mivel ez a szerepkör az Azure SQL Database-ben is létezik, így különböző környezetekben is ugyanazt a szkriptet használhatja.

A szerepkör tagjai bizonyos feltételek mellett emelhetik jogosultságaikat. Alkalmazza a minimális jogosultság elvét a szerepkör hozzárendelésekor, és figyelje a tagok által végzett összes tevékenységet.
##MS_ServerStateManager## A ##MS_ServerStateManager## rögzített kiszolgálói szerepkör tagjai ugyanazokkal az engedélyekkel rendelkeznek, mint a ##MS_ServerStateReader## szerepkör. Emellett rendelkezik az ALTER SERVER STATE engedéllyel, amely lehetővé teszi a hozzáférést több felügyeleti művelethez, például: DBCC FREEPROCCACHE, , DBCC FREESYSTEMCACHE ('ALL')DBCC SQLPERF()
##MS_ServerStateReader## A ##MS_ServerStateReader## rögzített kiszolgálói szerepkör tagjai az összes dinamikus felügyeleti nézetet (DMV-t) és függvényt elolvashatják, és engedéllyel rendelkezhetnek VIEW SERVER STATEVIEW DATABASE STATE minden olyan adatbázishoz, amelyen a szerepkör tagja rendelkezik felhasználói fiókkal.
##MS_ServerPerformanceStateReader## A ##MS_ServerPerformanceStateReader## rögzített kiszolgálói szerepkör tagjai az összes dinamikus felügyeleti nézetet (DMV-t) és függvényt elolvashatják, és engedéllyel rendelkezhetnek VIEW SERVER PERFORMANCE STATEVIEW DATABASE PERFORMANCE STATE minden olyan adatbázishoz, amelyen a szerepkör tagja rendelkezik felhasználói fiókkal. Annak a részhalmaznak a részhalmaza, amelyhez a ##MS_ServerStateReader## kiszolgálói szerepkörnek hozzáférése van, ami segít megfelelni a minimális jogosultság elvének.
##MS_ServerSecurityStateReader## A ##MS_ServerSecurityStateReader## rögzített kiszolgálói szerepkör tagjai az összes dinamikus felügyeleti nézetet (DMV-t) és függvényt elolvashatják, és engedéllyel rendelkezhetnek VIEW SERVER SECURITY STATEVIEW DATABASE SECURITY STATE minden olyan adatbázishoz, amelyen a szerepkör tagja rendelkezik felhasználói fiókkal. A kiszolgálói szerepkör hozzáférésének ##MS_ServerStateReader## kis része, amely segít megfelelni a minimális jogosultság elvének.
##MS_DefinitionReader## A ##MS_DefinitionReader## rögzített kiszolgálói szerepkör tagjai elolvashatják az VIEW ANY DEFINITIONáltal lefedett összes katalógusnézetet, és VIEW DEFINITION engedéllyel rendelkezik minden olyan adatbázishoz, amelyen a szerepkör tagja rendelkezik felhasználói fiókkal.
##MS_PerformanceDefinitionReader## A ##MS_PerformanceDefinitionReader## rögzített kiszolgálói szerepkör tagjai elolvashatják az VIEW ANY PERFORMANCE DEFINITIONáltal lefedett összes katalógusnézetet, és VIEW PERFORMANCE DEFINITION engedéllyel rendelkezik minden olyan adatbázishoz, amelyen a szerepkör tagja rendelkezik felhasználói fiókkal. A kiszolgálói szerepkör hozzáférésének ##MS_DefinitionReader## részhalmaza.
##MS_SecurityDefinitionReader## A ##MS_SecurityDefinitionReader## rögzített kiszolgálói szerepkör tagjai elolvashatják az VIEW ANY SECURITY DEFINITIONáltal lefedett összes katalógusnézetet, és VIEW SECURITY DEFINITION engedéllyel rendelkezik minden olyan adatbázishoz, amelyen a szerepkör tagja rendelkezik felhasználói fiókkal. A kiszolgálói szerepkör hozzáférésének ##MS_DefinitionReader## kis része, amely segít megfelelni a minimális jogosultság elvének.

Rögzített kiszolgálói szerepkörök engedélyei

Minden rögzített kiszolgálói szerepkörhöz bizonyos engedélyek vannak hozzárendelve.

Új rögzített kiszolgálói szerepkörök engedélyei az SQL Server 2022-ben

Az alábbi táblázat a kiszolgálószintű szerepkörökhöz rendelt engedélyeket mutatja be. Az öröklődő adatbázisszintű engedélyeket is megjeleníti, amíg a felhasználó csatlakozni tud az egyes adatbázisokhoz.

Kijavítottuk a kiszolgálószintű szerepkört Kiszolgálószintű engedélyek Adatbázisszintű engedélyek
##MS_DatabaseConnector## - CONNECT ANY DATABASE - CONNECT
##MS_LoginManager## - CREATE LOGIN
- ALTER ANY LOGIN
Nincs adat.
##MS_DatabaseManager## - CREATE ANY DATABASE
- ALTER ANY DATABASE
- ALTER
##MS_ServerStateManager## - ALTER SERVER STATE
- VIEW SERVER STATE
- VIEW SERVER PERFORMANCE STATE
- VIEW SERVER SECURITY STATE
- VIEW DATABASE STATE
- VIEW DATABASE PERFORMANCE STATE
- VIEW DATABASE SECURITY STATE
##MS_ServerStateReader## - VIEW SERVER STATE
- VIEW SERVER PERFORMANCE STATE
- VIEW SERVER SECURITY STATE
- VIEW DATABASE STATE
- VIEW DATABASE PERFORMANCE STATE
- VIEW DATABASE SECURITY STATE
##MS_ServerPerformanceStateReader## - VIEW SERVER PERFORMANCE STATE - VIEW DATABASE PERFORMANCE STATE
##MS_ServerSecurityStateReader## - VIEW SERVER SECURITY STATE - VIEW DATABASE SECURITY STATE
##MS_DefinitionReader## - VIEW ANY DATABASE
- VIEW ANY DEFINITION
- VIEW ANY PERFORMANCE DEFINITION
- VIEW ANY SECURITY DEFINITION
- VIEW DEFINITION
- VIEW PERFORMANCE DEFINITION
- VIEW SECURITY DEFINITION
##MS_PerformanceDefinitionReader## - VIEW ANY PERFORMANCE DEFINITION - VIEW PERFORMANCE DEFINITION
##MS_SecurityDefinitionReader## - VIEW ANY SECURITY DEFINITION - VIEW SECURITY DEFINITION

Az SQL Server 2019-hez és korábbi verziókhoz tartozó kiszolgálói szerepkörök engedélyei

Az alábbi ábrán az örökölt kiszolgálói szerepkörökhöz (SQL Server 2019 (15.x) és korábbi verziókhoz rendelt engedélyek láthatók.

Rögzített kiszolgálói szerepkör-engedélyeket bemutató ábra.

Az CONTROL SERVER engedély hasonló, de nem azonos a sysadmin rögzített kiszolgálói szerepkörrel. Az engedélyekkel rendelkező CONTROL SERVER tagok bizonyos engedélyeket megtagadhatnak. Biztonsági szempontból vegye figyelembe a sysadmin-tagokkal azonos tagokat CONTROL SERVER , mivel számos lehetséges módon emelheti az engedélyeket CONTROL SERVER a teljes sysadminra. Számos DBCC parancs és számos rendszereljárás megköveteli a sysadmin rögzített kiszolgálói szerepkör tagságát.

Kiszolgálószintű engedélyek

A felhasználó által definiált kiszolgálói szerepkörökhöz csak kiszolgálószintű engedélyek vehetők fel. A kiszolgálószintű engedélyek listázásához hajtsa végre a következő utasítást. A kiszolgálószintű engedélyek a következők:

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

További információ az engedélyekről: Engedélyek (adatbázismotor) és sys.fn_builtin_permissions.

Kiszolgálószintű szerepkörök kezelése

Az alábbi táblázat ismerteti a kiszolgálószintű szerepkörök használatához használható parancsokat, nézeteket és függvényeket.

Tulajdonság Típus Leírás
sp_helpsrvrole Metadaták Kiszolgálószintű szerepkörök listáját adja vissza.
sp_helpsrvrolemember Metadaták Egy kiszolgálószintű szerepkör tagjaival kapcsolatos információkat ad vissza.
sp_srvrolepermission Metadaták Egy kiszolgálószintű szerepkör engedélyeit jeleníti meg.
IS_SRVROLEMEMBER Metadaták Azt jelzi, hogy egy SQL Server-bejelentkezés tagja-e a megadott kiszolgálószintű szerepkörnek.
sys.server_role_members Metadaták Egy sort ad vissza az egyes kiszolgálószintű szerepkörök minden tagjára.
Szerepkör létrehozása kiszolgálóhoz Parancs Létrehoz egy felhasználó által definiált kiszolgálói szerepkört.
SZERVER SZEREP MÓDOSÍTÁSA Parancs Módosítja a kiszolgálói szerepkör tagságát, vagy módosítja egy felhasználó által definiált kiszolgálói szerepkör nevét.
DROP SERVER ROLE Parancs Eltávolít egy felhasználó által definiált kiszolgálói szerepkört.
sp_addsrvrolemember Parancs Egy kiszolgálószintű szerepkör tagjaként adja hozzá a bejelentkezést. Elavult vagy megszüntetett. Használja helyette az ALTER SERVER szerepkört .
sp_dropsrvrolemember Parancs Eltávolít egy SQL Server-bejelentkezést vagy egy Windows-felhasználót vagy -csoportot egy kiszolgálószintű szerepkörből. Elavult vagy megszüntetett. Használja helyette az ALTER SERVER szerepkört .

Az Azure Arc által engedélyezett SQL Server-szerepkörök

Az SQL Serverhez készült Azure-bővítmény telepítésekor a telepítés:

  1. Kiszolgálószintű szerepkör létrehozása: SQLArcExtensionServerRole

  2. Adatbázisszintű szerepkör létrehozása: SQLArcExtensionUserRole

  3. NT AUTHORITY\SYSTEM*-fiók hozzáadása minden szerepkörhöz

  4. Az NT AUTHORITY\SYSTEM* leképezése az egyes adatbázisok adatbázisszintjén

  5. Minimális engedélyek megadása az engedélyezett funkciókhoz

    *Másik lehetőségként konfigurálhatja az Azure Arc által engedélyezett SQL Servert úgy, hogy a minimális jogosultsági módban fusson (előzetes verzióban érhető el). Részletekért tekintse át Az Azure Arc által engedélyezett SQL Servert a legkisebb jogosultsággal (előzetes verzió).

Emellett az SQL Server Azure-bővítménye visszavonja ezeknek a szerepköröknek az engedélyeit, ha már nincs rájuk szükség adott funkciókhoz.

SqlServerExtensionPermissionProvider Windows-feladat. Jogosultságokat ad vagy von vissza az SQL Serverben, amikor észleli:

  • Új SQL Server-példány van telepítve a gazdagépen
  • A rendszer eltávolítja az SQL Server-példányt a gazdagépről
  • A példányszintű funkció engedélyezve van vagy le van tiltva, vagy a beállítások frissülnek
  • A bővítményszolgáltatás újraindul

Megjegyzés:

A 2024. júliusi kiadás előtt a SqlServerExtensionPermissionProvider feladat ütemezetten szerepel. Óránként elindul.

További részletekért tekintse át Windows-szolgáltatásfiókok és -engedélyek konfigurálása az SQL ServerAzure-bővítményéhez.

Ha eltávolítja az AZURE-bővítményt az SQL Serverhez, a kiszolgáló- és adatbázisszintű szerepkörök törlődnek.

Engedélyekért tekintse át az engedélyeket.