Por que você usaria uma conta de serviço gerenciada em vez de uma conta virtual no SQL Server 2012?

14

No SQL Server 2012, as contas de serviço são criadas como contas virtuais (VAs), conforme descrito aqui , em oposição às contas de serviço gerenciadas (MSAs).

As diferenças importantes que posso ver para elas, com base nas descrições:

  • MSAs são contas de domínio, VAs são contas locais
  • MSAs usam gerenciamento de senha automagic manipulado pelo AD, VAs não possuem senhas
  • em um contexto Kerberos, os MSAs registram SPNs automaticamente, os VAs não

Há outras diferenças lá? Se o Kerberos não estiver em uso, por que um DBA prefere um MSA?

ATUALIZAÇÃO : Outro usuário observou uma possível contradição nos documentos da MS sobre VAs :

A conta virtual é gerenciada automaticamente e pode acessar a rede em um ambiente de domínio.

versus

Contas virtuais não podem ser autenticadas em um local remoto. Todas as contas virtuais usam a permissão da conta da máquina. Provisione a conta da máquina no formato <domain_name>\<computer_name>$.

O que é a "conta da máquina"? Como / quando / por que é "provisionado"? Qual é a diferença entre "acessar a rede em um ambiente de domínio" e "autenticar em um local remoto [em um ambiente de domínio]"?

jordanpg
fonte
1
Seu último parágrafo adicionou mais 4 perguntas. As regras de S / O recomendam uma pergunta por solicitação. Posso responder a uma dessas perguntas: Uma "conta de máquina" é uma conta de serviço local (NT). Cada máquina tem um. Quando você executa um serviço do NT como "Sistema", ele é executado nessa conta local especial. Como não é gerenciado por um domínio, não é possível (inerentemente) confiar em outras máquinas de um domínio. A conta é criada automaticamente quando o sistema operacional é instalado. É uma reminiscência dos dias das redes ponto a ponto.
TimG 25/03
Portanto, se "todas as contas virtuais usam a permissão da conta da máquina", por essa definição, não é possível "acessar a rede em um ambiente de domínio".
Jordanpg
1
(na minha mensagem anterior, deixei de fora alguma coisa). Quando um servidor ingressa em um domínio, a conta local "Sistema" é mapeada para uma conta de domínio <nome_do_domínio> \ <nome_do_computador> $. Essa conta é uma conta de domínio real.
TimG 26/03
Eu diria que não é típico usar uma conta de máquina para "acessar a rede em um ambiente de domínio". Como você pode imaginar, é bastante genérico e, portanto, apresenta uma porta traseira generosa. Você pode conceder permissões para essa conta, como qualquer outra conta, mas isso é desencorajado.
TimG 26/03
Não pode ser tão atípico. Os VAs, que "usam a permissão da conta da máquina", são o tipo de conta padrão para quase todas as contas de serviço MSSQL12. Ou a Microsoft deixou de lado uma frase como "no entanto, não é recomendável usar VAs para acessar a rede em um domínio" ou é exatamente isso que se pretende. Por isso fiz a pergunta.
Jordanpg

Respostas:

4

Aqui está o que eu vejo.

Ao usar um VA, você representa a conta da máquina.

O problema é que é fácil criar um VA ou usar um já existente (por exemplo, NT Authority \ NETWORKSERVICE). Se você conceder à conta da máquina acesso a uma instância, um aplicativo que esteja sendo executado como um VA poderá conectar-se a essa instância e executar ações.

Com uma conta gerenciada, você precisará fornecer as credenciais para essa conta para qualquer aplicativo que desejar usá-las, permitindo maior granularidade com permissões.

Nabil Becker
fonte