Uso de la autenticación de Microsoft Entra para la autenticación con Synapse SQL

La autenticación de Microsoft Entra es un mecanismo que se conecta con Azure Synapse Analytics mediante identidades de Microsoft Entra ID.

Con la autenticación de Microsoft Entra, puede administrar de forma centralizada las identidades de usuario que tienen acceso a Azure Synapse para simplificar la administración de permisos. Entre las ventajas se incluyen las siguientes:

  • Proporciona una alternativa a la autenticación normal con nombre de usuario y contraseña.
  • Ayuda a detener la proliferación de identidades de usuario en los servidores.
  • Permite la rotación de contraseñas en un solo lugar.
  • Los clientes pueden administrar los permisos con grupos externos (Microsoft Entra ID).
  • Puede eliminar el almacenamiento de contraseñas mediante la habilitación de la autenticación integrada de Windows y otras formas de autenticación compatibles con Microsoft Entra ID.
  • Microsoft Entra ID admite la autenticación basada en tokens para las aplicaciones que se conectan a Azure Synapse.
  • La autenticación de Microsoft Entra es compatible con ADFS (federación de dominio) o la autenticación nativa de usuario y contraseña para una instancia de Microsoft Entra ID local sin sincronización de dominios.
  • Microsoft Entra ID admite conexiones de SQL Server Management Studio que usan la autenticación universal de Active Directory, lo cual incluye la autenticación (MFA). MFA incluye una sólida autenticación con una gama de sencillas opciones de comprobación, entre las que se encuentran la llamada de teléfono, el mensaje de texto, las tarjetas inteligentes con PIN o la notificación mediante aplicación móvil. Para obtener más información, consulte Compatibilidad con SSMS de la autenticación multifactor de Microsoft Entra con Synapse SQL.
  • Microsoft Entra ID admite conexiones similares desde SQL Server Data Tools (SSDT) que usan la autenticación interactiva de Active Directory. Para obtener más información, consulte Compatibilidad de Microsoft Entra ID con SQL Server Data Tools (SSDT).

En los pasos de configuración, se incluyen los siguientes procedimientos para configurar y usar la autenticación de Microsoft Entra.

  1. Crear y rellenar una instancia de Microsoft Entra ID.
  2. Crear una identidad de Microsoft Entra
  3. Asignación de un rol a una identidad de Microsoft Entra creada en el área de trabajo de Synapse
  4. Conéctese a Synapse Studio mediante identidades de Microsoft Entra.

Tránsito de Microsoft Entra en Azure Synapse Analytics

Azure Synapse Analytics le permite acceder a los datos del lago de datos mediante su identidad de Microsoft Entra.

La definición de los derechos de acceso a los archivos y datos que se admiten en diferentes motores de datos permite simplificar las soluciones de lago de datos, ya que los permisos se definen en un solo lugar, en lugar de tener que definirlos en varios.

Arquitectura de confianza

En el siguiente diagrama general, se resume la arquitectura de la solución que conlleva el uso de la autenticación de Microsoft Entra con Synapse SQL. Para admitir la contraseña de usuario nativa de Microsoft Entra, se consideran solo la parte de la nube y Azure AD o Synapse SQL. Para admitir la autenticación federada (o el usuario o contraseña para las credenciales de Windows), se requiere la comunicación con el bloque ADFS. Las flechas indican las rutas de comunicación.

Microsoft Entra auth diagram

En el diagrama siguiente se indica la federación, la confianza y las relaciones de hospedaje que permiten que un cliente se conecte a una base de datos mediante el envío de un token El token se autentica mediante una instancia de Microsoft Entra ID y es de confianza para la base de datos.

El cliente 1 puede representar una instancia de Microsoft Entra ID con usuarios nativos o una instancia de Microsoft Entra ID con usuarios federados. El cliente 2 representa una posible solución, incluidos los usuarios importados; en este ejemplo, proceden de una instancia de Microsoft Entra ID federada con ADFS sincronizada con Microsoft Entra ID.

