
Estou tentando configurar o Kerberos para meu SQL Server (a conta de domínio do mecanismo de banco de dados). Eu executei o seguinte comando:
SETSPN -A MSSQLSvc/MeuServidorDB:1433 MeuDomínio\SQLServerService
Substituindo MyDBServer pelo FQDN do servidor e substituindo MyDomain\SQLServerService pelo nome da minha conta.
Em seguida, executei a consulta:
SELECT s.session_id , c.connect_time , s.login_time , s.login_name , c.protocol_type , c.auth_scheme , s.HOST_NAME , s.program_name FROM sys.dm_exec_sessions s JOIN sys.dm_exec_connections c ON s.session_id = c.session_id
Isso retorna NTLM. Portanto, não é Kerberos. O que estou perdendo? A guia de delegação está disponível para a conta, então o bit spn funcionou perfeitamente. Não é necessário definir algumas configurações na aba de delegação? Já vi isso no caso de configuração do Kerberos para o Sharepoint 2010 (que pretendo configurar).
Obrigado
Responder1
Descobri que preciso registrar SPNs para uma sintaxe diferente para descrever o SQL Server. Por alguma razão, o SQL usa sintaxes diferentes ao longo do caminho para a autenticação. Registre cada um desses formatos.
MSSQLSvc/SqlServerName.perrigo.com:instancename
MSSQLSvc/SqlServerName:instancename
MSSQLSvc/SqlServerName.domainname.com:1433
MSSQLSvc/SqlServerName:1433
MSSQLSvc/SqlServerName.domainname.com
MSSQLSvc/SqlServerName
Responder2
Você testou com uma conexão no localhost?
Parece haver um substituto (provavelmente por motivos de desempenho, já que você não precisa do Kerberos na máquina local) para NTLM em alguns casos de host local, mesmo se você tiver um SPN.
Dê uma olhada em:http://blogs.msdn.com/b/sql_protocols/archive/2006/12/02/understanding-kerberos-and-ntlm-authentication-in-sql-server-connections.aspx