Compartir vía


Autenticación de Microsoft Entra como alternativa a la autenticación de SQL

Se aplica a: punto de conexión de análisis SQL y un almacén de Microsoft Fabric

En este artículo se tratan los métodos técnicos que los usuarios y los clientes pueden emplear para realizar la transición de la autenticación de SQL a la autenticación de Microsoft Entra en Microsoft Fabric. La autenticación de Microsoft Entra es una alternativa a los nombres de usuario y las contraseñas mediante la autenticación de SQL para iniciar sesión en el punto de conexión de SQL Analytics del lago de datos o el almacén en Microsoft Fabric. La autenticación de Microsoft Entra es aconsejable y fundamental para crear una plataforma de datos segura.

Este artículo se centra en la autenticación de Microsoft Entra como alternativa a la autenticación de SQL en elementos de Microsoft Fabric, como un punto de conexión de análisis de SQL de almacén o lago de datos.

Ventajas de la autenticación de Microsoft Entra en Fabric

Uno de los principios básicos de Microsoft Fabric es la seguridad por diseño. Microsoft Entra es integral para la seguridad de Microsoft Fabric al garantizar una protección de datos sólida, gobernanza y cumplimiento.

Microsoft Entra desempeña un papel fundamental en la seguridad de Microsoft Fabric por varias razones:

  • Autenticación: compruebe los usuarios y las entidades de servicio mediante el Microsoft Entra ID, que concede tokens de acceso para las operaciones dentro de Fabric.
  • Acceso seguro: conéctese de forma segura a las aplicaciones en la nube desde cualquier dispositivo o red, protegiendo las solicitudes realizadas a Fabric.
  • Acceso condicional: los administradores pueden establecer directivas que evalúen el contexto de inicio de sesión del usuario, controlen el acceso o apliquen pasos de comprobación adicionales.
  • Integración: Microsoft Entra ID funciona perfectamente con todas las ofertas de SaaS de Microsoft, incluido Fabric, lo que permite un fácil acceso entre dispositivos y redes.
  • Plataforma amplia: obtenga acceso a Microsoft Fabric con Microsoft Entra ID mediante cualquier método, ya sea el portal de Fabric, la cadena de conexión de SQL, la API REST o el punto de conexión XMLA.

Microsoft Entra adopta una directiva completa de Confianza cero, que ofrece una alternativa superior a la autenticación SQL tradicional limitada a los nombres de usuario y las contraseñas. Este enfoque:

  • Impide la suplantación del usuario.
  • Habilita el control de acceso específico teniendo en cuenta la identidad del usuario, el entorno, los dispositivos etc.
  • Admite la seguridad avanzada, como la autenticación multifactor de Microsoft Entra.

Configuración de Fabric

La autenticación de Microsoft Entra para su uso con un punto de conexión de SQL Analytics de almacén o lago de datos requiere la configuración en la configuración de Inquilino y en la de Área de trabajo.

Configuración de inquilino

Un administrador de Fabric en el inquilino debe permitir el acceso de SPN a las API de Fabric, necesarias para que el SPN se conecte a la interfaz punto de conexión las cadenas de conexión de SQL a elementos de punto de conexión de Fabric Warehouse o SQL Analytics.

Este parámetro se encuentra en la sección Configuración del desarrollador y las Entidades de servicio etiquetadas como ios pueden usar las API de Fabric. Asegúrese de que esté habilitado.

Captura de pantalla del portal de Fabric de la página Configuración del desarrollador en Configuración del inquilino.

Configuración del área de trabajo

Un administrador de Fabric en el área de trabajo debe conceder acceso a un usuario o SPN para acceder a los elementos de Fabric.

Hay dos formas para conceder acceso a un usuario o SPN:

  • Conceder una pertenencia de usuario o SPN al rol Colaborador del área de trabajo: el rol Colaborador del área de trabajo permite que la identidad usuario o SPN acceda a todos los elementos de Fabric mediante cadenas de conexión de SQL.

    1. En la opción Administrar acceso del área de trabajo, asigne el rol Colaborador. Para obtener más información, vea Roles de servicio.

    Captura de pantalla del portal de Fabric que muestra el rol Colaborador asignado a un usuario en la opción Administrar acceso en el área de trabajo.

  • Asignar un usuario o SPN a un elemento específico: conceda acceso a un punto de conexión específico de Warehouse o SQL Analytics. Un administrador de Fabric puede elegir entre distintos niveles de permisos.

    1. Vaya al elemento de punto de conexión de Warehouse o SQL Analytics correspondiente.
    2. Seleccione Más opciones y luego Administrar permisos. Seleccione Agregar usuario.
    3. Agregue el usuario o SPN en la página Conceder acceso a personas.
    4. Asigne los permisos necesarios a un usuario o SPN. No elija ningún Permiso adicional para conceder solo permisos de conexión.

    Captura de pantalla del portal de Fabric de la página Conceder acceso a personas.

