Uso de la autenticación de Microsoft Entra

Se aplica a:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

En este artículo se proporciona información general sobre el uso de Microsoft Entra ID (anteriormente Azure Active Directory) para autenticarse en Azure SQL Database, Azure SQL Managed Instance, SQL Server en máquinas virtuales de Azure en Windows, Synapse SQL en Azure Synapse Analytics y SQL Server para Windows y Linux.

Para aprender a crear y rellenar Microsoft Entra ID y, posteriormente, configurar Microsoft Entra ID con Azure SQL Database, Azure SQL Managed Instance y Synapse SQL en Azure Synapse Analytics, revise Configuración de Microsoft Entra ID y Microsoft Entra ID con SQL Server en máquinas virtuales de Azure.

Nota:

Microsoft Entra ID era conocido anteriormente como Azure Active Directory (Azure AD).

Información general

Con la autenticación de Microsoft Entra puede administrar centralmente las identidades de los usuarios de la base de datos y otros servicios de Microsoft en una ubicación central. La administración de identificadores central ofrece una ubicación única para administrar usuarios de base de datos y simplifica la administración de permisos. Entre las ventajas se incluyen las siguientes:

  • Ofrece una alternativa a la autenticación de SQL Server.

  • 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 de la base de datos con grupos de Microsoft Entra.

  • 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.

  • La autenticación de Microsoft Entra utiliza usuarios de base de datos independiente para autenticar las identidades en el nivel de base de datos.

  • Microsoft Entra ID admite la autenticación basada en token para las aplicaciones que se conectan a SQL Database y a SQL Managed Instance.

  • La autenticación de Microsoft Entra admite:

    • Identidades solo en la nube de Microsoft Entra.
    • Identidades híbridas de Microsoft Entra que admiten:
      • Autenticación en la nube con dos opciones asociadas al inicio de sesión único de conexión directa (SSO): la autenticación de paso a través y hash de contraseña.
      • Autenticación federada.
    • Para obtener más información acerca de los métodos de autenticación de Microsoft Entra y cuál de ellos elegir, consulte el siguiente artículo:
  • SQL Server Management Studio admite conexiones que usan Microsoft Entra con autenticación multifactor. La autenticación multifactor incluye una autenticación sólida con una gama de opciones de verificación: llamada telefónica, mensaje de texto, tarjetas inteligentes con PIN o notificación de aplicación móvil. Para obtener más información, vea Compatibilidad de SSMS para la autenticación multifactor de Microsoft Entra con Azure SQL Database, SQL Managed Instance y Azure Synapse.

  • SQL Server Data Tools (SSDT) también admite una amplia gama de opciones de autenticación con Microsoft Entra ID. Para obtener más información, vea Compatibilidad de Microsoft Entra ID en 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. Cree y rellene un inquilino de Microsoft Entra.
  2. Opcional: asocie o cambie el directorio actual que está asociado a la suscripción de Azure.
  3. Cree un administrador de Microsoft Entra.
  4. Configure los equipos cliente.
  5. Cree usuarios de base de datos independiente en la base de datos asignados a identidades de Microsoft Entra.
  6. Conéctese a la base de datos con identidades de Microsoft Entra.

Nota:

Para Azure SQL, las máquinas virtuales de Azure y SQL Server 2022, la autenticación de Microsoft Entra solo admite tokens de acceso que se originen en Microsoft Entra ID y no admite tokens de acceso de terceros. Microsoft Entra ID tampoco admite la redirección de consultas de Microsoft Entra ID a puntos de conexión de terceros. Esto se aplica a todas las plataformas SQL y a todos los sistemas operativos que admiten la autenticación de Microsoft Entra.

Arquitectura de confianza

  • Solo la parte de la nube de Microsoft Entra ID, SQL Database, SQL Managed Instance, SQL Server en máquinas virtuales de Azure en Windows y Azure Synapse se considera compatible con las contraseñas de usuario nativas de Microsoft Entra.
  • Para admitir las credenciales de inicio de sesión único de Windows (o el usuario y contraseña para las credenciales de Windows), use las credenciales de Microsoft Entra desde un dominio federado o administrado que esté configurado para el inicio de sesión único de conexión directa con autenticación de paso a través y hash de contraseña. Para obtener más información, consulte Inicio de sesión único de conexión directa de Microsoft Entra.
  • 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.

Para obtener más información sobre las identidades híbridas de Microsoft Entra, la configuración y la sincronización, consulte los siguientes artículos:

