Share via


Usando a Autenticação Kerberos com o SQL Server

Para usar a autenticação Kerberos com o SQL Server, é preciso satisfazer estas duas condições:

  • Os computadores cliente e servidor devem fazer parte do mesmo domínio do Windows ou de domínios confiáveis.

  • Um SPN (Nome da Entidade de Serviço) deve ser registrado no Active Directory, o qual assume a função do Centro de Distribuição de Chaves em um domínio Windows. O SPN, depois de registrado, é mapeado para a conta do Windows que iniciou o serviço da instância do SQL Server. Se o registro do SPN não foi realizado ou falhou, a camada de segurança do Windows não poderá determinar a conta associada ao SPN e a autenticação Kerberos não será utilizada.

    ObservaçãoObservação

    Se o servidor não puder registrar automaticamente o SPN, será necessário registrá-lo manualmente.

É possível verificar se uma conexão está usando Kerberos consultando a exibição de gerenciamento dinâmico sys.dm_exec_connections. Execute a consulta a seguir e verifique o valor da coluna auth_scheme, que será "KERBEROS" se Kerberos estiver habilitado.

SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@spid ;

A função do SPN na autenticação

Quando um aplicativo abre uma conexão e usa a Autenticação do Windows, o SQL Server Native Client passa o nome de servidor, o nome da instância e, opcionalmente, um SPN do SQL Server. Se a conexão passar um SPN, ele será usado sem qualquer alteração.

Se a conexão não passar um SPN, um SPN padrão será construído a partir do protocolo usado, do nome do servidor e do nome da instância.

Em ambos os casos, o SPN é enviado ao centro de distribuição de chave para obter um token de segurança para autenticar a conexão. Se não for possível obter um token de segurança, a autenticação usará o NTLM.