Em que circunstâncias uma conta de usuário * local * pode acessar um SQL Server remoto com uma conexão confiável?

2

Um dos nossos clientes tem a seguinte configuração:

  • No controlador de domínio, há um SQL Server.
  • Em seu PC (WinXP), ele faz logon com LocalPC\LocalUser .
  • No Windows Explorer, ele abre DomainController\SomeShare e autentica como Domain\Administrator .
  • Ele inicia nosso aplicativo, que abre uma conexão confiável (autenticação do Windows) para o SQL Server. Funciona. No SSMS, a conexão aparece com o usuário Domain\Administrator .

Primeiramente, fiquei surpreso que isso funcionasse. (Minha primeira suspeita foi de que há um usuário com o mesmo nome e senha no domínio, mas não há nenhum usuário LocalUser no domínio.)

Então tentamos reproduzir o mesmo comportamento em seu novo PC, mas não conseguimos:

  • Em seu novo PC (Win7), ele faz logon com OtherLocalPC\OtherLocalUser .
  • No Windows Explorer, ele abre DomainController\SomeShare e autentica como Domain\Administrator .
  • Ele inicia nosso aplicativo, que abre uma conexão confiável (autenticação do Windows) para o SQL Server. Ele falha com a mensagem de erro Login failed for user ''. The user is not associated with a trusted SQL Server connection.

Daí a minha pergunta: Em que condições um usuário não-domínio pode acessar um SQL Server remoto usando a Autenticação do Windows com credenciais diferentes? Aparentemente, é possível (funciona em seu PC antigo), mas por que ? E como posso reproduzi-lo?

    
por Heinzi 03.10.2012 / 09:30

1 resposta

1

Como Bernie White mencionou, isso provavelmente se deve a diferenças na configuração do Kerberos. KerbTray funcionará no WinXP, klist está embutido no W7 e acima.

Exceto que, se o problema que você está tentando resolver estiver em capacidade para o servier do SQL usando a autenticação do Windows, você pode fazê-lo executando runas /netonly /user:DOMAIN\Administrator application.exe .

O outro método que eu uso é o de ter o dial-in do usuário via VPN, mesmo se eles estiverem na rede interna. Isso faz com que a credencial de rede seja usada para todos os aplicativos abertos e tem a vantagem de permitir o SSO para o Outlook, SQL Server, LDAP e qualquer outro aplicativo que eles possam acessar.

    
por 07.10.2012 / 01:51