Implementar 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.
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.
Os proxies são tão seguros quanto o repositório de credencial do SQL Server.
Se as operações de gravação de usuário puderem gravar no log de eventos NT, eles poderão gerar alertas via SQL Server Agent.
Não especifique a conta de administração NT como uma conta de serviço ou conta proxy.
Observe que o SQL Server e o SQL Server Agent têm acesso aos ativos um do outro. Os dois serviços compartilham um único espaço de processamento e o SQL Server Agent é um sysadmin no serviço do SQL Server.
Quando um TSX se inscrever com um MSX, o sysadmins do MSX obtém controle total sobre a instância de TSX do SQL Server.
ACE é uma extensão e não pode se chamar. ACE é chamado por Chainer ScenarioEngine.exe, também conhecido como Microsoft.SqlServer.Chainer.Setup.exe, ou pode ser chamado por outro processo do host.
ACE depende das seguintes DLLs de configuração de propriedade do SSDP, porque essas APIs de DLLs são chamadas pelo ACE:
SCO – Microsoft.SqlServer.Configuration.Sco.dll, incluindo novas validações de SCO para contas virtuais
Cluster – Microsoft.SqlServer.Configuration.Cluster.dll
SFC – Microsoft.SqlServer.Configuration.SqlConfigBase.dll
Extensão – Microsoft.SqlServer.Configuration.ConfigExtension.dll
Consulte também
Referência
sp_addrolemember (Transact-SQL)
sp_droprolemember (Transact-SQL)