Implementando a segurança do SQL Server Agent

O SQL ServerAgent permite que o administrador do banco de dados execute cada etapa de trabalho em um contexto de segurança que possui apenas as permissões necessárias para executá-la, as quais são determinadas por um proxy do SQL ServerAgent. Para definir as permissões para uma etapa de trabalho em particular, crie um proxy com as permissões necessárias e atribua-o à etapa de trabalho. Um proxy pode ser especificado para mais de uma etapa de trabalho. Para etapas de trabalho que requerem as mesmas permissões, use o mesmo proxy.

ObservaçãoObservação

Após a atualização do SQL Server 2000, todas as contas de proxy do usuário que existiam antes da atualização são alteradas para a conta de proxy global temporária UpgradedProxyAccount. UpgradedProxyAccount tem acesso concedido apenas aos subsistemas utilizados explicitamente e não a todos os subsistemas após a atualização.

A seção a seguir explica qual função de banco de dados deve ser concedida aos usuários para que eles possam criar ou executar trabalhos usando o SQL Server Agent.

Concedendo acesso ao SQL Server Agent

Para usar o SQL Server Agent, os usuários devem ser membros de uma ou mais das seguintes funções de banco de dados fixas:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Essas funções são armazenadas no banco de dados msdb. Por padrão, nenhum usuário é membro dessas funções de banco de dados. A associação a essas funções deve ser explicitamente concedida. Usuários que são membros da função de servidor fixa sysadmin têm acesso total ao SQL Server Agent e não precisam ser membros dessas funções de banco de dados fixas para usar o SQL Server Agent. Se um usuário não for membro dessas funções de banco de dados fixas ou da função sysadmin, o nó SQL Server Agent não estará disponível quando ele se conectar ao SQL Server usando o SQL Server Management Studio.

Os membros dessas funções de banco de dados podem visualizar e executar tarefas de sua propriedade, bem como criar etapas de trabalho executadas como uma conta proxy existente. Para obter mais informações sobre as permissões específicas que estão associadas a cada uma dessas funções, consulte Funções de banco de dados fixas do SQL Server Agent.

Membros da função de servidor fixa sysadmin têm permissão para criar, modificar e excluir contas proxy. Membros da função sysadmin têm permissão para criar etapas de trabalho que não especificam um proxy, mas são executadas como a conta de serviço do SQL Server Agent, que é a conta usada para iniciar o SQL Server Agent.

Diretrizes

Siga estas diretrizes para melhorar a segurança de sua implementação do SQL Server Agent:

  • Crie contas de usuário dedicadas especificamente para proxies e utilize somente essas para executar etapas de trabalho.

  • Conceda as permissões necessárias apenas a contas de usuário de proxy. Conceda apenas as permissões realmente necessárias para executar as etapas de trabalho atribuídas a uma determinada conta proxy.

  • Não execute o serviço do SQL Server Agent sob uma conta do Microsoft Windows que não seja membro do grupo Administradores do Windows.