Para obtener una autenticación federada de ejemplo con la infraestructura de ADFS (o el usuario y contraseña para las credenciales de Windows), consulte el diagrama siguiente. Las flechas indican las rutas de comunicación.

Diagram of Microsoft Entra authentication for Azure SQL.

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 está autenticado por Microsoft Entra ID y es de confianza para la base de datos. El cliente 1 puede representar Microsoft Entra ID con usuarios nativos o 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 sincronizado 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 los recursos de Azure SQL Database, Instancia administrada de SQL o Azure Synapse.

Diagram shows the relationship between subscriptions in the Microsoft Entra configuration.

Estructura del administrador

Cuando se usa la autenticación de Microsoft Entra, existen dos cuentas de administrador: el administrador original de Azure SQL Database y el de Microsoft Entra. Los mismos conceptos se aplican a Azure Synapse. 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 el servidor. Mediante el uso de la cuenta de grupo como administrador, se mejora la administración al permitir agregar y quitar miembros de grupo de forma centralizada en Microsoft Entra sin cambiar los usuarios ni los permisos de SQL Database o Azure Synapse. Solo un administrador de Microsoft Entra (un usuario o grupo) se puede configurar en cualquier momento.

Diagram shows the administrator structure for Microsoft Entra ID used with SQL Server.

Nota:

La autenticación de Microsoft Entra con Azure SQL solo admite un único inquilino de Microsoft Entra donde reside actualmente el recurso de Azure SQL. Todos los objetos de Microsoft Entra de este inquilino se pueden configurar como usuarios que permiten el acceso a Azure SQL en este inquilino. El administrador de Microsoft Entra también debe ser del inquilino del recurso de Azure SQL. No se admite la autenticación multiinquilino de Microsoft Entra que accede a Azure SQL desde distintos inquilinos.

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 del servidor 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 la base de datos db_owner.

Para crear un usuario de base de datos independiente en Azure SQL Database, Azure SQL Managed Instance o Azure Synapse, debe conectarse a la base de datos o la instancia con una identidad de Microsoft Entra. Para crear el primer usuario de 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). Esto se muestra en Configuración y administración de la autenticación de Microsoft Entra con SQL Database o Azure Synapse. La autenticación de Microsoft Entra solo es posible si se ha creado el administrador de Microsoft Entra para Azure SQL Database, Azure SQL Managed Instance o Azure Synapse. Si el administrador de Microsoft Entra se quitó del servidor, los usuarios existentes de Microsoft Entra creados anteriormente dentro del servidor ya no se pueden conectar a la base de datos con sus credenciales de Microsoft Entra.

Características y limitaciones de Microsoft Entra

  • Los miembros siguientes de Microsoft Entra ID se pueden aprovisionar para Azure SQL Database:

    • Usuarios de Microsoft Entra: cualquier tipo de usuario de un inquilino de Microsoft Entra, incluidos los miembros, internos, externos e invitados. También se admiten los miembros de un dominio de Active Directory configurado para la federación con Microsoft Entra ID y se pueden configurar para el inicio de sesión único sin problemas.
    • Aplicaciones: las aplicaciones que existen en Azure pueden usar entidades de servicio o identidades administradas para autenticarse directamente en Azure SQL Database. Se prefiere el uso de identidades administradas para la autenticación debido a que no tienen contraseña y eliminan la necesidad de credenciales administradas por el desarrollador.
    • Los grupos de Microsoft Entra, que pueden simplificar la administración de acceso en toda la organización mediante la administración del acceso adecuado de usuarios y aplicaciones en función de su pertenencia a grupos.
  • Los usuarios de Microsoft Entra que forman parte de un grupo que es miembro del rol de base de datos db_owner no pueden usar la sintaxis CREATE DATABASE SCOPED CREDENTIAL en Azure SQL Database y Azure Synapse. Verá el siguiente error:

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

    Para mitigar el problema de CREATE DATABASE SCOPED CREDENTIAL, agregue directamente al usuario individual de Microsoft Entra el rol db_owner.

  • Estas funciones del sistema no se admiten y devuelven valores NULL cuando se ejecutan por entidades de seguridad de Microsoft Entra:

    • SUSER_ID()
    • SUSER_NAME(<ID>)
    • SUSER_SNAME(<SID>)
    • SUSER_ID(<name>)
    • SUSER_SID(<name>)
  • Azure SQL Database no crea usuarios implícitos para los usuarios que han iniciado sesión como parte de una pertenencia a grupos de Microsoft Entra. Debido a esto, se producirá un error en varias operaciones que requieran asignar la propiedad, incluso si el grupo de Microsoft Entra se agrega como miembro a un rol con esos permisos.

    Por ejemplo, un usuario que ha iniciado sesión en una base de datos a través de un grupo de Microsoft Entra con el rol db_ddladmin, no podrá ejecutar CREATE SCHEMA, ALTER SCHEMA y otras instrucciones de creación de objetos sin un esquema definido explícitamente (como tabla, vista o tipo, por ejemplo). Para resolverlo, se debe crear un usuario de Microsoft Entra para ese usuario o el grupo de Microsoft Entra debe modificarse para asignar DEFAULT_SCHEMA a dbo.

