Compartir a través de


Solución de problemas con la autenticación de Windows para las entidades de seguridad de Microsoft Entra en Azure SQL Managed Instance

Este artículo contiene los pasos de solución de problemas para su uso al implementar entidades de seguridad de autenticación de Windows en el identificador de Microsoft Entra (antes llamado Azure Active Directory).

Nota:

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

Comprobación de que los vales se almacenan en caché

Utilice el comando klist para mostrar una lista de los vales de Kerberos que actualmente están almacenados en caché.

El comando klist get krbtgt debe devolver un vale del dominio de Active Directory local.

klist get krbtgt/kerberos.microsoftonline.com

El comando klist get MSSQLSvc debe devolver un vale del dominio kerberos.microsoftonline.com con un nombre de entidad de seguridad de servicio (SPN) a MSSQLSvc/<miname>.<dnszone>.database.windows.net:1433.

klist get MSSQLSvc/<miname>.<dnszone>.database.windows.net:1433

Estos son algunos códigos de error conocidos:

  • 0x6fb: No se encuentra SPN SQL: compruebe que escribió un SPN válido. Si implementó el flujo de autenticación basado en la confianza de entrada, revise los pasos para crear y configurar el objeto de dominio de confianza Kerberos de Microsoft Entra para validar que completó todos los pasos de configuración.

  • 0x51f: este error probablemente está relacionado con un conflicto con la herramienta Fiddler. Para mitigar el problema, siga estos pasos:

    1. Ejecute netsh winhttp reset autoproxy:
    2. Ejecute netsh winhttp reset proxy:
    3. En el Registro de Windows, busque Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\iphlpsvc\Parameters\ProxyMgr y elimine cualquier subentrada que tenga una configuración con un puerto :8888.
    4. Reinicie la máquina e inténtelo de nuevo con la autenticación de Windows
  • 0x52f: indica que la información de autenticación y el nombre de usuario a los que se hace referencia son válidos, pero algunas restricciones de la cuenta de usuario han impedido que la autenticación se realice correctamente. Esto puede ocurrir si tiene configurada una directiva de acceso condicional de Microsoft Entra. Para mitigar el problema, debe excluir la aplicación de la entidad de servicio de Azure SQL Managed Instance (denominada <instance name> principal) en las reglas de acceso condicional.

Investigación de los errores del flujo de mensajes

Use Wireshark o el analizador de tráfico que prefiera para supervisar el tráfico entre el cliente y el Centro de distribución de claves (KDC) de Kerberos local.

Al usar Wireshark, se espera que ocurra lo siguiente:

  • AS-REQ: Client => KDC local => devuelve un TGT local.
  • TGS-REQ: Client => KDC local => devuelve una referencia a kerberos.microsoftonline.com.

Agrupación de conexiones

Cuando se habilita la agrupación de conexiones, el controlador administra las conexiones SQL al mantenerlas abiertas en un grupo para su reutilización, en lugar de cerrarlas. Esto puede provocar un escenario en el que se reutiliza una conexión después de una invalidación de la caché de seguridad, lo que hace que se vuelva a validar el vale de Kerberos. Si la conexión ha estado en el grupo durante más de cinco minutos, el vale se trata como expirado, lo que produce un error de conexión. Para evitar esto, establezca la duración de la conexión en menos de cinco minutos en la cadena de conexión. Este cambio garantiza que las conexiones anteriores a la duración especificada no se reutilizan desde el grupo.

Obtenga más información sobre la implementación de la autenticación de Windows para entidades de seguridad de Microsoft Entra en Azure SQL Managed Instance: