Compartir por


Conexión al recurso de Azure SQL con la autenticación de Microsoft Entra

Se aplica a: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

En este artículo se muestra cómo conectarte a Azure SQL Database, Azure SQL Managed Instance y Azure Synapse Analytics mediante la autenticación de Microsoft Entra.

Requisitos previos

Para conectarse al recurso de Azure SQL, debe haber configurado la autenticación de Microsoft Entra para el recurso.

Para confirmar que el administrador de Microsoft Entra está correctamente configurado, conéctese a la base de datos master con la cuenta de administrador de Microsoft Entra. Para crear un usuario de base de datos independiente basado en Microsoft Entra, conéctate a la base de datos con una identidad de Microsoft Entra que tenga acceso a la base de datos y al menos el permiso ALTER ANY USER.

Conexión con SSMS o SSDT

En los procedimientos siguientes se muestra cómo puede conectarse a una instancia de SQL Database con una identidad de Microsoft Entra mediante SQL Server Management Studio (SSMS) o SQL Server Database Tools (SSDT).

Microsoft Entra integrada

Utilice este método cuando quiera iniciar sesión mediante las credenciales de Windows federadas en Microsoft Entra ID. Para obtener más información, consulte Inicio de sesión único de conexión directa 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. Proporcione el Nombre del servidor con el formato <server-name>.database.windows.net.
    2. En Autenticación, seleccione Integrada de Microsoft Entra. No es necesario escribir una contraseña porque se presentan las credenciales existentes para la conexión.
    3. En Cifrado, seleccione Strict (SQL Server 2022 y Azure SQL), que se debe usar para conectarse a los recursos de Azure SQL.

    Captura de pantalla de SSMS que muestra la autenticación integrada de Microsoft Entra.

  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.

    Captura de pantalla del menú de opciones de SSMS.

Contraseña de Microsoft Entra

Use este método al conectarse con un nombre principal de Microsoft Entra mediante el dominio administrado de Microsoft Entra. También puede utilizarlo para la cuenta federada sin acceso al dominio, por ejemplo, cuando se trabaja de forma remota.

Use este método para autenticarse en la base de datos de SQL Database o SQL Managed Instance con usuarios de identidad solo en la nube de Microsoft Entra, o aquellos que usan identidades híbridas de Microsoft Entra. Este método admite a los usuarios que quieren usar sus credenciales de Windows, pero su máquina local no está unida al dominio (por ejemplo, mediante un acceso remoto). En este caso, un usuario de Windows puede indicar su cuenta de dominio y contraseña, y autenticarse en la base de datos de SQL Database, SQL Managed Instance o Azure Synapse.

  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. Proporcione el Nombre del servidor con el formato <server-name>.database.windows.net.
    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, seleccione Strict (SQL Server 2022 y Azure SQL), que se debe usar para conectarse a los recursos de Azure SQL.

    Captura de pantalla de SSMS mediante la autenticación de contraseña de Microsoft Entra.

  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.

    Captura de pantalla del menú de opciones de SSMS.

MFA de Microsoft Entra

Use este método para la autenticación interactiva con autenticación multifactor (MFA), con la contraseña solicitada de forma interactiva. Este método se puede usar para autenticarse en la base de datos de SQL Database, SQL Managed Instance y Azure Synapse Analytics para usuarios de identidad solo en la nube de Microsoft Entra, o aquellos que usan identidades híbridas de Microsoft Entra.

En los pasos siguientes se muestra cómo conectarse utilizando la autenticación multifactor con la última versión de SSMS.

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

    Captura de pantalla del cuadro de diálogo Conectar al servidor en SSMS, con la opción

  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.

    Captura de pantalla de la configuración del cuadro de diálogo Conectar al servidor en SSMS, con todos los campos rellenados.

  3. Seleccione Conectar.

  4. Cuando aparezca el cuadro de diálogo Iniciar sesión en su cuenta, debe rellenarse previamente con el nombre de usuario que proporcionó en el paso 2. Si un usuario pertenece a un dominio federado con Microsoft Entra ID, no se requiere contraseña.

    Captura de pantalla del cuadro de diálogo Iniciar sesión en la cuenta para Azure SQL Database y Data Warehouse. El nombre de la cuenta aparece rellenado.

  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.