SQL Managed Instance

  • Se admiten las entidades de seguridad (inicios de sesión) del servidor y los usuarios de Microsoft Entra para SQL Managed Instance.

  • No se admite establecer inicios de sesión de Microsoft Entra asignados a un grupo de Microsoft Entra como propietario de la base de datos en SQL Managed Instance.

    • Una ampliación de este escenario es que cuando se agrega un grupo como parte del rol del servidor dbcreator, los usuarios de este grupo pueden conectarse a SQL Managed Instance y crear bases de datos, pero no podrán acceder a ellas. El motivo es que el propietario de la nueva base de datos es SA y no el usuario de Microsoft Entra. Este problema no se manifiesta si el usuario se agrega al rol de servidor dbcreator.
  • Se admiten la administración del agente SQL y las ejecuciones de trabajos con los inicios de sesión de Microsoft Entra.

  • Las entidades de seguridad (inicios de sesión) de un servidor de Microsoft Entra pueden ejecutar operaciones de copia de seguridad y restauración de bases de datos.

  • Se admite la auditoría de todas las instrucciones relacionadas con las entidades de seguridad (inicios de sesión) de un servidor de Microsoft Entra y los eventos de autenticación.

  • Se admite la conexión de administrador dedicada para las entidades de seguridad (inicios de sesión) de un servidor de Microsoft Entra que son miembros del rol del servidor de administrador del sistema.

    • Se admite mediante la utilidad SQLCMD y SQL Server Management Studio.
  • Se admiten desencadenadores de inicio de sesión para los eventos de inicio de sesión procedentes de las entidades de seguridad (inicios de sesión) de un servidor de Microsoft Entra.

  • Se puede configurar Service Broker y el correo electrónico de la base de datos mediante una entidad de seguridad (inicio de sesión) de un servidor de Microsoft Entra.

Conectar 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 autenticación multifactor
  • 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 autenticación multifactor

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) en un servidor de SQL Database o Azure Synapse en cualquier momento.
    • La incorporación de entidades de seguridad (inicios de sesión) de un servidor de Microsoft Entra para SQL Managed Instance ofrece la posibilidad de crear varias de estas entidades que se pueden agregar al rol sysadmin.
  • Solo un administrador de Microsoft Entra para el servidor puede conectarse inicialmente al servidor o a la instancia administrada mediante una cuenta de Microsoft Entra. El administrador de Microsoft Entra puede configurar los usuarios posteriores de la base de datos de Microsoft Entra.
  • No se admite que los usuarios y las entidades de servicio de Microsoft Entra (aplicaciones de Microsoft Entra) que forman parte de más de 2048 grupos de seguridad de Microsoft Entra inicien sesión en la base de datos en SQL Database, SQL Managed Instance o Azure Synapse.
  • 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 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 .NET Framework para SqlServer; al menos la versión 4.6 de .NET Framework). Por lo tanto, las versiones más recientes de estas herramientas y 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 la autenticación multifactor.
  • 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.
  • PolyBase no se puede autenticar mediante la autenticación de Microsoft Entra.
  • La autenticación de Microsoft Entra se admite para Azure SQL Database y Azure Synapse con las hojas de Azure Portal Importar base de datos y Exportar base de datos. La importación y exportación mediante la autenticación de Microsoft Entra también se admite desde un comando de PowerShell.
  • La autenticación de Microsoft Entra se admite para SQL Database, SQL Managed Instance y Azure Synapse mediante la CLI. Para obtener más información, vea Configuración y administración de la autenticación de Microsoft Entra con SQL Database o Azure Synapse y SQL Server: az sql server.

Pasos siguientes