Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Applies to:Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
En este artículo se muestra cómo usar Microsoft Entra ID para la autenticación con Azure SQL Database, Azure SQL Managed Instance y Azure Synapse Analytics.
Nota:
Microsoft Entra ID anteriormente se conocía como Azure Active Directory (Azure AD).
Como alternativa, también puede configurar la autenticación Microsoft Entra para SQL Server en Azure Virtual Machines.
Requisitos previos
Para usar Microsoft Entra autenticación con el recurso de Azure SQL, necesita los siguientes requisitos previos:
- Un entorno de Microsoft Entra poblado con usuarios y grupos.
- Un recurso de Azure SQL existente, como Azure SQL Database o Azure SQL Managed Instance.
Crear y poblar un tenant de Microsoft Entra
Para poder configurar Microsoft Entra autenticación para el recurso de Azure SQL, debe crear un inquilino de Microsoft Entra y rellenarlo con usuarios y grupos. Microsoft Entra inquilinos se pueden administrar completamente dentro de Azure o usarse para la federación de un servicio de Dominio de Active Directory local.
Para más información, vea:
- ¿Qué es Microsoft Entra ID?
- Integrar las identidades locales con Microsoft Entra ID
- Agregar el nombre de dominio a Microsoft Entra ID
- ¿Qué es la federación con Microsoft Entra ID?
- sincronización de Directory con Microsoft Entra ID
- Administrar Microsoft Entra ID mediante Windows PowerShell
- La identidad híbrida requería puertos y protocolos
Configurar administrador de Microsoft Entra
Para usar la autenticación de Microsoft Entra con el recurso, debe tener configurado el administrador de Microsoft Entra. Aunque conceptualmente los pasos son los mismos para Azure SQL Database, Azure Synapse Analytics y Azure SQL Managed Instance, en esta sección se describen detalladamente las distintas API y experiencias del portal para hacerlo por producto.
El administrador de Microsoft Entra también se puede configurar cuando se crea el recurso Azure SQL. Si ya está configurado un administrador de Microsoft Entra, omita esta sección.
Azure SQL Database y Azure Synapse Analytics
Al establecer el administrador de Microsoft Entra se habilita la autenticación de Microsoft Entra para el servidor Logical para Azure SQL Database y Azure Synapse Analytics. Puede establecer un administrador de Microsoft Entra para el servidor mediante el portal de Azure, PowerShell, CLI de Azure o las API REST.
En el portal de Azure, puede encontrar el nombre del servidor lógico
- En el campo nombre del servidor de la página Descripción general de Azure SQL Database.
- En el campo nombre del servidor en la página de Resumen del grupo SQL dedicado independiente de Azure Synapse Analytics.
- En el punto final de SQL pertinente en la página Overview de su área de trabajo de Azure Synapse Analytics.
- Azure portal
- PowerShell
- CLI de Azure
- API de REST
Para establecer el administrador de Microsoft Entra para el servidor lógico en el portal de Azure, siga estos pasos:
En el panel Azure portal Directories + subscriptions, elija el directorio que contiene el recurso Azure SQL como directorio Current.
Busque servidores SQL Server y, después, seleccione el servidor lógico del recurso de base de datos para abrir el panel SQL Server.
Captura de pantalla que muestra cómo buscar y seleccionar servidores SQL.
En el panel SQL del servidor lógico, seleccione Microsoft Entra ID en Settings para abrir el panel Microsoft Entra ID.
En el panel Microsoft Entra ID, seleccione Set admin para abrir el panel Microsoft Entra ID.
El panel Microsoft Entra ID muestra todos los usuarios, grupos y aplicaciones del directorio actual y le permite buscar por nombre, alias o identificador. Busque la identidad deseada para el administrador de Microsoft Entra y selecciónela y, después, seleccione Select para cerrar el panel.
En la parte superior de la página Microsoft Entra ID del servidor lógico, seleccione Guardar.
El Object ID se muestra junto al nombre de administrador de usuarios y grupos de Microsoft Entra. En el caso de las aplicaciones (entidades de servicio), se muestra el identificador de la aplicación.
El proceso de cambio del administrador puede tardar varios minutos. A continuación, el nuevo administrador aparece en el campo Microsoft Entra admin.
Para quitar el administrador, en la parte superior de la página Microsoft Entra ID, seleccione Quitar administrador, luego seleccione Guardar. Al quitar el administrador de Microsoft Entra, se deshabilita la autenticación de Microsoft Entra para el servidor lógico.
Nota:
El administrador de Microsoft Entra se almacena en la base de datos master del servidor como usuario (principal de base de datos). Dado que los nombres principales de la base de datos deben ser únicos, el nombre para mostrar del administrador no puede ser el mismo que el nombre de ningún usuario de la base de datos del servidor. Si ya existe un usuario con ese nombre, la configuración del administrador de Entra de Microsoft falla y se revierte, indicando que el nombre ya está en uso.
Instancia Gestionada de Azure SQL
Al establecer el administrador de Microsoft Entra se habilita la autenticación de Microsoft Entra para Azure SQL Managed Instance. Puede establecer un administrador de Microsoft Entra para la instancia administrada de SQL mediante el portal de Azure, PowerShell, CLI de Azure o API REST.
- Azure portal
- PowerShell
- CLI de Azure
- API de REST
Para conceder a la instancia administrada de SQL permisos de lectura para Microsoft Entra ID mediante el portal de Azure, inicia sesión como Administrador de roles privilegiados y sigue estos pasos:
En el portal de Azure, en la esquina superior derecha, seleccione su cuenta y luego elija Cambiar directorios para confirmar cuál directorio es su directorio actual. Cambie de directorio si fuera necesario.
En el panel Azure portal Directories + subscriptions, elija el directorio que contiene la instancia administrada como directorio Current''
Busque instancias administradas de SQL y, después, seleccione su instancia administrada para abrir el panel de instancias administradas de SQL. A continuación, seleccione Microsoft Entra ID en Settings para abrir el panel Microsoft Entra ID de la instancia.
En el panel Microsoft Entra admin, seleccione Set admin en la barra de navegación para abrir el panel Microsoft Entra ID.
En el panel Microsoft Entra ID, busque un usuario, active la casilla situada junto al usuario o grupo para que sea administrador y presione Select para cerrar el panel y volver a la página Microsoft Entra admin para la instancia administrada.
El panel Microsoft Entra ID muestra todos los miembros y grupos del directorio actual. No se pueden seleccionar usuarios o grupos deshabilitados porque no son compatibles como administradores de Microsoft Entra. Seleccione la identidad que quiere asignar como administrador.
En la barra de navegación de la página Microsoft Entra admin de la instancia administrada, seleccione Save para confirmar el administrador de Microsoft Entra.
Una vez completada la operación de cambio de administrador, el nuevo administrador aparece en el campo administrador de Microsoft Entra.
El Object ID se muestra junto al nombre de administrador de usuarios y grupos de Microsoft Entra. En el caso de las aplicaciones (entidades de servicio), se muestra el identificador de la aplicación.
Sugerencia
Para quitar el administrador, seleccione Administrador en la parte superior de la página de Microsoft Entra ID y seleccione Guardar.
Asignación de permisos de Microsoft Graph
SQL Managed Instance necesita permisos para leer Microsoft Entra ID en escenarios como autorizar a los usuarios que se conectan a través de la pertenencia a grupos de seguridad y la creación de nuevos usuarios. Para que la autenticación de Microsoft Entra funcione, debe asignar la identidad de instancia administrada al rol de Directory Readers. Puede hacerlo mediante el portal de Azure o PowerShell.
En algunas operaciones, Azure SQL Database y Azure Synapse Analytics también requieren permisos para consultar Microsoft Graph, que se explica en Microsoft Graph permisos. Azure SQL Database y Azure Synapse Analytics admiten permisos de Graph específicos para estos escenarios, mientras que SQL Managed Instance requiere el rol Directory Reader. Los permisos específicos y su asignación se describen detalladamente en habilitar entidades de servicio para crear usuarios de Microsoft Entra.
Importante
Azure SQL Database y SQL Managed Instance usan diferentes modelos de permisos para acceder a Microsoft Graph.
-
Azure SQL Database y Azure Synapse Analytics: admite permisos específicos de Microsoft Graph API (como
User.Read.All,GroupMember.Read.AllyApplication.Read.All) asignados directamente a la identidad del servidor. Este enfoque sigue el principio de privilegios mínimos y se recomienda. Para obtener instrucciones paso a paso, consulte Habilitar principales de servicio para crear usuarios de Microsoft Entra. El rol Lectores de Directorio también se puede usar como una alternativa más general. SQL Managed Instance : requiere el rolDirectory Readers o permisos de Microsoft Graph de control detallado asignados a la identidad de la instancia. El portal de Azure proporciona un banner práctico en la página Microsoft Entra ID que le pide que conceda el rol Lector de directorios. Siga los pasos descritos en la sección de rol de Lectores de Directorios.
Si estás configurando Azure SQL Database, no necesitas asignar el rol de Directory Readers para la configuración básica del administrador de Microsoft Entra. En su lugar, asigne los permisos granulares de Microsoft Graph a la identidad del servidor, tal como se describe en Identidades administradas de Microsoft Entra para Azure SQL.
El rol de Lectores de directorio
El rol Directory Readers y el banner del portal descrito en esta sección se aplican principalmente a SQL Managed Instance. Para Azure SQL Database, puede asignar permisos granulares de Microsoft Graph o, opcionalmente, usar Lectores de Directorio como una alternativa más amplia.
- Azure portal
- PowerShell
- CLI de Azure
- API de REST
La página Microsoft Entra ID de SQL Managed Instance en el portal de Azure muestra un banner práctico cuando la instancia no tiene asignados los permisos lector de directorios.
Seleccione el banner en la parte superior de la página Microsoft Entra ID y conceda permiso a la identidad administrada asignada por el sistema o asignada por el usuario que representa la instancia. Solo un Administrador de Roles Privilegiados o un rol superior en su arrendatario puede realizar esta operación.
Nota:
Si no ve el banner, es posible que la instancia ya tenga el rol Lectores de directorios asignado, o que no tenga el rol de Administrador de Roles con Privilegios necesario. Si no tiene este rol, pida al administrador de inquilinos que conceda el permiso o use el método de PowerShell en la pestaña de PowerShell .
Cuando la operación se realiza correctamente, se muestra una notificación de 'Success' en la esquina superior derecha.
El administrador de Microsoft Entra ahora se puede usar para crear principales de servidor (inicios de sesión) y principales de base de datos (usuarios). Para obtener más información, consulte Microsoft Entra integración con Azure SQL Managed Instance.
Creación de entidades de seguridad de Microsoft Entra en SQL
Para conectarse a una base de datos en SQL Database o Azure Synapse Analytics con la autenticación de Microsoft Entra, se debe configurar un principal en la base de datos para esa identidad con al menos el permiso CONNECT.
Permisos de usuario de base de datos
Cuando se crea un usuario de base de datos, recibe el permiso para la base de datos de forma predeterminada. Un usuario de base de datos también hereda los permisos en dos circunstancias:
- Si el usuario es miembro de un grupo de Microsoft Entra que también tiene asignados permisos en el servidor.
- Si el usuario se crea a partir de un inicio de sesión, hereda los permisos asignados por el servidor del inicio de sesión aplicable en la base de datos.
La administración de permisos para entidades de seguridad de servidor y base de datos funciona igual independientemente del tipo de entidad de seguridad (Microsoft Entra ID, autenticación de SQL, etc.). Se recomienda conceder permisos a los roles de base de datos en lugar de conceder permisos directamente a los usuarios. Luego, los usuarios se pueden asignar a roles con los permisos adecuados. Esto simplifica la administración de permisos a largo plazo y reduce la probabilidad de que una identidad conserve el acceso pasado cuando sea adecuado.
Para más información, vea:
- Ejemplos y permisos del motor de base de datos
- Blog: conceptos básicos de permisos del Motor de base de datos
- Administrar roles y inicios de sesión especiales de bases de datos en Azure SQL Database
Usuarios de bases de datos contenidos
Un usuario contenido de base de datos es un tipo de usuario SQL que no está vinculado a un inicio de sesión en la base de datos. Para crear un usuario de base de datos independiente en Microsoft Entra, conéctese a la base de datos con una identidad de Microsoft Entra que tenga al menos el permiso ALTER ANY USER**. En el siguiente ejemplo de T-SQL se crea un principal de base de datos Microsoft_Entra_principal_name a partir de Microsoft Entra ID.
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
Para crear un usuario de base de datos contenido para un grupo de Microsoft Entra, escriba el nombre para mostrar del grupo:
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
A fin de crear un usuario de base de datos contenido para una identidad administrada o un principal de servicio, escriba el nombre para mostrar de la identidad:
CREATE USER [appName] FROM EXTERNAL PROVIDER;
Para crear un usuario de base de datos contenido para un usuario de Microsoft Entra, introduzca el nombre principal de usuario de la identidad:
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
Usuarios basados en credenciales de inicio de sesión
Nota:
Las entidades de seguridad (inicios de sesión) de Microsoft Entra están actualmente en versión preliminar pública para Azure SQL Database y Azure Synapse Analytics. los inicios de sesión de Microsoft Entra están disponibles con carácter general para Azure SQL Managed Instance y SQL Server 2022.
Microsoft Entra principales del servidor (o inicios de sesión de usuarios) son compatibles, lo que significa que los usuarios de bases de datos independientes no son necesarios. Las entidades de seguridad de base de datos (usuarios) se pueden crear en función de una entidad de seguridad de servidor, lo que significa que los usuarios de Microsoft Entra pueden heredar permisos asignados de nivel de servidor asociados con un inicio de sesión.
CREATE USER [appName] FROM LOGIN [appName];
Para obtener más información, consulte SQL Managed Instance información general. Para obtener la sintaxis sobre la creación de principales de servidor (inicios de sesión) de Microsoft Entra, consulte CREATE LOGIN.
Usuarios externos
No se puede crear directamente un usuario de base de datos para una identidad gestionada en un tenant de Microsoft Entra diferente al asociado a la suscripción de Azure. Sin embargo, los usuarios de otros directorios se pueden importar al directorio asociado como usuarios externos. Se pueden usar para crear usuarios de base de datos independientes que puedan acceder a la base de datos. Los usuarios externos también pueden obtener acceso a través de la pertenencia a grupos de Microsoft Entra.
Examples: Para crear un usuario de base de datos independiente que represente un usuario de dominio federado o administrado de Microsoft Entra:
CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;
Una cuenta de usuario de dominio federado que se importa en un dominio administrado como un usuario externo debe usar la identidad del dominio administrado.
Consideraciones sobre nombres
No se admiten caracteres especiales, como los dos puntos (:) o el ampersand (&), cuando se incluyen como nombres de usuario en el T-SQL y en sus instrucciones.
Microsoft Entra ID y Azure SQL difieren en su diseño de administración de usuarios de una manera clave: Microsoft Entra ID permite que los nombres para mostrar dentro de un inquilino se dupliquen, mientras que Azure SQL requiere que todos los principales de servidor en un servidor o instancia y todos los principales de base de datos en una base de datos tengan un nombre único. Dado que Azure SQL usa directamente el nombre para mostrar de Microsoft Entra de la identidad al crear principales, esto puede producir errores al crear usuarios. Para solucionar este problema, Azure SQL ha publicado la mejora de WITH OBJECT_ID actualmente en versión preliminar, lo que permite a los usuarios especificar el identificador de objeto Microsoft Entra de la identidad que se va a agregar al servidor o a la instancia.
permisos de Microsoft Graph
El comando CREATE USER ... FROM EXTERNAL PROVIDER requiere el acceso de Azure SQL a Microsoft Entra ID (el "proveedor externo") en nombre del usuario que ha iniciado sesión. A veces, surgen circunstancias que hacen que Microsoft Entra ID devuelvan una excepción a Azure SQL.
- Es posible que encuentre el error 33134 de SQL, que contiene el mensaje de error específico del Microsoft Entra ID. El error suele indicar que se deniega el acceso, que el usuario debe inscribirse en MFA para acceder al recurso, o que el acceso entre las aplicaciones propias debe controlarse con autorización previa. En los dos primeros casos, el problema suele deberse a directivas de acceso condicional que se establecen en el inquilino de Microsoft Entra del usuario: impiden que el usuario acceda al proveedor externo. La actualización de las directivas de acceso condicional para permitir el acceso a la aplicación "00000003-0000-0000-c0000-000000000000" (el identificador de aplicación de Microsoft Graph API) debe resolver el problema. Si el error indica que el acceso entre las aplicaciones propias debe controlarse con autorización previa, el problema se debe a que el usuario ha iniciado sesión como entidad de servicio. El comando debería tener éxito si es ejecutado por un usuario.
- Si recibe un Tiempo de espera de conexión expirado, es posible que tenga que establecer el parámetro
TransparentNetworkIPResolutiondel cadena de conexión en false. Para obtener más información, consulte Problema de tiempo de espera de conexión con .NET Framework 4.6.1 - TransparentNetworkIPResolution.
Para obtener más información sobre cómo crear usuarios de base de datos independientes basados en identidades de Microsoft Entra, vea CREATE USER.
Configuración de la autenticación multifactor
Para mejorar la seguridad del recurso de Azure SQL, considere la posibilidad de configurar multifactor authentication (MFA), que pide al usuario que use un segundo método alternativo para autenticarse en la base de datos, como una llamada telefónica o una aplicación autenticadora.
Para usar la autenticación multifactor con el recurso de Azure SQL, primero enable multifactor authentication y, a continuación, use una directiva de acceso Conditional para aplicar MFA para el recurso de Azure SQL.
Conexión con Microsoft Entra
Una vez configurada la autenticación de Microsoft Entra, puede usarla para conectarse al recurso SQL con herramientas de Microsoft, como SQL Server Management Studio y SQL Server Data Tools, y configurar aplicaciones cliente para conectarse mediante identidades de Microsoft Entra.
Solución de problemas para la autenticación de Microsoft Entra
Para obtener instrucciones sobre cómo solucionar problemas, consulte Blog: Solución de problemas relacionados con la autenticación de Microsoft Entra con Azure SQL Database y Azure Synapse.
Contenido relacionado
- Autorizar el acceso a las bases de datos SQL Database, SQL Managed Instance y Azure Synapse Analytics
- Identidades administradas en Microsoft Entra para Azure SQL
- Microsoft Entra entidades de servicio con Azure SQL
- Responsables
- Roles de base de datos
- Azure SQL Database y reglas de firewall de IP de Azure Synapse
- Crear Microsoft Entra usuarios invitados y establecerlos como administrador de Microsoft Entra
- Tutorial: crear usuarios de Microsoft Entra mediante aplicaciones de Microsoft Entra