Entidad de servicio de Microsoft Entra

Use este método para autenticarse en la base de datos en SQL Database o SQL Managed Instance con entidades de servicio de Microsoft Entra (aplicaciones de Microsoft Entra). Para obtener más información, consulte Entidad de servicio de Microsoft Entra con Azure SQL.

Identidad administrada de Microsoft Entra

Use este método para autenticarse en la base de datos en SQL Database o SQL Managed Instance con identidades administradas de Microsoft Entra. Para obtener más información, vea Identidades administradas en Microsoft Entra para Azure SQL.

Valor predeterminado de Microsoft Entra ID

La opción de autenticación predeterminada con Microsoft Entra ID habilita la autenticación que se realiza a través de mecanismos sin contraseña y no interactivos, incluidas las identidades administradas.

Conexión desde una aplicación cliente

En los procedimientos siguientes se muestra cómo puede conectarse a una instancia de SQL Database con una identidad de Microsoft Entra desde una aplicación cliente. Esta no es una lista completa de métodos de autenticación cuando se usa una identidad de Microsoft Entra. Para obtener más información, consulte Conexión a Azure SQL con la autenticación de Microsoft Entra y SqlClient.

Configuración de sus aplicaciones cliente

Nota:

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 comprender los métodos de conexión disponibles en .NET, consulte Conexión a Azure SQL con la autenticación de Microsoft Entra y SqlClient.

Si debes seguir usando ADAL.DLL en las aplicaciones, puedes usar los vínculos de esta sección para instalar el controlador de ODBC u OLE DB más reciente que contiene la biblioteca ADAL.DLL más reciente.

En todas las máquinas cliente, desde las que las aplicaciones o los usuarios se conectan a SQL Database o a Azure Synapse Analytics mediante identidades de Microsoft Entra, es necesario instalar el software siguiente:

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 debe 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 de conexión directa de Microsoft Entra.

La aplicación cliente (o un servicio) que se conecte a la base de datos debe ejecutarse en un equipo unido a un dominio con las credenciales de dominio de un usuario.

Para conectarse a una base de datos mediante autenticación integrada y una identidad de Microsoft Entra, la palabra clave Authentication de la cadena de conexión de la base de datos debe establecerse como 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();

No se admite la palabra clave Integrated Security=True de la cadena de conexión para conectarse a Azure SQL Database. Al crear una conexión ODBC tiene que quitar espacios y establecer la autenticación en ActiveDirectoryIntegrated.

Autenticación de contraseña de Microsoft Entra

Para conectarse a una base de datos mediante cuentas de usuario de identidad solo en la nube de Microsoft Entra o las que usan identidades híbridas de Microsoft Entra, la palabra clave Autenticación debe establecerse en Active Directory Password. La cadena de conexión debe contener las palabras clave y los valores 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();

Puede encontrar más información sobre los métodos de autenticación de Microsoft Entra con los ejemplos de código de demostración que se encuentran disponibles en la demostración de la autenticación de Microsoft Entra de GitHub.

Token de acceso de Microsoft Entra ID

Este método de autenticación permite a los servicios de nivel intermedio obtener tokens de tipo JSON Web Token (JWT) para conectarse a la base de datos de SQL Database, SQL Managed Instance o Azure Synapse mediante la obtención de 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 la aplicación con Microsoft Entra ID y obtener el id. de cliente para el 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. Crear un certificado en el equipo cliente que va 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 más información, consulte el blog de seguridad de SQL Server. 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.

Nota:

sqlcmd con el comando -G no funciona con identidades del sistema y requiere un inicio de sesión de entidad de seguridad 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

Conexión al Editor de Power Query de Azure Portal (Azure SQL Database)

Para obtener más información sobre el editor de consultas de Azure Portal para Azure SQL Database, consulte Inicio rápido: Uso del editor de consultas de Azure Portal para consultar Azure SQL Database.

  1. En Azure Portal, vaya a la base de datos SQL. Por ejemplo, visite el panel de Azure SQL.

  2. En la página Información general de la base de datos SQL de Azure Portal, seleccione Editor de consultas en el menú de la izquierda.

  3. En la pantalla de inicio de sesión en Bienvenido al editor de consultas de SQL Database, seleccione Continuar como <identificador de usuario o grupo>.