Então, mudei recentemente de emprego - um código que vi em nossos scripts de construção para novas instalações do SQL Server está abaixo.
IF EXISTS ( SELECT *
FROM [sys].[syslogins]
WHERE [name] = N'NT AUTHORITY\SYSTEM' )
BEGIN
DROP LOGIN [NT AUTHORITY\SYSTEM];
END
IF EXISTS ( SELECT *
FROM [sys].[syslogins]
WHERE [name] = N'NT SERVICE\SQLWriter' )
BEGIN
DROP LOGIN [NT SERVICE\SQLWriter];
END
IF EXISTS ( SELECT *
FROM [sys].[syslogins]
WHERE [name] = N'NT SERVICE\Winmgmt' )
BEGIN
DROP LOGIN [NT SERVICE\Winmgmt];
END
GO
Essas contas são criadas durante o processo de instalação do SQL Server por padrão.
É recomendável descartar os logins acima? Existem efeitos colaterais que isso poderia causar? Para que esses logins são usados?
É possível excluir os logins NT SERVICE \ SQLWriter e NT SERVICE \ Winmgmt? mas isso não é concreto o suficiente - eu posso ver o que eles precisam, mas muito pouco mais. Eles precisam de acesso sysadmin? etc.
Como exemplo (extraído de Configurar contas de serviço e permissões do Windows ):
O sistema local é uma conta interna com privilégios muito altos. Possui amplos privilégios no sistema local e atua como o computador na rede. O nome real da conta é
NT AUTHORITY\SYSTEM
.
Como devo ler isso? Deveria ficar com esses privilégios "altos"?