Megosztás:


Az SQL Server Agent rögzített adatbázis-szerepköröket

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

Fontos

Felügyelt Azure SQL-példányesetében a legtöbb, de jelenleg nem minden SQL Server Agent-funkció támogatott. A részletekért tekintse meg az SQL Server és az Azure SQL Managed Instance közötti T-SQL eltéréseket , vagy az SQL Agent feladatok korlátozásait az Azure SQL Managed Instance esetében .

Az SQL Server az alábbi msdb adatbázis-rögzített adatbázis-szerepkörökkel rendelkezik, amelyekkel a rendszergazdák részletesebben szabályozhatják az SQL Server-ügynökhöz való hozzáférést. A szerepkörök a legkevésbé kiemelt hozzáféréstől a legtöbb jogosultsági szintig a következők:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Ha azok a felhasználók, akik nem tagjai ezeknek a szerepköröknek, az SQL Server Management Studióban csatlakoznak az SQL Serverhez, az Object Explorer SQL Server-ügynök csomópontja nem látható. A felhasználónak ezen rögzített adatbázis-szerepkörök egyikének vagy a sysadmin rögzített kiszolgálói szerepkör tagjának kell lennie az SQL Server Agent használatához.

Az SQL Server Agent engedélyei a rögzített adatbázis-szerepkörök számára

Az SQL Server Agent-adatbázis szerepkör-engedélyei egymáshoz képest koncentrikusak. Más szóval a kiemeltebb szerepkörök öröklik a kevésbé kiemelt szerepkörök engedélyeit az SQL Server Agent-objektumokon (beleértve a riasztásokat, operátorokat, feladatokat, ütemezéseket és proxykat). Ha például a legkevésbé jogosultsággal rendelkező SQLAgentUserRole tagjai hozzáférést proxy_Akaptak, az SQLAgentReaderRole és az SQLAgentOperatorRole tagjai is automatikusan hozzáférnek ehhez a proxyhoz, annak ellenére, hogy proxy_A a hozzáférés nem lett explicit módon megadva számukra. Ennek biztonsági következményei lehetnek, amelyeket a következő szakaszok tárgyalnak az egyes szerepkörökről.

SQLAgentUserRole engedélyek

Az SQLAgentUserRole az SQL Server Agent rögzített adatbázis-szerepköreinek legkevésbé kiemelt jogosultsága. Csak operátorokra, helyi feladatokra és feladatütemezésekre vonatkozó engedélyekkel rendelkezik. Az SQLAgentUserRole tagjai csak a helyi feladatokra és a saját feladatütemezéseikre rendelkeznek engedéllyel. Nem használhatnak többkiszolgálós feladatokat (fő- és célkiszolgálói feladatokat), és nem módosíthatják a feladat tulajdonjogát, hogy hozzáférjenek a még nem birtokolt feladatokhoz. Az SQLAgentUserRole tagjai csak az SQL Server Management Studio Feladatlépés tulajdonságai párbeszédpanelén tekinthetik meg az elérhető proxyk listáját. Csak az SQL Server Management Studio Object Explorer Feladat csomópontja látható az SQLAgentUserRole tagjai számára.

Fontos

Az SQLAgentReaderRole és az SQLAgentOperatorRole automatikusan az SQLAgentUserRole tagjai. Ez azt jelenti, hogy az SQLAgentReaderRole és az SQLAgentOperatorRole tagjai hozzáférhetnek az SQLAgentUserRole-nak biztosított összes SQL Server Agent-proxyhoz, és használhatják ezeket a proxykat.

Az alábbi táblázat az SQLAgentUserRole SQL Server Agent-objektumokra vonatkozó engedélyeit foglalja össze.

Tevékenység Működtetők Helyi feladatok (csak saját feladatok) Feladatütemezések (csak saját ütemezések) proxyk
Létrehozás/módosítás/törlés Nem Igen

A munka tulajdonjoga nem módosítható.
Igen Nem
Lista megtekintése (felsorolás) Igen

Lekérheti az elérhető operátorok sp_notify_operator listáját és a Management Studio Feladattulajdonságok párbeszédpanelét.
Igen Igen Igen

A proxyk listája csak a Management Studio Feladatlépés tulajdonságai párbeszédpanelén érhető el.
Engedélyezés/letiltás Nem Igen Igen Nem alkalmazható
Tulajdonságok megtekintése Nem Igen Igen Nem
Végrehajtás/leállítás/indítás Nem alkalmazható Igen Nem alkalmazható Nem alkalmazható
Feladatelőzmények megtekintése Nem alkalmazható Igen Nem alkalmazható Nem alkalmazható
Feladatelőzmények törlése Nem alkalmazható Nem

