Conéctate a Azure Synapse Analytics con autenticación de Microsoft Entra

Este artículo te muestra cómo usar la autenticación Microsoft Entra para conectarte a Azure Synapse Analytics.

Note

Las entidades de seguridad de servidor de Microsoft Entra se encuentran actualmente en versión preliminar para Azure Synapse Analytics.

Prerequisites

Para conectarte, necesitas configurar la autenticación Microsoft Entra para tu recurso de Azure Synapse.

Para confirmar que el administrador de Microsoft Entra está correctamente configurado, conéctate a la master base de datos usando la cuenta de administrador de Microsoft Entra.

Para crear un usuario de base de datos contenida basada en Microsoft Entra, conéctate a la base de datos utilizando una identidad Microsoft Entra con acceso a la base de datos y al menos el ALTER ANY USER permiso.

Conexión con SSMS o SSDT

Los siguientes procedimientos te muestran cómo conectarte a Synapse SQL con una identidad Microsoft Entra utilizando SQL Server Management Studio (SSMS) o SQL Server Database Tools (SSDT).

Microsoft Entra integrada

Utiliza este método cuando quieras iniciar sesión usando tus credenciales de Windows que están federadas en Microsoft Entra ID. Para obtener más información, consulte Inicio de sesión único sin interrupciones de Microsoft Entra.

  1. Inicie SSMS o SSDT y, en la pestaña Inicio de sesión del cuadro de diálogo Conectar con el servidor (o Conectar al Motor de base de datos):

    1. Introduce el nombre del servidor completo para el punto de conexión SQL. Para los formatos de endpoint, véase Connect to Synapse SQL.
    2. En Autenticación, seleccione Microsoft Entra Integrada. No necesitas introducir contraseña porque tus credenciales actuales se usan para la conexión.
    3. Para Cifrado, selecciona Estricto.
  2. En la pestaña Propiedades de conexión, en el campo Conectar a la base de datos, escriba el nombre de la base de datos de usuario a la que quiere conectarse.

Contraseña de Microsoft Entra

Utiliza este método al conectarte con un nombre principal de Microsoft Entra utilizando el dominio gestionado de Microsoft Entra. También puedes usarlo para cuentas federadas sin acceso al dominio cuando, por ejemplo, trabajas de forma remota.

Utiliza este método para autenticarte en Synapse SQL con usuarios de identidad solo en la nube de Microsoft Entra o usuarios que tengan identidades híbridas de Microsoft Entra. Este método soporta a usuarios que desean usar su credencial de Windows cuando su equipo local no está unido al dominio, como al usar acceso remoto.

  1. Inicie SSMS o SSDT y, en la pestaña Inicio de sesión del cuadro de diálogo Conectar con el servidor (o Conectar al Motor de base de datos):

    1. Introduce el nombre de servidor completo para tu endpoint SQL. Para los formatos de punto de conexión, consulte Conectarse a Synapse SQL.
    2. En Autenticación, seleccione Contraseña de Microsoft Entra.
    3. En el cuadro Nombre de usuario, escriba el nombre de usuario de Microsoft Entra con el formato username@domain.com. Los nombres de usuario deben ser una cuenta de Microsoft Entra ID o una cuenta de un dominio administrado o federado con Microsoft Entra ID.
    4. En el cuadro Contraseña, escriba la contraseña de usuario de la cuenta de Microsoft Entra o de la cuenta de dominio administrado o federado.
    5. En Cifrado, selecciona Estricto.
  2. En la pestaña Propiedades de conexión, en el campo Conectar a la base de datos, escriba el nombre de la base de datos de usuario a la que quiere conectarse.

MFA de Microsoft Entra

Utiliza este método para autenticación interactiva con autenticación multifactor (MFA), solicitando la contraseña de forma interactiva. Este método puede utilizarse para autenticarse en Synapse SQL para usuarios de identidades solo en la nube de Microsoft Entra o usuarios que tengan identidades híbridas de Microsoft Entra.

Los siguientes pasos muestran cómo conectarse usando autenticación multifactor en la última versión de SSMS.

  1. Para conectarse usando MFA, en el cuadro de diálogo Conectar al servidor en SSMS selecciona Microsoft Entra MFA.

  2. Rellene el cuadro Nombre del servidor con el nombre del servidor. Rellene el cuadro Nombre de usuario con las credenciales de Microsoft Entra, con el formato user_name@domain.com.

  3. Seleccione Conectar.

  4. Cuando aparece el cuadro de diálogo Iniciar sesión en tu cuenta , está precompletado con el nombre de usuario que proporcionaste en el paso 2. Si un usuario pertenece a un dominio federado con Microsoft Entra ID, no se requiere contraseña.

  5. Se le pedirá que se autentique con uno de los métodos configurados en función de la configuración de administrador de MFA.

  6. Cuando se complete la comprobación, SSMS se conectará de manera habitual, siempre que haya acceso de firewall y credenciales válidas.

Service Principal de Microsoft Entra

Utiliza este método para autenticarte en Synapse SQL con las entidades de servicio de Microsoft Entra.

Identidad administrada de Microsoft Entra

Utiliza este método para autenticarte en Synapse SQL con identidades gestionadas por Microsoft Entra. Para más información, consulta Identidades gestionadas en Microsoft Entra para Azure Synapse Analytics.

Microsoft Entra por defecto

La opción de autenticación predeterminada con Microsoft Entra ID permite la autenticación mediante mecanismos sin contraseña y no interactivos, incluyendo identidades gestionadas.

Conexión desde una aplicación cliente