Puede modificar los permisos predeterminados que concede el sistema al usuario o SPN. Use los comandos GRANT y DENY de T-SQL para modificar los permisos según sea necesario o ALTER ROLE para agregar pertenencia a los roles.

Actualmente, los SPN no tienen la funcionalidad como cuentas de usuario para la configuración de permisos detallada con GRANT/DENY.

Compatibilidad con identidades de usuario y nombres de entidad de seguridad de servicio (SPN)

Fabric admite de forma nativa la autenticación y autorización para los usuarios de Microsoft Entra y los nombres de entidad de seguridad de servicio (SPN) en las conexiones SQL a los elementos de punto de conexión de almacenamiento y análisis de SQL.

  • Las identidades de usuario son las credenciales únicas para cada usuario en una organización.
  • Los SPN representan objetos de aplicación dentro de un inquilino y actúan como identidad para instancias de aplicaciones, asumiendo el rol de autenticar y autorizar esas aplicaciones.

Compatibilidad con el flujo TDS

Fabric admite de forma nativa el protocolo de flujo TDS, también conocido como cadena de conexión de SQL. Por lo tanto, Fabric es compatible con cualquier aplicación o herramienta capaz de conectarse a un producto con el Motor de base de datos SQL. Al igual que una conexión de instancia de SQL Server, TDS funciona en el puerto TCP 1433. Para más información sobre las opciones de conectividad de SQL de Fabric, vea Conectividad.

Para obtener la cadena de conexión, seleccione Más opciones en un almacén de Fabric o un elemento de punto de conexión de SQL Analytics.

Captura de pantalla del portal de Fabric del menú contextual Más opciones. La opción Copiar cadena de conexión de SQL está resaltada.

Una cadena de conexión de SQL de ejemplo tiene el siguiente aspecto: <guid_unique_your_item>.datawarehouse.fabric.microsoft.com.

Las aplicaciones y las herramientas de cliente pueden establecer la propiedad de conexión Authentication en la cadena de conexión para elegir un modo de autenticación de Microsoft Entra. En la tabla siguiente se detallan los distintos modos de autenticación de Entra, incluida la compatibilidad con la autenticación multifactor (MFA) de Microsoft Entra.

Modo de autenticación Escenarios Comentarios
Microsoft Entra interactivo Lo utilizan aplicaciones o herramientas en situaciones en las que se puede producir la autenticación de usuario de forma interactiva o cuando es aceptable contar con intervención manual para la comprobación de credenciales. Active MFA y directivas de acceso condicional de Microsoft Entra para aplicar las reglas de la organización.
Entidad de servicio de Microsoft Entra Se usa en aplicaciones para la autenticación segura sin intervención humana, más adecuada para la integración de aplicaciones. Se recomienda habilitar directivas de acceso condicional de Microsoft Entra.
Contraseña de Microsoft Entra Cuando las aplicaciones no pueden usar la autenticación basada en SPN debido a falta de compatibilidad, o si requieren un nombre de usuario y una contraseña genéricos para muchos usuarios, o bien cuando otros métodos son inviables. MFA debe estar desactivada y no se pueden establecer directivas de acceso condicional. Se recomienda validar con el equipo de seguridad del cliente antes de optar por esta solución.

Diagrama de flujo que muestra los modos de autenticación y los puntos de decisión de Microsoft Entra.

Compatibilidad de controladores con la autenticación de Microsoft Entra

Aunque la mayoría de los controladores SQL inicialmente incluían compatibilidad con la autenticación de Microsoft Entra, las actualizaciones recientes han ampliado la compatibilidad para incluir la autenticación basada en SPN. Esta mejora simplifica el cambio a la autenticación de Microsoft Entra para varias aplicaciones y herramientas mediante actualizaciones de controladores y la incorporación de compatibilidad con la autenticación de Microsoft Entra.

Pero a veces es necesario ajustar configuraciones adicionales, como habilitar determinados puertos o firewalls para facilitar la autenticación de Microsoft Entra en el equipo host.

