Sdílet prostřednictvím


Pevné databázové role agenta SQL Serveru

platí pro:SQL Serverazure SQL Managed Instance

Důležité

Na Azure SQL Managed Instance, většina, ale ne všechny funkce agenta SQL Serveru jsou aktuálně podporované. Podrobnosti najdete v tématu rozdíly T-SQL služby Azure SQL Managed Instance oproti SQL Serveru nebo omezení úloh agenta SQL ve službě SQL Managed Instance.

SQL Server má následující msdb vestavěné databázové role, které správcům poskytují jemnější kontrolu nad přístupem k agentovi SQL Serveru. Role uvedené od nejméně po nejvíce privilegovaný přístup jsou:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Pokud jsou uživatelé, kteří nejsou členy některé z těchto rolí, připojeni k SQL Serveru v aplikaci SQL Server Management Studio, uzel agenta SQL Serveru v Průzkumníku objektů není viditelný. Uživatel musí být členem jedné z těchto pevných databázových rolí nebo členem pevné role serveru správce systému , aby bylo možné používat agenta SQL Serveru.

Oprávnění k pevným databázovým rolím agenta SQL Serveru

Oprávnění role databáze agenta SQL Serveru jsou koncentrická vzhledem k sobě navzájem. Jinými slovy, více privilegované role dědí oprávnění méně privilegovaných rolí u objektů služby SQL Server Agent (včetně výstrah, operátorů, úloh, harmonogramů a proxy serverů). Pokud mají například členové nejméně privilegovaného SQLAgentUserRole udělený přístup k proxy_A, členové SQLAgentReaderRole a SQLAgentOperatorRole automaticky mají přístup k tomuto proxy serveru, i když jim nebyl explicitně udělen přístup k proxy_A. To může mít vliv na zabezpečení, které jsou popsány v následujících částech o jednotlivých rolích.

Oprávnění SQLAgentUserRole

SQLAgentUserRole je nejméně privilegovaná pevnou databázovou rolí SQL Server Agenta. Má oprávnění pouze pro operátory, místní úlohy a plány úloh. Členové SQLAgentUserRole mají oprávnění pouze pro místní úlohy a plány úloh, které vlastní. Nemůžou používat víceserverové úlohy (hlavní a cílové úlohy serveru) a nemůžou změnit vlastnictví úlohy, aby získali přístup k úlohům, které ještě nevlastní. Členové sqlAgentUserRole mohou zobrazit seznam dostupných proxy pouze v dialogovém okně Vlastnosti kroku úlohy v aplikaci SQL Server Management Studio. Členům sqlAgentUserRole je viditelný pouze uzel Úlohy v Průzkumníku objektů aplikace SQL Server Management Studio.

Důležité

SqlAgentReaderRole a SQLAgentOperatorRole jsou automaticky členy SQLAgentUserRole. To znamená, že členové SQLAgentReaderRole a SQLAgentOperatorRole mají přístup ke všem proxy serverům agenta SQL Serveru, které byly uděleny sqlAgentUserRole a mohou tyto proxy servery používat.

Následující tabulka shrnuje oprávnění SQLAgentUserRole k objektům agenta SQL Serveru.

Činnost Operátoři Místní úlohy (pouze vlastněné úlohy) Plány úloh (pouze vlastní plány) Proxy
Vytvoření, úprava nebo odstranění Ne Ano

Nelze změnit vlastnictví úlohy.
Ano Ne
Zobrazit seznam (vyčíslit) Ano

Může získat seznam dostupných operátorů pro použití v sp_notify_operator dialogovém okně Vlastnosti úlohy v sadě Management Studio.
Ano Ano Ano

Seznam proxy serverů je k dispozici pouze v dialogovém okně Vlastnosti kroku úlohy v sadě Management Studio.
Povolení nebo zakázání Ne Ano Ano Není relevantní
Zobrazení vlastností Ne Ano Ano Ne
Spustit/zastavit/start Není relevantní Ano Není relevantní Není relevantní
Zobrazení historie úlohy Není relevantní Ano Není relevantní Není relevantní
Odstranění historie úloh Není relevantní Ne