Es importante comprender que el acceso a una base de datos mediante la autenticación de Microsoft Entra requiere que la suscripción de hospedaje esté asociada a Microsoft Entra ID. Debe utilizarse la misma suscripción para crear el servidor de SQL Server que hospeda la instancia de Azure SQL Database o el grupo de SQL dedicado.

subscription relationship

Estructura del administrador

Cuando se usa la autenticación de Microsoft Entra, existen dos cuentas de administrador para Synapse SQL: el administrador de SQL original (mediante la autenticación de SQL) y el administrador de Microsoft Entra. Solo el administrador basado en una cuenta de Microsoft Entra puede crear el primer usuario de base de datos independiente en Microsoft Entra ID en una base de datos de usuario.

El inicio de sesión de administrador de Microsoft Entra puede ser un usuario de Microsoft Entra o un grupo de Microsoft Entra. Cuando el administrador es una cuenta de grupo, cualquier miembro del grupo lo puede usar, lo que permite varios administradores de Microsoft Entra para la instancia de Synapse SQL.

Con el uso de la cuenta de grupo como administrador, se mejora la capacidad de administración al permitir agregar y quitar miembros del grupo de forma centralizada en Microsoft Entra ID sin cambiar los usuarios ni los permisos del área de trabajo de Azure Synapse Analytics. Solo se puede configurar un administrador de Microsoft Entra (un usuario o grupo) en cualquier momento.

admin structure

Permisos

Para crear nuevos usuarios, debe tener el permiso ALTER ANY USER en la base de datos. El permiso ALTER ANY USER se puede conceder a cualquier usuario de la base de datos. Las cuentas de administrador de SQL y administrador de Microsoft Entra también disponen del permiso ALTER ANY USER, así como los usuarios de la base de datos con los permisos CONTROL ON DATABASE o ALTER ON DATABASE para esa base de datos y los miembros del rol de base de datos db_owner.

Para crear un usuario de base de datos independiente en Synapse SQL, debe conectarse a la base de datos o instancia con una identidad de Microsoft Entra. Para crear el primer usuario de la base de datos independiente, debe conectarse a la base de datos con un administrador de Microsoft Entra (que es el propietario de la base de datos).

La autenticación de Microsoft Entra solo es posible si se creó el administrador de Microsoft Entra para Synapse SQL. Si se ha quitado el administrador de Microsoft Entra del servidor, los usuarios de Microsoft Entra creados previamente en Synapse SQL ya no podrán conectarse a la base de datos con sus credenciales de Microsoft Entra.

Deshabilitación de la autenticación local

Al permitir solo la autenticación de Microsoft Entra, se administra de forma centralizada el acceso a los recursos de Azure Synapse, como los grupos de SQL. Para deshabilitar la autenticación local en Synapse durante la creación del área de trabajo, seleccione Usar solo la autenticación de Microsoft Entra como método de autenticación. Se creará un inicio de sesión de administrador de SQL, pero se deshabilitará. La autenticación local puede habilitarla posteriormente cualquier usuario con el rol de Propietario o Colaborador de Azure del área de trabajo de Synapse.

Microsoft Entra-only auth configuration during workspace creation

La autenticación local también se puede deshabilitar después de crear un área de trabajo desde Azure Portal. La autenticación local no se puede deshabilitar hasta que se cree un administrador de Microsoft Entra pare el área de trabajo de Azure Synapse.

Microsoft Entra-only auth configuration after workspace creation

