Qual conta de usuário você recomendaria para executar os serviços do SQL Server Express 2008 em um ambiente de desenvolvimento?

StackOverflow https://stackoverflow.com/questions/63749

Pergunta

A configuração do SQL Server Express 2008 permite atribuir contas de usuário diferentes para cada serviço.

Para um ambiente de desenvolvimento, você usaria um usuário de domínio, usuário local, NT Authority ETWORK SERCVICE, NT Authority\Local System ou alguma outra conta e por quê?

Foi útil?

Solução

Sistema Local não é recomendado, é uma conta equivalente a administrador e, portanto, pode levar a uma codificação questionável que aproveita privilégios de administrador que não seriam permitidos em um sistema de produção, já que administradores/DBAs preocupados com a segurança realmente não gostam de executar serviços como administrador.

Dependendo se a instância do servidor precisará acessar outros recursos do domínio ou não, deve-se determinar em qual tipo de conta de baixo privilégio ela deve ser executada.

Se ele não precisar acessar nenhum recurso de domínio (não anônimo), normalmente crio uma conta local exclusiva e com poucos privilégios para execução, a fim de obter o benefício adicional de segurança de não ter vários serviços em execução no mesmo contexto de identidade . Esteja ciente de que a conta de serviço local não tem suporte para os serviços SQL Server ou SQL Server Agent.

Se precisar acessar recursos de domínio não anônimos, você terá três opções:

  1. Correr como Serviço de rede que também é uma conta com poucos privilégios, mas que mantém as credenciais de rede do computador.
  2. Executar em uma conta de serviço local
  3. Execute em uma conta de domínio personalizada com poucos privilégios locais.Uma vantagem de executar sob a conta de desenvolvedores é que é mais fácil anexar depuradores a processos em sua própria identidade sem comprometer a segurança, portanto a depuração é mais fácil (já que contas que não são de administrador não têm o privilégio de anexar um depurador a outro processo de identidades por padrão ).Uma desvantagem de usar outra conta de domínio é a sobrecarga de gerenciamento dessas contas, especialmente porque o ideal é que cada serviço de cada desenvolvedor tenha credenciais exclusivas para que você não tenha vazamentos caso um desenvolvedor saia.

A maior parte do que costumo fazer não exige que o serviço acesse os recursos do domínio, portanto, costumo usar contas locais exclusivas com poucos privilégios que gerencio.Eu também executo exclusivamente como usuário não administrador (e fiz isso no XP SP2, Server 2003, Vista e Server 2008 sem maiores problemas), então quando tenho casos em que preciso do serviço para acessar recursos do domínio não me preocupo sobre o uso de minhas próprias credenciais de domínio (além disso, não preciso preocupar os administradores de rede em criar/manter um monte de identidades de domínio que não sejam de produção).

Outras dicas

Depende.

  • Sistema local - nunca, é um privilégio muito alto.
  • Serviço de rede - talvez, se você precisar se conectar aos recursos de rede, mas isso é duvidoso.
  • Serviço local - provavelmente a melhor escolha, privilégios limitados, não desbloqueie conexões de rede
  • Usuário interativo local?Ele realmente precisa ter direitos de login ou atuar como usuário?
  • Usuário de domínio?Bondade não, não a menos que você esteja acessando unidades de rede a partir dela;Se o SQL estiver com um tempo, um invasor será autenticado contra o domínio.

MS agora tem um bom artigo sobre isso:http://msdn.microsoft.com/en-us/library/ms143504(v=sql.105).aspx

Eles afirmam que o serviço local não é permitido para o SQL Server Engine.Pessoalmente, eu uso o Sistema Local apenas para evitar problemas durante o desenvolvimento, mas na produção, a prática recomendada é criar uma conta de serviço em nível de domínio com apenas as permissões necessárias para realizar o trabalho.

O que quer que ele queira usar como padrão.Mudar isso é apenas procurar problemas mais tarde.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top