Členům sqlAgentUserRole musí být explicitně uděleno EXECUTE oprávnění sp_purge_jobhistory k odstranění historie úloh u úloh, které vlastní. Nemůžou odstranit historii úloh pro žádné jiné úlohy.
Není relevantní Není relevantní
Připojit/odpojit Není relevantní Není relevantní Ano Není relevantní

Oprávnění SQLAgentReaderRole

SQLAgentReaderRole zahrnuje všechna oprávnění SQLAgentUserRole a také oprávnění k zobrazení seznamu dostupných úloh multiserveru, jejich vlastností a jejich historie. Členové této role si také mohou zobrazit seznam všech dostupných úloh a plánů úloh a jejich vlastností, nejen těchto úloh a plánů úloh, které vlastní. Členové SQLAgentReaderRole nemůžou změnit vlastnictví úlohy, aby získali přístup k úlohům, které ještě nevlastní. Členům třídy SQLAgentReaderRole je viditelný pouze uzel Úlohy v Průzkumníku objektů aplikace SQL Server Management Studio.

Důležité

Členové sqlAgentReaderRole jsou automaticky členy SQLAgentUserRole. To znamená, že členové SQLAgentReaderRole mají přístup ke všem proxy serverům agenta SQL Serveru, které byly uděleny SQLAgentUserRole a mohou tyto proxy servery používat.

Následující tabulka shrnuje oprávnění SQLAgentReaderRole pro objekty agenta SQL Serveru.

Činnost Operátoři Místní úlohy Úlohy s více servery Plány úlohy Proxy
Vytvoření, úprava nebo odstranění Ne Ano (pouze vlastní úlohy)

Nelze změnit vlastnictví úlohy.
Ne Ano (pouze vlastní plány) Ne
Zobrazit seznam (vyčíslit) Ano

Může získat seznam dostupných operátorů pro použití v sp_notify_operator dialogovém okně Vlastnosti úlohy v sadě Management Studio.
Ano Ano Ano Ano

Seznam proxy serverů je k dispozici pouze v dialogovém okně Vlastnosti kroku úlohy v sadě Management Studio.
Povolení nebo zakázání Ne Ano (pouze vlastní úlohy) Ne Ano (pouze vlastní plány) Není relevantní
Zobrazení vlastností Ne Ano Ano Ano Ne
Upravit vlastnosti Ne Ano (pouze vlastní úlohy) Ne Ano (pouze vlastní plány) Ne
Spustit/zastavit/start Není relevantní Ano (pouze vlastní úlohy) Ne Není relevantní Není relevantní
Zobrazení historie úlohy Není relevantní Ano Ano Není relevantní Není relevantní
Odstranění historie úloh Není relevantní Ne

Členům SQLAgentReaderRole musí být explicitně udělena oprávnění EXECUTE na sp_purge_jobhistory pro odstranění historie úloh u úloh, které vlastní. Nemůžou odstranit historii úloh pro žádné jiné úlohy.
Ne Není relevantní Není relevantní
Připojit/odpojit Není relevantní Není relevantní Není relevantní Ano (pouze vlastní plány) Není relevantní

Oprávnění SQLAgentOperatorRole

Role SQLAgentOperatorRole je nejprivilegovanější z pevných databázových rolí agenta SQL Serveru. Zahrnuje všechna oprávnění SQLAgentUserRole a SQLAgentReaderRole. Členové této role mohou také zobrazit vlastnosti operátorů a proxy serverů a zobrazit výčet dostupných proxy serverů a výstrah na serveru.

