Inicio de sesión de Microsoft SQL Server con credenciales de Active Directory


13

Nuestros servidores Microsoft SQL se ejecutan en servidores Windows que forman parte de un dominio de Active Directory.

Para facilitar la administración de usuarios, nuestra autorización SQL se configura mediante los Grupos de usuarios de Active Directory como se explica en esta publicación .

Ahora esto funciona bien siempre y cuando todos estén trabajando dentro del dominio. Las personas inician sesión en su computadora con sus credenciales de AD y pueden conectarse al servidor SQL mediante la "Autenticación de Windows".

El problema es que nuestros usuarios también estarán trabajando en otras computadoras cliente que no son parte del dominio de Active Directory (y agregarlas al dominio no es una opción).

Esperaba que simplemente pudieran seguir usando sus credenciales de AD para iniciar sesión en el servidor utilizando la autenticación de AD como se menciona en la pantalla de inicio de sesión de SQL Server.

Pantalla de inicio de sesión de SQL Server

Sin embargo, esto no parece estar funcionando.

Iniciar sesión con Acive Directory Password Authentication da problemas de certificado. Error: "La cadena de certificados fue emitida por una autoridad en la que no se confía".

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)

Por extraño que parezca, si voy a la configuración de "opciones" en la ventana de inicio de sesión y marco la casilla "certificado de servidor de confianza". De repente, NO puedo conectarme al servidor y simplemente recibo el error.

Cannot connect to x.x.x.x.

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

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

¿Es posible la configuración que quiero lograr? Y si es así, ¿cómo puedo lograrlo? :)

Resumen: los servidores SQL se ejecutan en el dominio de AD, los usuarios tienen credenciales de AD pero también deben poder iniciar sesión desde computadoras cliente que NO formen parte del dominio de AD con sus credenciales de AD.


Abra C:\WINDOWS\system32\cliconfg.exey verifique si la opción forzar cifrado de protocolo está habilitada. Si está desactivado
Drifter104

No, no está habilitado.
Gilles Lesire

2
Interesante problema Esto parece válido: runas /netonly /user:domain\username "c:\path\ssms.exe" mssqltips.com/sqlservertip/3250/…
Michal Sokolowski el

Respuestas:


10

El mensaje de error es que los certificados fueron emitidos por una autoridad no confiable. Ese sería su dominio AD, muy probablemente.

Un par de soluciones que quizás quieras probar:

  1. Esta publicación de dba.stackexchange.com sugiere hacer clic en el botón de opciones en la ventana de conexión de arriba y agregar TrustServerCertificate=Truedebajo de Parámetros de conexión adicionales. Esto básicamente le dice a SSMS que sí, ya sabes, solo hazlo.
  2. Si eso no funciona, esta publicación de dba.stackexchange.com sugiere usar runas para engañar a Windows. Por ejemplo, runas /netonly /user:domain\username "C:\path_to\ssms.exe"nunca he hecho esto con SSMS, pero vale la pena intentarlo, ya que el OP parece estar en una situación similar a la suya (y confío en que el chico responda).

De todos modos, es de esperar que una de esas soluciones le ayude.


1
La primera solución no funcionó, ya estaba abordada en mi pregunta. La segunda solución parece funcionar, aunque cuando esté conectado todavía dice mi nombre de Windows al lado de la conexión, tengo que hacer algunas pruebas si realmente es la cuenta de dominio y si funciona correctamente como se esperaba. Dedos cruzados.
Gilles Lesire

Si las runas funcionan, ¿hay alguna forma de evitar el símbolo del sistema? No todos nuestros usuarios son expertos en tecnología.
Gilles Lesire

3
¿Quizás podrías crear un acceso directo personalizado? De hecho, acabo de probar esto yo mismo agregando runas /netonly /user:domain\username a la cadena inicial de un acceso directo copiado. Funcionó bien, aunque también apareció un símbolo del sistema para que ingresen sus credenciales.
Katherine Villyard

O use Sysinternals ShellRunAs
noam

1

La forma más fácil es simplemente hacer clic derecho en "Microsoft SQL Server Management Studio" - "más" seleccione "Ejecutar como un usuario diferente". Funcionó para mi. Pensé que si seleccionaba "Active Directory - Contraseña" en la pantalla de inicio de sesión, haría el mismo trabajo pero ... desafortunadamente no lo hizo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.