Los siguientes procedimientos te muestran cómo conectarte a Synapse SQL con una identidad Microsoft Entra desde una aplicación cliente. Esta lista no incluye todos los métodos de autenticación. Para más información, consulte autenticación Microsoft Entra y SqlClient.

Configuración de sus aplicaciones cliente

Note

System.Data.SqlClient usa la Biblioteca de autenticación de Azure Active Directory (ADAL), que está en desuso. Si usa el espacio de nombres System.Data.SqlClient para la autenticación de Microsoft Entra, migre las aplicaciones a Microsoft.Data.SqlClient y a la Biblioteca de autenticación de Microsoft (MSAL). Para entender los métodos de conexión disponibles en .NET, véase Microsoft Entra authentication y SqlClient.

Si debes seguir usando ADAL.DLL en tus aplicaciones, utiliza los enlaces de esta sección para instalar el controlador ODBC u OLE DB más reciente, que contiene la última biblioteca ADAL.DLL .

En todas las máquinas cliente desde las que tus aplicaciones o usuarios se conectan a Azure Synapse Analytics usando identidades de Microsoft Entra, instala el siguiente software:

Puede cumplir estos requisitos mediante:

  • La instalación de la versión más reciente de SQL Server Management Studio o de SQL Server Data Tools cumple los requisitos de .NET Framework 4.6.
    • SSMS instala la versión x86 de ADAL.DLL.
    • SSDT instala la versión amd64 de ADAL.DLL.
    • La versión más reciente de Visual Studio de la sección Descargas de Visual Studio cumple con los requisitos de .NET Framework 4.6, pero no instala la versión amd64 necesaria de ADAL.DLL.

Autenticación integrada de Microsoft Entra

Para usar la autenticación integrada de Windows, la instancia de Active Directory del dominio debe estar federada con Microsoft Entra ID, o ser un dominio administrado que esté configurado para el inicio de sesión único de conexión directa para la autenticación de paso a través o de hash de contraseña. Para obtener más información, consulte Inicio de sesión único sin interrupciones de Microsoft Entra.

Para conectarse a la base de datos, una aplicación (o un servicio) debe ejecutarse en una máquina unida al dominio bajo las credenciales de dominio del usuario.

Para conectarse a una base de datos usando autenticación integrada y una identidad Microsoft Entra, establezca la Authentication palabra clave en la cadena de conexión de la base de datos en Active Directory Integrated. Reemplace <server_name> por el nombre del servidor lógico. En el siguiente ejemplo de código de C# se usa ADO.NET.

string ConnectionString = @"Data Source=<server-name>.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

La palabra clave Integrated Security=True de la cadena de conexión no está soportada para conectar a Synapse SQL. Al hacer una conexión ODBC, elimina espacios y configura la autenticación en ActiveDirectoryIntegrated.

Autenticación de contraseña de Microsoft Entra

Para conectarse a una base de datos usando cuentas de usuario con identidad solo en la nube de Microsoft Entra, o usuarios que usan identidades híbridas de Microsoft Entra, configure la palabra clave Authentication como Active Directory Password. La cadena de conexión debe contener palabras clave y valores de User ID/UID y Password/PWD. Reemplace <server_name>, <email_address> y <password> por los valores adecuados. En el siguiente ejemplo de código de C# se usa ADO.NET.

string ConnectionString =
@"Data Source=<server-name>.database.windows.net; Authentication=Active Directory Password; Initial Catalog=testdb; UID=<email_address>; PWD=<password>";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

Aprende más sobre los métodos de autenticación de Microsoft Entra utilizando los ejemplos de código de demostración disponibles en GitHub Demo de autenticación de Microsoft Entra.

Token de acceso de Microsoft Entra ID

Este método de autenticación permite que los servicios de nivel medio obtengan JSON Web Tokens (JWT) de Microsoft Entra ID para conectarse a Synapse SQL obteniendo un token de Microsoft Entra ID. Este método habilita varios escenarios de aplicación, incluidas las identidades de servicio, las entidades de servicio y las aplicaciones que usan la autenticación basada en certificados. Para usar la autenticación de token de Microsoft Entra tiene que realizar cuatro pasos básicos:

  1. Registrar tu aplicación con Microsoft Entra ID y obtener el ID de cliente para tu código.
  2. Cree un usuario de base de datos que represente la aplicación (como se describe en la sección Creación de usuarios contenidos asignados a identidades de Microsoft Entra).
  3. Crea un certificado en el equipo cliente en el que se ejecuta la aplicación.
  4. Agregar el certificado como una clave para la aplicación.

Cadena de conexión de ejemplo. Reemplace <server-name> por el nombre del servidor lógico:

string ConnectionString = @"Data Source=<server-name>.database.windows.net; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.AccessToken = "Your JWT token";
conn.Open();

Para obtener información acerca de cómo agregar un certificado, consulte Introducción a la autenticación basada en certificados de Microsoft Entra ID.

Autenticación multifactor de Microsoft Entra

La autenticación multifactor de Microsoft Entra es un método de autenticación compatible para todas las herramientas de SQL. Para obtener información sobre la autenticación mediante programación con Microsoft Entra ID, consulte Introducción a la biblioteca de autenticación de Microsoft (MSAL).

sqlcmd

Las instrucciones siguientes se conectan con la versión 13.1 de sqlcmd. Descargar Utilidades de la línea de comandos 14.0 de Microsoft para SQL Server.

Note

sqlcmd con el comando -G no funciona con identidades del sistema y requiere un inicio de sesión con entidad de usuario.

sqlcmd -S <database or datawarehouse name>.<server-name>.database.windows.net -G
sqlcmd -S <database or datawarehouse name>.<server-name>.database.windows.net -U adrian@contoso.com -P <password> -G -l 30