Azure Synapse | Entra Id Authentication failing when serverName is set to localhost

Rogelio Reynaga 40 Puntos de reputación
2026-03-05T20:53:13.7733333+00:00

Let me put you into context, I'm from Oracle's GoldenGate DAA team, we have an eventHandler specifically for Azure Synapse.

In order to be able to make a connection to our Synapse server, we have to run a tunnel command to connect one of our localhost ports to one of our Synapse server ports. Without the tunnel, our VPN won't allow the connection to happen.

With the tunnel enabled, we are able to make a connection by using basic authentication, username and password. The URL used looking like this:

jdbc:sqlserver://localhost:1434;database=pbisisqlpool;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=10;

When we try to make a connection using EntraID authentication, with our URL looking like this:

jdbc:sqlserver://phoenix551889.dev3sub2phx.databasede3phx.oraclevcn.com:1434;database=pbisisqlpool;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;authentication=ActiveDirectoryServicePrincipal;loginTimeout=10;

We are never able to establish a connection. The error we get is:

Current attempt to connect failed with error: [Cannot open server "localhost" requested by the login. The login failed. ClientConnectionId:8b1525a3-cdca-4035-8049-d6bad947fa7c].

We have EntraId enabled in our Synapse server, and we are able to make a connection using that same URL outside of the VPN, and using the actual serverName instead of localhost.

The thing is, it's not easy for us to get an environment outside of the Oracle VPN to run tests focused in this new EntraID authentication feature we just added to our Synapse EventHandler.

The main question is, why is this happening?

Why are we allowed to connect using the tunnel when using basic auth, but not when using EntraID auth?

Is this expected?

Azure Synapse Analytics
Azure Synapse Analytics

Un servicio de análisis de Azure que aúna la integración de datos, el almacenamiento de datos empresariales y el análisis de macrodatos. Anteriormente se conocía como Azure SQL Data Warehouse.

0 comentarios No hay comentarios

Respuesta aceptada por el autor de la pregunta
Dio Xavier 297.2K Puntos de reputación Moderador voluntario
2026-03-05T23:23:42.9533333+00:00

Olá

Bienvenido a la comunidad Microsoft Azure

Boa noche, Rogelio Reynaga*. Este comportamiento es esperado en la mayoría de los casos en que se utiliza el túnel local con conexión basada en Entrada ID en Azure Sinapse, ya que exige validaciones adicionales como correspondencia real de FQDN, validación del certificado TSL y emisión de token para endpoint correto do serviço.*

La recomendación en este caso es mantener la conexión original de Synapse a la cadena JDBC y configurar el túnel o DNS interno para que el FQDN resuelva el punto final local.

Documentación técnica de referencia:

Conexión mediante la autenticación de Microsoft Entra

Conexión a Synapse SQL

Se a resposta tiver ayudado a resolver o problema, por gentileza marque-a como Resposta Útil. Essa ação encerra a thread, sinaliza a solução correta e ayuda a otras personas con una mesma dúvida a encontrarem a resposta com mais facilidade. Caso aún sea preciso de soporte o tenga nuevas perguntas, fique à vontade para utilizar este mismo post.

¿Le resultó útil esta respuesta?

0 comentarios No hay comentarios

1 respuesta adicional

Ordenar por: Lo más útil
  1. SAI JAGADEESH KUDIPUDI 3,650 Puntos de reputación Personal externo de Microsoft Moderador
    2026-03-14T17:30:50.4333333+00:00

    Hola Rogelio Reynaga,
    Al usar la autenticación de Microsoft Entra ID, como ActiveDirectoryServicePrincipal, con Azure Synapse o Azure SQL, la autenticación se realiza usando un token de acceso OAuth 2.0 emitido por Microsoft Entra ID. Este token de acceso se emite específicamente para el nombre de dominio completamente calificado del servidor de Azure Synapse real, por ejemplo, <server>.sql.azuresynapse.net.</server> Si la cadena de conexión JDBC especifica localhost, Azure Synapse interpreta la solicitud de inicio de sesión como dirigida a un servidor llamado "localhost". Dado que no existe un servidor de Azure Synapse o Azure SQL con ese nombre, el servicio rechaza la solicitud de inicio de sesión con un error que indica que no se puede abrir el servidor "localhost" solicitado por el inicio de sesión. Esta validación es obligatoria para la autenticación de Entra ID y se aplica incluso cuando el tráfico de red se enruta a través de un túnel.

    La autenticación SQL funciona en este escenario porque no implica la emisión de tokens de Microsoft Entra ID ni la validación de la identidad del servidor. Como resultado, la autenticación SQL puede tener éxito a través de la misma configuración de túnel donde la autenticación de Entra ID falla. Resolución: Use el nombre de dominio completo real del servidor de Azure Synapse en la cadena de conexión JDBC, incluso cuando un túnel reenvía el tráfico a localhost. Ejemplo de cadena de conexión:

    jdbc:sqlserver://<servidor-synapse>.sql.azuresynapse.net:1434;
    base de datos=pbisisqlpool;
    encriptar=true;
    nombreDelHostEnCertificado=*.sql.azuresynapse.net;
    autenticación=ActiveDirectoryServicePrincipal;
    tiempoDeEsperaDeInicioDeSesión=10;
    

    El túnel puede seguir reenviando tráfico a localhost:1434, pero la cadena de conexión debe hacer referencia al nombre de dominio completo real del servidor de Azure Synapse para que la autenticación de Microsoft Entra ID tenga éxito.

    Enlaces de referencia de Microsoft

    Connect using Microsoft Entra authentication – JDBC Driver for SQL Server

    Connect to Azure SQL and Azure Synapse using Microsoft Entra authentication

    Microsoft Entra authentication for Azure SQL and Azure Synapse overview

    Espero que esto ayude. Si tienes alguna pregunta adicional, por favor házmelo saber. Estaré encantado de ayudar.

    Por favor, no olvides 'votar a favor' donde la información proporcionada te sea útil, ya que esto puede ser beneficioso para otros miembros de la comunidad.

    ¿Le resultó útil esta respuesta?

    0 comentarios No hay comentarios

Su respuesta

Las respuestas pueden ser marcadas como Respuestas aceptadas por el autor de la pregunta, lo que indica a los usuarios que la respuesta resolvió su problema.