Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Managed Instance
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 entitások, amelyek más entitásokat csoportosítanak. A szerver szintű szerepkörök a kiszolgáló teljes engedélyhatókörére kiterjednek. (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. Nem lehet megváltoztatni a fix szerver szerepekhez adott jogosultságokat (kivéve a nyilvános szerepeket). 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 szerverszerepet tartalmaz, amelyeket kifejezetten a legkisebb kiváltság elvének szem előtt terveztek. Ezek a szerepek előtagot ##MS_ és utótagot ##viselnek , ami megkülönbözteti őket a sima felhasználó által létrehozott alapelvektől és egyedi szerverszerepektől. Ezek az új szerepek jogosultságokat tartalmaznak, amelyek szerver hatótávolságra vonatkoznak, de az egyes adatbázisokra is örökölhetnek (kivéve a ##MS_LoginManager## szerver szerepet).
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 a követelmény az master adatbázisra 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 rendelkeznek a master és WideWorldImporters adatbázisokban. Ez a felhasználó rendelkezik a VIEW DATABASE STATE jogosultsággal ezen a két adatbázisban öröklés útján.
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ói főneveket a szerepkörhöz.
Kiszolgálószintű szerepkörök rögzítve
Megjegyzés:
Ezeket a szerepköreket az SQL Server 2022 (16.x) előtt vezették be, és nem elérhetők az Azure SQL Database-ben vagy az Azure Synapse Analytics-ben. Az Azure SQL Database-nek saját, szerverszintű szerepei vannak, amelyek megfelelnek az SQL Server 2022 (16.x) bevezetett szerepeknek. További információkért lásd az Azure SQL Database kiszolgálószerepkörei az engedélyek kezeléséhez és az Adatbázis-hozzáférés engedélyezése az SQL Database, az SQL Managed Instance és az Azure Synapse Analytics szolgáltatáshoz című cikkeket.
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. Képesek a GRANT, DENY, és REVOKE kiszolgálószintű engedélyekkel dolgozni. Használhatnak GRANTtovábbá , DENY, és REVOKE adatbázis-szintű jogosultságokat, ha hozzáférnek egy adatbázishoz. Emellett alaphelyzetbe állíthatják 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. Kezeld a securityadmin szerepet egyenértékűnek a rendszergazdálkodó szereppel. 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 INSERTutasítások) nem támogatottak a Microsoft Entra hitelesítésen alapuló bejelentkezésekhez, sem Linuxon, sem Windows-on. Ebben a forgatókönyvben csak a sysadmin szerepkör tagjai végezhetnek tömeges beszúrásokat az SQL Serverhez. |
| diskadmin | A diskadmin rögzített kiszolgálói szerepkör tagjai kezelhetik a lemezfájlokat. |
| 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 szerver főfelhasználó nem kap vagy nem tilt meg adott engedélyeket egy védett objektumon, akkor a felhasználó örökli az objektumhoz nyilvános 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 közélet másképp működik, mint a többi szerep. Engedélyezheted, elutasíthatod vagy visszavonhatod a nyilvános fix szerver szerep jogát. |
Fontos
A következő szerverszerepek által biztosított jogosultságok többsége nem alkalmazható az Azure Synapse Analytics-re: processadmin, serveradmin, setupadmin és diskadmin.
Az SQL Server 2022-ben bevezetett rögzített kiszolgálószintű szerepkörök
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:
Az Azure SQL Database és az Azure SQL Managed Instance támogatja ezeket a szerepeket. Az Azure Synapse Analytics nem.
Annak megtekintéséhez, hogy egy kiszolgáló milyen szerepkörökkel rendelkezik, kérdezze le a(z) sys.server_principals azon sorait, amelyekben a(z) type_desc értéke SERVER_ROLE.
| 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 létrehozhatnak adatbázisokat, és törölhetik a saját adatbázisokat. 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 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 Azure SQL Database használja ezt a kiszolgálói szerepkört a dbmanager rögzített adatbázis-szerepkör helyett, amely a következőben masterlétezik: . |
##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. A szerep rendelkezik továbbá azzal a ALTER SERVER STATE jogosultsággal is, amely lehetővé teszi több menedzsment művelethez való hozzáférést, például: DBCC FREEPROCCACHE, DBCC FREESYSTEMCACHE ('ALL'), DBCC SQLPERF(). |
##MS_ServerStateReader## |
A ##MS_ServerStateReader## rögzített kiszolgálói szerepkör tagjai olvashatják az összes olyan dinamikus felügyeleti nézetet (DMV-t) és függvényt, amelyekre a VIEW SERVER STATE vonatkozik. A tagok VIEW DATABASE STATE bármely adatbázisban is rendelkeznek jogosultsággal, ahol felhasználói fiókjuk van. |
##MS_ServerPerformanceStateReader## |
A ##MS_ServerPerformanceStateReader## rögzített kiszolgálói szerepkör tagjai olvashatják az összes olyan dinamikus felügyeleti nézetet (DMV-t) és függvényt, amelyekre a VIEW SERVER PERFORMANCE STATE vonatkozik. A tagok VIEW DATABASE PERFORMANCE STATE bármely adatbázisban is rendelkeznek jogosultsággal, ahol felhasználói fiókjuk van. Ez a szerep a ##MS_ServerStateReader##részhalmaza, amely segít megfelelni a legkisebb kiváltság elvének. |
##MS_ServerSecurityStateReader## |
A ##MS_ServerSecurityStateReader## rögzített kiszolgálói szerepkör tagjai olvashatják az összes olyan dinamikus felügyeleti nézetet (DMV-t) és függvényt, amelyekre a VIEW SERVER SECURITY STATE vonatkozik. A tagok VIEW DATABASE SECURITY STATE bármely adatbázisban is rendelkeznek jogosultsággal, ahol felhasználói fiókjuk van. Ez a szerep a ##MS_ServerStateReader## egy kisebb részhalmaza, amely elősegíti a legkisebb jogosultság elvének való megfelelést. |
##MS_DefinitionReader## |
A(z) ##MS_DefinitionReader## rögzített kiszolgálói szerepkör tagjai olvashatják az összes olyan katalógusnézetet, amelyekre a(z) VIEW ANY DEFINITION vonatkozik. A tagok VIEW DEFINITION bármely adatbázisban is rendelkeznek jogosultsággal, ahol felhasználói fiókjuk van. |
##MS_PerformanceDefinitionReader## |
A(z) ##MS_PerformanceDefinitionReader## rögzített kiszolgálói szerepkör tagjai olvashatják az összes olyan katalógusnézetet, amelyekre a(z) VIEW ANY PERFORMANCE DEFINITION vonatkozik. A tagok VIEW PERFORMANCE DEFINITION bármely adatbázisban is rendelkeznek jogosultsággal, ahol felhasználói fiókjuk van. Ez a szerep ##MS_DefinitionReader## része. |
##MS_SecurityDefinitionReader## |
A(z) ##MS_SecurityDefinitionReader## rögzített kiszolgálói szerepkör tagjai olvashatják az összes olyan katalógusnézetet, amelyekre a(z) VIEW ANY SECURITY DEFINITION vonatkozik. A tagok VIEW SECURITY DEFINITION bármely adatbázisban is rendelkeznek jogosultsággal, ahol felhasználói fiókjuk van. Ez a szerep a ##MS_DefinitionReader## egy kisebb részhalmaza, amely elősegíti a legkisebb jogosultság elvének való megfelelést. |
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.
Az CONTROL SERVER engedély hasonló, de nem azonos a sysadmin rögzített kiszolgálói szerepkörrel. Az CONTROL SERVER engedéllyel rendelkező felhasználók bizonyos engedélyektől megfoszthatók. Biztonsági szempontból tekintse CONTROL SERVER-ot sysadmin-tagokkal azonosnak, mivel számos lehetséges mód van arra, hogy CONTROL SERVER-ről teljes sysadminra emelje az engedélyeket. 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. |
| CREATE SERVER ROLE | Parancs | Létrehoz egy felhasználó által definiált kiszolgálói szerepkört. |
| ALTER SERVER ROLE | 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. A ALTER SERVER ROLE használható helyette. |
| 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. A ALTER SERVER ROLE használható helyette. |
Az Azure Arc által engedélyezett SQL Server-szerepkörök
Ha az Azure bővítményt telepíti nem minimális jogosultsági módban az SQL Serverhez, a telepítés:
- Kiszolgálószintű szerepkört hoz létre:
SQLArcExtensionServerRole - Adatbázisszintű szerepkört hoz létre:
SQLArcExtensionUserRole - Hozzáadja az
NT AUTHORITY\SYSTEMfiókot az egyes szerepkörökhöz. - Térképek
NT AUTHORITY\SYSTEMaz egyes adatbázisok adatbázisszintjén - Minimális engedélyek megadása az engedélyezett funkciókhoz
Másik lehetőségként konfigurálhatja a Azure Arc által engedélyezett SQL Server, hogy a legkevésbé jogosultsági módban fusson. További információkért lásd: Minimális jogosultságokkal működő Azure Arc által engedélyezett SQL Server használata.
Emellett Azure SQL Server 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.
Megjegyzés:
A korábban ismertetett műveletek megkövetelik, hogy a központi telepítő NT AUTHORITY\SYSTEMként csatlakozzon SQL Server. Ha a NT AUTHORITY\SYSTEM bejelentkezést eltávolítják, letiltják, vagy CONNECT SQL engedély megtagadásra kerül, akkor a telepítő nem tudja végrehajtani a műveletek egyikét sem, és így az Azure Extension for SQL Server kiépítése meghiúsul.
Tekintse meg a bejelentkezés ellenőrzésének és visszaállításának előfeltételeit.
SqlServerExtensionPermissionProvider Windows-feladat. A Deployer.exe-t hajtja végre, hogy jogosultságokat adjon vagy vonjon vissza az SQL Serverben, ha ezt észleli.
- Új SQL Server-példány van telepítve a gazdagépen
- A rendszer eltávolít egy SQL Server-példányt a gazdagépről
- A példányszintű funkciók engedélyezve vannak vagy le vannak tiltva, vagy a beállítások frissülnek
- A bővítményszolgáltatás újraindul
- Az igény szerinti (JIT) engedélyek engedélyezve vagy letiltva vannak
Megjegyzés:
A 2024. júliusi kiadás előtt egy ütemezett feladat volt SqlServerExtensionPermissionProvider, amely óránként futott.
Részletekért tekintse át a Windows szolgáltatásfiókok és engedélyek konfigurálása az SQL Server Azure-bővítményhez dokumentumot.
Ha eltávolítja az Azure bővítményt az SQL Serverből, a kiszolgálószintű és az adatbázisszintű szerepkörök el lesznek távolítva.
Engedélyekért tekintse át az engedélyeket.
Kapcsolódó tartalom
- Adatbázisszintű szerepkörök
- biztonsági katalógusnézetek (Transact-SQL)
- Biztonsági funkciók (Transact-SQL)
- Az SQL Server biztosítása
- GRANT Kiszolgálóoldali rendszerbiztonsági tag engedélyei (Transact-SQL)
- REVOKE Kiszolgálóoldali rendszerbiztonsági tag engedélyei (Transact-SQL)
- DENY Kiszolgálóoldali rendszerbiztonsági tag engedélyei (Transact-SQL)
- Kiszolgálói szerepkör létrehozása
- Azure SQL Database-kiszolgálói szerepkörök engedélykezeléshez