Členové SQLAgentOperatorRole mají další oprávnění k místním úlohám a plánům. Můžou spouštět, zastavovat nebo spouštět všechny místní úlohy a mohou odstranit historii úloh pro všechny místní úlohy na serveru. Můžou také povolit nebo zakázat všechny místní úlohy a plány na serveru. Chcete-li povolit nebo zakázat místní úlohy nebo plány, členové této role musí používat uložené procedury sp_update_job a sp_update_schedule. Členy @enabled mohou zadat pouze parametry, které určují název úlohy nebo názvu plánu nebo identifikátor a parametr. Pokud zadají nějaké další parametry, spuštění těchto uložených procedur selže. Členové SQLAgentOperatorRole nemůžou změnit vlastnictví úlohy, aby získali přístup k úlohům, které ještě nevlastní.

Uzly Úlohy, výstrahy,operátory a proxy servery v Průzkumníku objektů aplikace SQL Server Management Studio jsou viditelné členům role SQLAgentOperatorRole. Členové této role nevidí pouze uzel Protokoly chyb.

Důležité

Členové sqlAgentOperatorRole jsou automaticky členy SQLAgentUserRole a SQLAgentReaderRole. To znamená, že členové SQLAgentOperatorRole mají přístup ke všem proxy serverům agenta SQL Serveru, které byly uděleny sqlAgentUserRole nebo SQLAgentReaderRole a mohou tyto proxy servery používat.

Následující tabulka shrnuje oprávnění SQLAgentOperatorRole k objektům agenta SQL Serveru.

Činnost Výstrahy Operátoři Místní úlohy Úlohy s více servery Plány úlohy Proxy
Vytvoření, úprava nebo odstranění Ne Ne Ano (pouze vlastní úlohy)

Nelze změnit vlastnictví úlohy.
Ne Ano (pouze vlastní plány) Ne
Zobrazit seznam (vyčíslit) Ano Ano

Může získat seznam dostupných operátorů pro použití v sp_notify_operator dialogovém okně Vlastnosti úlohy v sadě Management Studio.
Ano Ano Ano Ano
Povolení nebo zakázání Ne Ne Ano

Členové SQLAgentOperatorRole mohou povolit nebo zakázat místní úlohy, které nevlastní, pomocí uložené procedury sp_update_job a zadáním hodnot pro @enabled parametry a @job_id (nebo @job_name). Pokud člen této role určuje jakékoli další parametry pro tuto uloženou proceduru, spuštění procedury selže.
Ne Ano

Členové SQLAgentOperatorRole můžou povolit nebo zakázat plány, které nevlastní, pomocí uložené procedury sp_update_schedule a zadáním hodnot pro @enabled parametry a @schedule_id (nebo @name). Pokud člen této role určuje jakékoli další parametry pro tuto uloženou proceduru, spuštění procedury selže.
Není relevantní
Zobrazení vlastností Ano Ano Ano Ano Ano Ano
Upravit vlastnosti Ne Ne Ano (pouze vlastní úlohy) Ne Ano (pouze vlastní plány) Ne
Spustit/zastavit/start Není relevantní Není relevantní Ano Ne Není relevantní Není relevantní
Zobrazení historie úlohy Není relevantní Není relevantní Ano Ano Není relevantní Není relevantní
Odstranění historie úloh Není relevantní Není relevantní Ano Ne Není relevantní Není relevantní
Připojit/odpojit Není relevantní Není relevantní Není relevantní Není relevantní Ano (pouze vlastní plány) Není relevantní

Přiřazení více rolí uživatelům

Členové pevné role serveru správce systému mají přístup ke všem funkcím agenta SQL Serveru. Pokud uživatel není členem role správce systému , ale je členem více než jedné pevné databázové role agenta SQL Serveru, je důležité pamatovat si koncentrický model oprávnění těchto rolí. Vzhledem k tomu, že více privilegovaných rolí vždy obsahuje všechna oprávnění méně privilegovaných rolí, má uživatel, který je členem více než jedné role, automaticky oprávnění přidružená k nejvíce privilegované roli, ve které je uživatel členem.