Las aplicaciones y las herramientas deben actualizar los controladores a las versiones que admiten la autenticación de Entra y agregar una palabra clave de modo de autenticación en su cadena de conexión SQL, como ActiveDirectoryInteractive, ActiveDirectoryServicePrincipal o ActiveDirectoryPassword.

Fabric es compatible con los controladores nativos de Microsoft, incluidos OLE DB, Microsoft.Data.SqlClient y controladores genéricos como ODBC y JDBC. La transición para que las aplicaciones funcionen con Fabric se pueden administrar mediante la reconfiguración a fin de usar la autenticación basada en Microsoft Entra ID.

Para obtener más información, vea Conectividad al almacenamiento de datos en Microsoft Fabric.

Microsoft OLE DB

OLE DB Driver for SQL Server es una API de acceso a datos independiente diseñada para OLE DB y publicada por primera vez con SQL Server 2005 (9.x). A partir de entonces, las características expandidas incluyen la autenticación basada en SPN con la versión 18.5.0, lo que agrega los métodos de autenticación existentes de versiones anteriores.

Modo de autenticación Cadena de conexión de SQL
Microsoft Entra interactivo Autenticación interactiva de Microsoft Entra
Entidad de servicio de Microsoft Entra Autenticación de entidad de servicio de Microsoft Entra
Contraseña de Microsoft Entra Nombre de usuario y contraseña de Microsoft Entra

Para ver un fragmento de código de C# mediante OLE DB con autenticación basada en SPN, vea System.Data.OLEDB.Connect.cs.

Microsoft ODBC Driver

Microsoft ODBC Driver for SQL Server es una biblioteca de vínculos dinámicos (DLL) compatible con el entorno de ejecución para aplicaciones que usan API de código nativo para conectarse a SQL Server. Se recomienda usar la versión más reciente para que las aplicaciones se integren con Fabric.

Para obtener más información sobre la autenticación de Microsoft Entra con ODBC, vea Uso de Microsoft Entra ID con el código de ejemplo del controlador ODBC.

Modo de autenticación Cadena de conexión SQL
Microsoft Entra interactivo DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DB Name>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryInteractive
Entidad de servicio de Microsoft Entra DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryServicePrincipal
Contraseña de Microsoft Entra DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryPassword

Para ver un fragmento de código de Python mediante ODBC con autenticación basada en SPN, vea pyodbc-dw-connectivity.py.

Microsoft JDBC Driver

Microsoft JDBC Driver para SQL Server es un controlador JDBC de tipo 4 que proporciona conectividad con bases de datos a través de las interfaces de programación de aplicaciones (API) estándar de JDBC disponibles en la plataforma Java.

A partir de la versión 9.2, mssql-jdbc presenta compatibilidad con ActiveDirectoryInteractive y ActiveDirectoryServicePrincipal, y ActiveDirectoryPassword es compatible con las versiones 12.2 y posteriores. Este controlador requiere archivos JAR adicionales como dependencias, que deben ser compatibles con la versión de mssql-driver que se usa en la aplicación. Para obtener más información, vea Dependencias de características del controlador JDBC y Requisitos de configuración del cliente.

Modo de autenticación Más información
Microsoft Entra interactivo Conexión con el modo de autenticación ActiveDirectoryInteractive
Entidad de servicio de Microsoft Entra Conexión con el modo de autenticación ActiveDirectoryServicePrincipal
Contraseña de Microsoft Entra Conexión con el modo de autenticación ActiveDirectoryPassword

Para ver un fragmento de código Java mediante JDBC con autenticación basada en SPN, vea fabrictoolbox/dw_connect.java y archivo pom de ejemplo pom.xml.

Microsoft.Data.SqlClient en .NET Core (C#)

Microsoft.Data.SqlClient es un proveedor de datos para Microsoft SQL Server y Azure SQL Database. Es una unión de los dos componentes de System.Data.SqlClient que residen de forma independiente en .NET Framework y .NET Core, lo que proporciona un conjunto de clases para acceder a las bases de datos de Microsoft SQL Server. Microsoft.Data.SqlClient se recomienda para todos los nuevos y futuros desarrollos.

Modo de autenticación Más información
Microsoft Entra interactivo Uso de la autenticación interactiva
Entidad de servicio de Microsoft Entra Uso de la autenticación de entidad de servicio
Contraseña de Microsoft Entra Uso de la autenticación de contraseñas

Fragmentos de código mediante SPN: