Logon no Microsoft SQL Server usando credenciais do Active Directory


13

Nossos servidores Microsoft SQL estão em execução nos servidores Windows que fazem parte de um domínio do Active Directory.

Para facilitar o gerenciamento do usuário, nossa autorização SQL é configurada usando os Grupos de Usuários do Active Directory, conforme explicado nesta postagem .

Agora isso funciona bem desde que todos trabalhem dentro do domínio. As pessoas fazem login no computador usando suas credenciais do AD e podem se conectar ao servidor SQL usando a "Autenticação do Windows".

O problema é que nossos usuários também estarão trabalhando em outros computadores clientes que não fazem parte do domínio do Active Directory (e adicioná-los ao domínio não é uma opção).

Eu esperava que eles pudessem simplesmente continuar usando suas credenciais do AD para efetuar login no servidor usando a autenticação do AD, conforme mencionado na tela de login do SQL Server.

Tela de logon do SQL Server

No entanto, isso não parece estar funcionando.

O login com a autenticação de senha do Active Directory fornece problemas de certificado. Erro: "A cadeia de certificados foi emitida por uma autoridade que não é confiável."

Cannot connect to x.x.x.x.

===================================

A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.) (.Net SqlClient Data Provider)

------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-2146893019&LinkId=20476 (page does not exist)

Curiosamente, se eu for para as configurações de "opções" na janela de login e marque a caixa "certificado do servidor confiável". De repente, NÃO consigo me conectar ao servidor e simplesmente recebo o erro.

Cannot connect to x.x.x.x.

===================================

Login failed for user ''. (.Net SqlClient Data Provider)

A configuração que eu quero alcançar é possível? E se sim, como posso conseguir isso? :)

Recapitulação: os servidores SQL estão sendo executados no domínio do AD, os usuários têm credenciais do AD, mas também precisam fazer logon em computadores clientes que NÃO fazem parte do domínio do AD com suas credenciais do AD.


Abra C:\WINDOWS\system32\cliconfg.exee verifique se a criptografia forçada do protocolo está ativada. Se é desativá-lo
Drifter104

Não, não está ativado.
Gilles Lesire

2
Problema interessante. Isto parece válido: runas /netonly /user:domain\username "c:\path\ssms.exe" mssqltips.com/sqlservertip/3250/…
Michal Sokolowski

Respostas:


10

A mensagem de erro é que os certificados foram emitidos por uma autoridade não confiável. Esse seria o seu domínio do AD, provavelmente.

Algumas soluções alternativas que você pode querer tentar:

  1. Esta postagem do dba.stackexchange.com sugere clicar no botão de opções na janela de conexão acima e adicionar TrustServerCertificate=Trueem Parâmetros adicionais de conexão. Isso é basicamente dizer ao SSMS que sim, você sabe, apenas faça.
  2. Se isso não funcionar, esta postagem do dba.stackexchange.com sugere o uso de runas para enganar o Windows. Por exemplo, runas /netonly /user:domain\username "C:\path_to\ssms.exe"nunca fiz isso com o SSMS, mas vale a pena tentar, pois o OP parece estar em uma situação semelhante a você (e confio no cara que responde).

De qualquer forma, espero que uma dessas soluções alternativas faça o truque para você.


1
A primeira solução não funcionou, já foi abordada na minha pergunta. A segunda solução parece funcionar, apesar de, quando conectado, ainda diz o nome do meu Windows ao lado da conexão, tenho que fazer alguns testes se é realmente a conta do domínio e se funciona corretamente como esperado. Dedos cruzados.
Gilles Lesire

Se as runas funcionarem, existe uma maneira de evitar o prompt de comando? Nem todos os nossos usuários são conhecedores de tecnologia.
Gilles Lesire

3
Talvez você possa criar um atalho personalizado? Na verdade, eu mesmo testei isso adicionando runas /netonly /user:domain\username à sequência inicial de um atalho copiado. Funcionou bem, embora também tenha exibido um prompt de comando para que eles insiram suas credenciais.
Katherine Villyard


1

A maneira mais fácil é clicar com o botão direito do mouse em "Microsoft SQL Server Management Studio" - "mais" e selecione "Executar como um usuário diferente". Funcionou para mim. Eu pensei que, se eu selecionar "Active Directory - Senha" na tela de login, ele faria o mesmo trabalho, mas ... infelizmente não.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.