Az SQLAgentUserRole tagjainak kifejezetten engedélyt EXECUTE kell adni a sp_purge_jobhistory saját feladatelőzményeik törlésére. Nem törölhetik más munkák munkatörténetét.
Nem alkalmazható Nem alkalmazható
Csatolás/leválasztás Nem alkalmazható Nem alkalmazható Igen Nem alkalmazható

SQLAgentReaderRole engedélyek

Az SQLAgentReaderRole tartalmazza az SQLAgentUserRole összes engedélyét, valamint az elérhető többkiszolgálós feladatok listáját, azok tulajdonságait és előzményeit. A szerepkör tagjai megtekinthetik az összes elérhető feladat és feladatütemezés listáját, valamint azok tulajdonságait is, nem csak a saját feladataikat és feladatütemezéseiket. Az SQLAgentReaderRole tagjai nem módosíthatják a feladatok tulajdonjogát, hogy hozzáférjenek a még nem birtokolt feladatokhoz. Csak az SQL Server Management Studio Object Explorer Feladat csomópontja látható az SQLAgentReaderRole tagjai számára.

Fontos

Az SQLAgentReaderRole tagjai automatikusan az SQLAgentUserRole tagjai. Ez azt jelenti, hogy az SQLAgentReaderRole tagjai hozzáférhetnek az SQLAgentUserRole-nak biztosított összes SQL Server Agent-proxyhoz, és használhatják ezeket a proxykat.

Az alábbi táblázat az SQLAgentReaderRole SQL Server Agent-objektumokra vonatkozó engedélyeit foglalja össze.

Tevékenység Működtetők Helyi feladatok Többkiszolgálós feladatok Munkabeosztások proxyk
Létrehozás/módosítás/törlés Nem Igen (csak saját feladatok)

A munka tulajdonjoga nem módosítható.
Nem Igen (csak saját tulajdonú ütemezések) Nem
Lista megtekintése (felsorolás) Igen

Lekérheti az elérhető operátorok sp_notify_operator listáját és a Management Studio Feladattulajdonságok párbeszédpanelét.
Igen Igen Igen Igen

A proxyk listája csak a Management Studio Feladatlépés tulajdonságai párbeszédpanelén érhető el.
Engedélyezés/letiltás Nem Igen (csak saját feladatok) Nem Igen (csak saját tulajdonú ütemezések) Nem alkalmazható
Tulajdonságok megtekintése Nem Igen Igen Igen Nem
Tulajdonságok szerkesztése Nem Igen (csak saját feladatok) Nem Igen (csak saját tulajdonú ütemezések) Nem
Végrehajtás/leállítás/indítás Nem alkalmazható Igen (csak saját feladatok) Nem Nem alkalmazható Nem alkalmazható
Feladatelőzmények megtekintése Nem alkalmazható Igen Igen Nem alkalmazható Nem alkalmazható
Feladatelőzmények törlése Nem alkalmazható Nem

Az SQLAgentReaderRole tagjainak kifejezetten meg kell kapniuk a EXECUTE jogosultságot a sp_purge_jobhistory ahhoz, hogy törölhessék a tulajdonukban lévő feladatok előzményeit. Nem törölhetik más munkák munkatörténetét.
Nem Nem alkalmazható Nem alkalmazható
Csatolás/leválasztás Nem alkalmazható Nem alkalmazható Nem alkalmazható Igen (csak saját tulajdonú ütemezések) Nem alkalmazható

SQLAgentOperatorRole engedélyek

Az SQLAgentOperatorRole az SQL Server Agent rögzített adatbázis-szerepköreinek legjogosabb jogosultsága. Tartalmazza az SQLAgentUserRole és az SQLAgentReaderRole összes engedélyét. A szerepkör tagjai megtekinthetik az operátorok és proxyk tulajdonságait, valamint számba vehető proxykat és riasztásokat a kiszolgálón.

