Rôles de base de données fixes de l'Agent SQL Server
SQL Server 2005 présente les rôles fixes de la base de données msdb suivants, qui permettent aux administrateurs de contrôler plus précisément l'accès à l'Agent SQL Server. Les rôles sont classés ci-après selon leurs privilèges d'accès, du moins privilégié au plus privilégié :
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Lorsque les utilisateurs qui ne sont pas membres de l'un de ces rôles sont connectés à SQL Server dans SQL Server Management Studio, le nœud Agent SQL Server dans l'Explorateur d'objets n'est pas visible. Pour utiliser l'Agent SQL Server, un utilisateur doit être membre de l'un de ces rôles de base de données fixes ou du rôle de serveur fixe sysadmin.
Autorisations des rôles de base de données fixes de l'Agent SQL Server
Les autorisations des rôles de base de données de l'Agent SQL Server sont concentriques les unes avec les autres : les rôles les plus privilégiés héritent des autorisations des rôles les moins privilégiés sur les objets de l'Agent SQL Server (notamment les alertes, les opérateurs, les travaux, les planifications et les proxys). Par exemple, si les membres du rôle SQLAgentUserRole le moins privilégié ont l'autorisation d'accéder au proxy_A, les membres des rôles SQLAgentReaderRole et SQLAgentOperatorRole ont automatiquement accès à ce proxy, même l'autorisation ne leur a pas été explicitement accordée. Ceci peut avoir des incidences sur la sécurité qui sont décrites dans les sections suivantes par rapport à chaque rôle.
Autorisations du rôle SQLAgentUserRole
SQLAgentUserRole est le moins privilégié des rôles de base de données fixes de l'Agent SQL Server. Il dispose uniquement d'autorisations sur les opérateurs, les travaux locaux et les planifications de travaux. Les membres du rôle SQLAgentUserRole disposent uniquement d'autorisations sur les travaux locaux et les planifications des travaux qu'ils possèdent. Ils ne peuvent pas utiliser de travaux multiserveur (travaux de serveur maître et cible) et ne peuvent pas modifier l'appartenance des travaux pour accéder aux travaux qui ne leur appartiennent pas encore. Les membres de SQLAgentUserRole peuvent uniquement consulter la liste des proxys disponibles dans la boîte de dialogue Propriétés de l'étape du travail de SQL Server Management Studio. Seul le nœud Travaux de l'Explorateur d'objets de SQL Server Management Studio est visible aux membres de SQLAgentUserRole.
Remarque relative à la sécurité : |
---|
Avant d'accorder l'accès aux proxys aux membres des rôles de base de données de l'Agent SQL Server, pensez aux incidences que cela pourrait avoir sur la sécurité. Les rôles SQLAgentReaderRole et SQLAgentOperatorRole sont automatiquement membres du rôle SQLAgentUserRole. Ceci signifie que les membres de SQLAgentReaderRole et de SQLAgentOperatorRole ont accès à tous les proxys de l'Agent SQL Server auxquels SQLAgentUserRole peut accéder et qu'ils peuvent les utiliser. |
Le tableau suivant récapitule les autorisations de SQLAgentUserRole sur les objets de l'Agent SQL Server.
Action | Opérateurs | Travaux locaux (travaux lui appartenant uniquement) | Calendriers de travaux (planifications lui appartenant uniquement) | Proxys |
---|---|---|---|---|
Créer/modifier/supprimer |
Non |
Oui 1 |
Oui |
Non |
Afficher la liste (énumérer) |
Oui 2 |
Oui |
Oui |
Oui 3 |
Activer/désactiver |
Non |
Oui |
Oui |
Non applicable |
Afficher les propriétés |
Non |
Oui |
Oui |
Non |
Exécuter/arrêter/démarrer |
Non applicable |
Oui |
Non applicable |
Non applicable |
Afficher l'historique des travaux |
Non applicable |
Oui |
Non applicable |
Non applicable |
Supprimer l'historique des travaux |
Non applicable |
Non4 |
Non applicable |
Non applicable |
Attacher/détacher |
Non applicable |
Non applicable |
Oui |
Non applicable |
1 Ne peut pas modifier l'appartenance des travaux.
2 Peut obtenir la liste des opérateurs disponibles à utiliser dans sp_notify_operator et dans la boîte de dialogue Propriétés du travail de Management Studio.
3 Liste de proxys uniquement disponible dans la boîte de dialogue Propriétés de l'étape du travail de Management Studio.
4 Pour supprimer l'historique des travaux qui leur appartiennent, les membres de SQLAgentUserRole doivent disposer explicitement de l'autorisation EXECUTE sur sp_purge_jobhistory. Ils ne peuvent supprimer l'historique d'aucun autre travail.
Autorisations du rôle SQLAgentReaderRole
SQLAgentReaderRole inclut toutes les autorisations de SQLAgentUserRole, ainsi que les autorisations permettant d'afficher la liste des travaux multiserveur disponibles, leurs propriétés et leur historique. Les membres de ce rôle peuvent également afficher la liste de tous les travaux et planifications de travaux disponibles et de leurs propriétés, pas uniquement la liste des travaux et des planifications de travaux dont ils sont propriétaires. Les membres de SQLAgentReaderRole ne peuvent pas modifier l'appartenance des travaux pour obtenir l'accès aux travaux qui ne leur appartiennent pas encore. Seul le nœud Travaux de l'Explorateur d'objets de SQL Server Management Studio est visible aux membres de SQLAgentReaderRole.
Remarque relative à la sécurité : |
---|
Avant d'accorder l'accès aux proxys aux membres des rôles de base de données de l'Agent SQL Server, pensez aux incidences que cela pourrait avoir sur la sécurité. Les membres de SQLAgentReaderRole sont automatiquement membres de SQLAgentUserRole. Ceci signifie que les membres de SQLAgentReaderRole ont accès à tous les proxys de l'Agent SQL Server auxquels SQLAgentUserRole peut accéder et qu'ils peuvent les utiliser. |
Le tableau suivant récapitule les autorisations de SQLAgentReaderRole sur les objets de l'Agent SQL Server.
Action | Opérateurs | Travaux locaux | Travaux multiserveur | Calendriers de travaux | Proxys |
---|---|---|---|---|---|
Créer/modifier/supprimer |
Non |
Oui 1 (travaux lui appartenant uniquement) |
Non |
Oui (planifications lui appartenant uniquement) |
Non |
Afficher la liste (énumérer) |
Oui 2 |
Oui |
Oui |
Oui |
Oui 3 |
Activer/désactiver |
Non |
Oui (travaux lui appartenant uniquement) |
Non |
Oui (planifications lui appartenant uniquement) |
Non applicable |
Afficher les propriétés |
Non |
Oui |
Oui |
Oui |
Non |
Modifier les propriétés |
Non |
Oui (travaux lui appartenant uniquement) |
Non |
Oui (planifications lui appartenant uniquement) |
Non |
Exécuter/arrêter/démarrer |
Non applicable |
Oui (travaux lui appartenant uniquement) |
Non |
Non applicable |
Non applicable |
Afficher l'historique des travaux |
Non applicable |
Oui |
Oui |
Non applicable |
Non applicable |
Supprimer l'historique des travaux |
Non applicable |
Non4 |
Non |
Non applicable |
Non applicable |
Attacher/détacher |
Non applicable |
Non applicable |
Non applicable |
Oui (planifications lui appartenant uniquement) |
Non applicable |
1 Ne peut pas modifier l'appartenance des travaux.
2 Peut obtenir la liste des opérateurs disponibles à utiliser dans sp_notify_operator et dans la boîte de dialogue Propriétés du travail de Management Studio.
3 Liste de proxys uniquement disponible dans la boîte de dialogue Propriétés de l'étape du travail de Management Studio.
4 Pour supprimer l'historique des travaux qui leur appartiennent, les membres de SQLAgentReaderRole doivent disposer explicitement de l'autorisation EXECUTE sur sp_purge_jobhistory. Ils ne peuvent supprimer l'historique d'aucun autre travail.
Autorisations du rôle SQLAgentOperatorRole
SQLAgentOperatorRole est le plus privilégié des rôles de base de données fixes de l'Agent SQL Server. Il inclut toutes les autorisations des rôles SQLAgentUserRole et SQLAgentReaderRole. Les membres de ce rôle peuvent également afficher les propriétés pour les opérateurs et les proxys, ainsi que dresser la liste des proxys disponibles et des alertes sur le serveur.
Les membres de SQLAgentOperatorRole disposent d'autorisations supplémentaires sur les travaux locaux et les planifications. Ils peuvent exécuter, arrêter ou démarrer tous les travaux locaux, ainsi que supprimer l'historique de n'importe quel travail local sur le serveur. Ils peuvent également activer ou désactiver tous les travaux locaux et les planifications sur le serveur. Pour ce faire, les membres de ce rôle doivent utiliser les procédures stockées sp_update_job et sp_update_schedule. Seuls les paramètres qui spécifient le nom ou l'identificateur du travail ou de la planification et le paramètre @enabled peuvent être spécifiés par les membres de SQLAgentOperatorRole. S'ils spécifient d'autres paramètres, l'exécution de ces procédures stockées échoue. Les membres de SQLAgentOperatorRole ne peuvent pas modifier l'appartenance des travaux pour obtenir l'accès aux travaux qui ne leur appartiennent pas encore.
Les nœuds Travaux, Alertes, Opérateurs et Proxies dans l'Explorateur d'objets de SQL Server Management Studio sont visibles aux membres de SQLAgentOperatorRole. Seul le nœud Journaux d'erreur n'est pas visible aux membres de ce rôle.
Remarque relative à la sécurité : |
---|
Avant d'accorder l'accès aux proxys aux membres des rôles de base de données de l'Agent SQL Server, pensez aux incidences que cela pourrait avoir sur la sécurité. Les membres de SQLAgentOperatorRole sont automatiquement membres de SQLAgentUserRole et SQLAgentReaderRole. Ceci signifie que les membres de SQLAgentOperatorRole ont accès à tous les proxys de l'Agent SQL Server auxquels SQLAgentUserRole ou SQLAgentReaderRole peut accéder et qu'ils peuvent les utiliser. |
Le tableau suivant récapitule les autorisations de SQLAgentOperatorRole sur les objets de l'Agent SQL Server.
Action | Alertes | Opérateurs | Travaux locaux | Travaux multiserveur | Calendriers de travaux | Proxys |
---|---|---|---|---|---|---|
Créer/modifier/supprimer |
Non |
Non |
Oui 2 (travaux lui appartenant uniquement) |
Non |
Oui (planifications lui appartenant uniquement) |
Non |
Afficher la liste (énumérer) |
Oui |
Oui 1 |
Oui |
Oui |
Oui |
Oui |
Activer/désactiver |
Non |
Non |
Oui 3 |
Non |
Oui 4 |
Non applicable |
Afficher les propriétés |
Oui |
Oui |
Oui |
Oui |
Oui |
Oui |
Modifier les propriétés |
Non |
Non |
Oui (travaux lui appartenant uniquement) |
Non |
Oui (planifications lui appartenant uniquement) |
Non |
Exécuter/arrêter/démarrer |
Non applicable |
Non applicable |
Oui |
Non |
Non applicable |
Non applicable |
Afficher l'historique des travaux |
Non applicable |
Non applicable |
Oui |
Oui |
Non applicable |
Non applicable |
Supprimer l'historique des travaux |
Non applicable |
Non applicable |
Oui |
Non |
Non applicable |
Non applicable |
Attacher/détacher |
Non applicable |
Non applicable |
Non applicable |
Non applicable |
Oui (planifications lui appartenant uniquement) |
Non applicable |
1 Peut obtenir la liste des opérateurs disponibles à utiliser dans sp_notify_operator et dans la boîte de dialogue Propriétés du travail de Management Studio.
2 Ne peut pas modifier l'appartenance des travaux.
3 Les membres de SQLAgentOperatorRole peuvent activer ou désactiver les travaux locaux qui ne leur appartiennent pas en utilisant la procédure stockée sp_update_job et en attribuant des valeurs aux paramètres @enabled et @job_id (ou @job_name). Si un membre de ce rôle spécifie d'autres paramètres pour cette procédure stockée, l'exécution de cette dernière échoue.
4 Les membres de SQLAgentOperatorRole peuvent activer ou désactiver les planifications qui ne leur appartiennent pas en utilisant la procédure stockée sp_update_schedule et en attribuant des valeurs aux paramètres @enabled et @schedule_id (ou @name). Si un membre de ce rôle spécifie d'autres paramètres pour cette procédure stockée, l'exécution de cette dernière échoue.
Assignation de plusieurs rôles aux utilisateurs
Les membres du rôle de serveur fixe sysadmin ont accès à toutes les fonctionnalités de l'Agent SQL Server. Si un utilisateur n'est pas membre du rôle sysadmin, mais qu'il est membre de plusieurs rôles de base de données fixes de l'Agent SQL Server, il est important de prendre en compte le modèle concentrique des autorisations de ces rôles. Étant donné que les rôles plus privilégiés contiennent toujours toutes les autorisations des rôles moins privilégiés, un utilisateur qui est membre de plusieurs rôles a automatiquement les autorisations associées au rôle le plus privilégié dont il est membre.
Voir aussi
Concepts
Implémentation de la sécurité de l'Agent SQL Server
Autres ressources
sp_update_job (Transact-SQL)
sp_update_schedule (Transact-SQL)
sp_notify_operator (Transact-SQL)
sp_purge_jobhistory (Transact-SQL)