Características y limitaciones de Microsoft Entra

  • Los siguientes miembros de Microsoft Entra ID se pueden aprovisionar en Synapse SQL:

  • Los usuarios de Microsoft Entra que forman parte de un grupo que tiene el rol de servidor db_owner no pueden usar la sintaxis CREATE DATABASE SCOPED CREDENTIAL en Synapse SQL. Verá este error:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either does not exist or you do not have permission to use it.

    Conceda el rol db_owner directamente al usuario de Microsoft Entra para mitigar el problema de CREATE DATABASE SCOPED CREDENTIAL.

  • Estas funciones del sistema devuelven valores NULL cuando se ejecutan con entidades de seguridad de Microsoft Entra:

    • SUSER_ID()
    • SUSER_NAME(<admin ID>)
    • SUSER_SNAME(<admin SID>)
    • SUSER_ID(<admin name>)
    • SUSER_SID(<admin name>)

Conexión mediante identidades de Microsoft Entra

La autenticación de Microsoft Entra admite los siguientes métodos de conexión a una base de datos mediante identidades de Microsoft Entra:

  • Contraseña de Microsoft Entra
  • Microsoft Entra integrado
  • Microsoft Entra Universal con MFA
  • Mediante la autenticación de token de aplicación

Se admiten los siguientes métodos de autenticación para las entidades de seguridad (inicios de sesión) de un servidor de Microsoft Entra:

  • Contraseña de Microsoft Entra
  • Microsoft Entra integrado
  • Microsoft Entra Universal con MFA

Consideraciones adicionales

  • Para mejorar la capacidad de administración, se recomienda que aprovisione un grupo dedicado de Microsoft Entra como administrador.
  • Solo se puede configurar un administrador de Microsoft Entra (un usuario o grupo) para grupos de Synapse SQL en cualquier momento.
    • La incorporación de entidades de seguridad (inicios de sesión) de un servidor de Microsoft Entra para Synapse SQL ofrece la posibilidad de crear varias de estas entidades para agregarles el rol sysadmin.
  • Solo un administrador de Microsoft Entra para Synapse SQL puede conectarse inicialmente a Synapse SQL con una cuenta de Microsoft Entra. El administrador de Active Directory puede configurar los usuarios de la base de datos de Microsoft Entra sucesivos.
  • Se recomienda establecer el tiempo de espera de conexión a 30 segundos.
  • SQL Server 2016 Management Studio y SQL Server Data Tools para Visual Studio 2015 (versión 14.0.60311.1 de abril de 2016 o posterior) admiten la autenticación de Microsoft Entra. (La autenticación de Microsoft Entra es compatible con el proveedor de datos de .NET Framework para SqlServer; al menos la versión 4.6 de .NET Framework). Por tanto, las versiones más recientes de estas herramientas y de las aplicaciones de capa de datos (DAC y .BACPAC) pueden usar la autenticación de Microsoft Entra.
  • A partir de la versión 15.0.1, la utilidad sqlcmd y la utilidad bcp admiten la autenticación interactiva de Active Directory con MFA.
  • SQL Server Data Tools para Visual Studio 2015 requiere al menos la versión de abril de 2016 de Data Tools (versión 14.0.60311.1). Actualmente, los usuarios de Microsoft Entra no se muestran en el Explorador de objetos de SSDT. Como solución alternativa, vea los usuarios de sys.database_principals.
  • Microsoft JDBC Driver 6.0 para SQL Server es compatible con la autenticación de Microsoft Entra. Consulte también Configurar las propiedades de conexión.
  • La cuenta de administrador de Microsoft Entra controla el acceso a los grupos dedicados, mientras que los roles RBAC de Synapse se usan para controlar el acceso a los grupos sin servidor, por ejemplo, con el rol Administrador de Synapse y Administrador de Synapse SQL. Configuración de roles Synapse RBAC en Synapse Studio. Para más información, consulte Cómo administrar asignaciones de roles Synapse RBAC en Synapse Studio.
  • Si un usuario está configurado como administrador de Microsoft Entra y administrador de Synapse y, luego, se quita del rol de administrador de Microsoft Entra, perderá el acceso a los grupos de SQL dedicados en Synapse. Para que recupere el acceso a los grupos de SQL dedicados, se deberá quitar del rol de administrador de Synapse y, luego, volver a agregarlo.

Pasos siguientes