Compartilhar via


Solução de problemas de Autenticação do Windows para as entidades de segurança do Microsoft Entra na Instância Gerenciada de SQL do Azure?

Este artigo contém etapas de solução de problemas a serem usadas durante a implementação das entidades de segurança de Autenticação do Windows no Microsoft Entra ID (antigo Azure Active Directory).

Observação

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

Verificar se os tíquetes estão sendo armazenados em cache

Use o comando klist para exibir uma lista de tíquetes Kerberos atualmente armazenados em cache.

O comando klist get krbtgt deve retornar um tíquete do realm do Active Directory local.

klist get krbtgt/kerberos.microsoftonline.com

O comando klist get MSSQLSvc deve retornar um tíquete do realm kerberos.microsoftonline.com com um SPN (nome da entidade de serviço) para MSSQLSvc/<miname>.<dnszone>.database.windows.net:1433.

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

Estes são alguns códigos de erro bem conhecidos:

  • 0x6fb: SQL SPN não encontrado – verifique se você inseriu um SPN válido. Se você tiver implementado o fluxo de autenticação baseado em confiança de entrada, visite novamente as etapas para criar e configurar o objeto de domínio confiável do Kerberos do Microsoft Entra para validar que você executou todas as etapas de configuração.

  • 0x51f - esse erro provavelmente está relacionado a um conflito com a ferramenta Fiddler. Para atenuar o problema, siga estas etapas:

    1. Execute netsh winhttp reset autoproxy
    2. Execute netsh winhttp reset proxy
    3. No Registro do Windows, localize Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\iphlpsvc\Parameters\ProxyMgr e exclua qualquer subentidade que tenha uma configuração com uma porta :8888
    4. Reinicialize o computador e tente novamente usando a Autenticação do Windows
  • 0x52f – Indica que um nome de usuário referenciado e informações de autenticação são válidos, mas alguma restrição de conta de usuário impediu a autenticação bem-sucedida. Isso pode acontecer se você tiver uma política de acesso condicional do Microsoft Entra configurada. Para mitigar o problema, exclua o aplicativo Instância Gerenciada de SQL do Azure Entidade de Serviço (denominado <instance name> principal) nas regras de acesso condicional.

Investigar falhas de fluxo de mensagens

Use o Wireshark ou o analisador de tráfego de rede de sua escolha para monitorar o tráfego entre o cliente e o KDC (centro de distribuição de chaves) do Kerberos local.

Ao usar o Wireshark, o seguinte é esperado:

  • AS-REQ: Client = > KDC local = > retorna um TGT local.
  • TGS-REQ: Client = > KDC local = > retorna referência a kerberos.microsoftonline.com.

Pool de conexões

Quando o pool de conexões está habilitado, o driver gerencia conexões SQL mantendo-as abertas em um pool para reutilização, em vez de fechá-las. Isso pode levar a um cenário em que uma conexão é reutilizada após uma invalidação do cache de segurança, fazendo com que o tíquete Kerberos seja revalidado. Se a conexão estiver no pool por mais de cinco minutos, o tíquete será tratado como expirado, resultando em uma falha de conexão. Para evitar isso, defina o tempo de vida da conexão para menos de cinco minutos na cadeia de conexão. Essa alteração garante que as conexões mais antigas do que o tempo de vida especificado não sejam reutilizados do pool.

Saiba mais sobre como implementar a Autenticação do Windows para entidades de segurança do Microsoft Entra na Instância Gerenciada de SQL do Azure: