Implémentation de la sécurité de l'Agent SQL Server

L'Agent SQL Server permet à l'administrateur de la base de données d'exécuter chaque étape de travail dans un contexte de sécurité qui a uniquement les autorisations requises pour effectuer cette étape, ce qui est déterminé par un proxy de l'Agent SQL Server. Pour définir des autorisations pour une étape de travail particulière, créez un proxy possédant les autorisations requises, puis assignez ce proxy à l'étape de travail. Un proxy peut être spécifié pour plusieurs étapes de travail. Pour les étapes de travail qui requièrent les mêmes autorisations, vous utilisez le même proxy.

[!REMARQUE]

Après la mise à niveau de SQL Server 2000, tous les comptes proxy d'utilisateurs qui existaient avant la mise à niveau sont modifiés en compte proxy global temporaire UpgradedProxyAccount. Le compte UpgradedProxyAccount a uniquement accès aux sous-systèmes qui étaient explicitement utilisés et n'a pas accès à tous les sous-systèmes après la mise à niveau.

La section suivante explique quel rôle de base de données vous devez accorder aux utilisateurs pour qu'ils puissent créer ou exécuter des travaux à l'aide de l'Agent SQL Server.

Octroi de l'autorisation d'accéder à l'Agent SQL Server

Pour utiliser l'Agent SQL Server, les utilisateurs doivent être membres de l'un ou de tous les rôles de base de données fixes suivants :

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Ces rôles sont stockés dans la base de données msdb. Par défaut, aucun utilisateur n'est membre de ces rôles de base de données. L'appartenance à ces rôles doit être accordée explicitement. Les utilisateurs qui sont membres du rôle de serveur fixe sysadmin ont un accès complet à l'Agent SQL Server et ne doivent pas nécessairement être membres de ces rôles de base de données fixes pour utiliser l'Agent SQL Server. Si un utilisateur n'est pas membre de ces rôles de base de données ou du rôle sysadmin, le nœud de l'Agent SQL Server n'est pas disponible pour eux lorsqu'ils se connectent à SQL Server à l'aide de SQL Server Management Studio.

Les membres de ces rôles de base de données peuvent afficher et exécuter les travaux dont ils sont propriétaires, et créer des étapes de travail qui s'exécutent comme un compte proxy existant. Pour plus d'informations sur les autorisations spécifiques qui sont associées à chacun de ces rôles, consultez Rôles de base de données fixes de l'Agent SQL Server.

Les membres du rôle de serveur fixe sysadmin sont habilités à créer, à modifier et à supprimer des comptes proxy. Les membres du rôle sysadmin sont habilités à créer des étapes de travail qui ne spécifient pas un proxy, mais s'exécutent plutôt comme le compte de services d'Agent SQL Server, qui est le compte utilisé pour démarrer l'Agent SQL Server.

Consignes

Pour améliorer la sécurité de votre implémentation de l'Agent SQL Server, suivez les instructions suivantes :

  • Créez des comptes utilisateur dédiés spécifiquement pour les proxys et utilisez uniquement ces comptes utilisateur proxy pour exécuter les étapes de travail.

  • Octroyez exclusivement les autorisations nécessaires aux comptes utilisateur proxy. Octroyez exclusivement les autorisations réellement requises pour exécuter les étapes de travail qui sont assignées à un compte proxy donné.

  • N'exécutez pas Agent SQL Server Agent service sous un compte Microsoft Windows qui est membre du groupe Windows Administrateurs.