Az SQLAgentOperatorRole tagjai további engedélyekkel rendelkeznek a helyi feladatokhoz és ütemezésekhez. Végrehajthatják, leállíthatják vagy elindíthatják az összes helyi feladatot, és törölhetik a feladatelőzményeket a kiszolgálón található bármely helyi feladathoz. Emellett engedélyezhetik vagy letilthatják az összes helyi feladatot és ütemezést a kiszolgálón. A helyi feladatok vagy ütemezések engedélyezéséhez vagy letiltásához ennek a szerepkörnek a tagjainak a tárolt eljárásokat sp_update_job és sp_update_schedule kell használniuk. Az @enabled tagjai csak a feladat vagy ütemezés nevét vagy azonosítóját és a paramétert meghatározó paramétereket adhatók meg. Ha más paramétereket is megadnak, a tárolt eljárások végrehajtása meghiúsul. Az SQLAgentOperatorRole tagjai nem módosíthatják a feladatok tulajdonjogát, hogy hozzáférjenek a még nem birtokolt feladatokhoz.

Az SQL Server Management Studio Object Explorer feladat-, riasztás-, operátor- és proxycsomópontjai az SQLAgentOperatorRole tagjai számára láthatók. Csak a Hibanaplók csomópont nem látható a szerepkör tagjai számára.

Fontos

Az SQLAgentOperatorRole tagjai automatikusan az SQLAgentUserRole és az SQLAgentReaderRole tagjai. Ez azt jelenti, hogy az SQLAgentOperatorRole tagjai hozzáférhetnek az SQLAgentUserRole vagy az SQLAgentReaderRole számára biztosított összes SQL Server Agent-proxyhoz, és használhatják ezeket a proxykat.

Az alábbi táblázat az SQLAgentOperatorRole SQL Server Agent-objektumokra vonatkozó engedélyeit foglalja össze.

Tevékenység Figyelmeztetések Működtetők Helyi feladatok Többkiszolgálós feladatok Munkabeosztások proxyk
Létrehozás/módosítás/törlés Nem Nem Igen (csak saját feladatok)

A munka tulajdonjoga nem módosítható.
Nem Igen (csak saját tulajdonú ütemezések) Nem
Lista megtekintése (felsorolás) Igen Igen

Lekérheti az elérhető operátorok sp_notify_operator listáját és a Management Studio Feladattulajdonságok párbeszédpanelét.
Igen Igen Igen Igen
Engedélyezés/letiltás Nem Nem Igen

Az SQLAgentOperatorRole tagjai a tárolt eljárás sp_update_job használatával és a (vagy@enabled) paraméterek értékeinek megadásával engedélyezhetik vagy letilthatják a @job_id@job_name nem birtokolt helyi feladatokat. Ha ennek a szerepkörnek egy tagja más paramétereket is megad ehhez a tárolt eljáráshoz, az eljárás végrehajtása meghiúsul.
Nem Igen

Az SQLAgentOperatorRole tagjai a tárolt eljárás sp_update_schedule használatával és a (vagy@enabled) paraméterek értékeinek megadásával engedélyezhetik vagy letilthatják a @schedule_id@name nem saját ütemezéseket. Ha ennek a szerepkörnek egy tagja más paramétereket is megad ehhez a tárolt eljáráshoz, az eljárás végrehajtása meghiúsul.
Nem alkalmazható
Tulajdonságok megtekintése Igen Igen Igen Igen Igen Igen
Tulajdonságok szerkesztése Nem Nem Igen (csak saját feladatok) Nem Igen (csak saját tulajdonú ütemezések) Nem
Végrehajtás/leállítás/indítás Nem alkalmazható Nem alkalmazható Igen Nem Nem alkalmazható Nem alkalmazható
Feladatelőzmények megtekintése Nem alkalmazható Nem alkalmazható Igen Igen Nem alkalmazható Nem alkalmazható
Feladatelőzmények törlése Nem alkalmazható Nem alkalmazható Igen Nem Nem alkalmazható Nem alkalmazható
Csatolás/leválasztás Nem alkalmazható Nem alkalmazható Nem alkalmazható Nem alkalmazható Igen (csak saját tulajdonú ütemezések) Nem alkalmazható

Több szerepkör hozzárendelése felhasználókhoz

A sysadmin rögzített kiszolgálói szerepkör tagjai minden SQL Server Agent-funkcióhoz hozzáférnek. Ha egy felhasználó nem tagja a sysadmin szerepkörnek, de több SQL Server Agent rögzített adatbázis-szerepkör tagja, fontos megjegyezni a szerepkörök koncentrikus engedélymodelljét. Mivel a több kiemelt szerepkör mindig tartalmazza a kevésbé kiemelt szerepkörök összes engedélyét, a több szerepkörhöz tartozó felhasználók automatikusan a legjogosabb szerepkörhöz vannak társítva, amelynek a felhasználó tagja.