Come assicurarsi che si utilizza l'autenticazione Kerberos quando si crea una connessione remota a un'istanza di SQL Server 2005

INTRODUZIONE

In questo articolo viene descritto come verificare che si utilizza l'autenticazione Kerberos come metodo di autenticazione Microsoft Windows quando si crea una connessione remota a un'istanza di Microsoft SQL Server 2005.

Ulteriori informazioni

Quando si utilizza l'autenticazione integrata di Windows anziché l'autenticazione SQL, SQL Server 2005 supporta l'autenticazione Kerberos indirettamente tramite il Windows Provider interfaccia SSPI (Security Support). Tuttavia, SQL Server utilizzerà solo in determinate circostanze l'autenticazione Kerberos in SQL Server possono utilizzare SSPI per negoziare il protocollo di autenticazione da utilizzare. Se SQL Server è possibile utilizzare l'autenticazione Kerberos, Windows utilizza l'autenticazione NTLM. Per motivi di sicurezza, si consiglia di utilizzare l'autenticazione Kerberos anziché l'autenticazione NTLM. Gli amministratori e gli utenti devono sapere per assicurarsi che utilizzano l'autenticazione Kerberos per le connessioni remote.

Per utilizzare l'autenticazione Kerberos, è necessario assicurarsi che tutte le seguenti condizioni sono vere:
  • Il server sia i computer client devono essere membri dello stesso dominio Windows o membri di domini trusted.
  • Nome principale del server del servizio (SPN) deve essere registrato nel servizio directory Active Directory.
  • L'istanza di SQL Server 2005 è necessario abilitare il protocollo TCP/IP.
  • Il client deve connettersi all'istanza di SQL Server 2005 utilizzando il protocollo TCP/IP. Ad esempio, è possibile inserire nella parte superiore dell'ordine di protocollo del client TCP / IP. È possibile aggiungere il prefisso "tcp:" nella stringa di connessione per specificare che la connessione utilizzerà il protocollo TCP/IP.

Come registrare un nome SPN in un dominio

Quando si registra un SPN per un servizio di SQL Server, si crea essenzialmente un mapping tra un SPN e l'account di Windows che ha avviato il servizio dell'istanza server.

Poiché il client deve utilizzare un nome SPN registrato per connettersi all'istanza del server, è necessario registrare il nome SPN. il SPN è composto utilizzando il nome del computer server e la porta TCP/IP. Se non si registra il SPN, SSPI non può determinare l'account associato il nome SPN. Pertanto, non essere utilizzata l'autenticazione Kerberos.


Quando SQL Server viene eseguito con l'account sistema locale o un account di amministratore di dominio, l'istanza registrerà automaticamente il SPN nel formato seguente all'avvio dell'istanza:
MSSQLSvc/FQDN:tcpport
Nota: Nome di dominio completo è il nome di dominio completo del server. TcpPort è il numero di porta TCP/IP.

Poiché il numero di porta TCP è incluso in SPN, SQL Server deve abilitare il protocollo TCP/IP per un utente di connettersi utilizzando l'autenticazione Kerberos. Le stesse regole valide per le configurazioni cluster. Inoltre, se l'istanza viene registrato automaticamente un SPN avvio dell'istanza, il SPN sarà annullata automaticamente quando si arresta l'istanza.

Solo un account di amministratore di dominio o l'account di sistema locale dispone delle autorizzazioni necessarie per registrare un SPN. Pertanto, se il servizio SQL Server viene avviato con un account non amministratore, SQL Server Impossibile registrare il nome SPN per l'istanza. Questo comportamento non impedirà l'istanza di avvio. Tuttavia, cui verrà registrato il seguente messaggio nel registro applicazione del registro eventi di Windows: se questo messaggio viene registrato, è necessario registrare manualmente il nome SPN per l'istanza con un account di amministratore di dominio per utilizzare l'autenticazione Kerberos. Per registrare il SPN, è possibile utilizzare il SetSPN.exe. exe incluso in Microsoft Windows 2000 Server Resource Kit. Questo strumento è incluso in strumenti di supporto di Microsoft Windows Server 2003. Strumenti di supporto di Windows Server 2003 sono inclusi in Microsoft Windows Server 2003 Service Pack 1 (SP1).


Per ulteriori informazioni su come ottenere strumenti di supporto di Windows Server 2003 Service Pack 1, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

892777 Windows Server 2003 Service Pack 1 Support Tools

È possibile utilizzare un comando simile al seguente per registrare un SPN per un'istanza:
SetSPN – MSSQLSvc nel caso / < nomecomputer >. < Nomedominio >: < nome account > 1433
Nota: Se esiste già un SPN, è necessario eliminare il nome SPN prima è possibile registrare nuovamente. Potrebbe essere necessario eseguire questa operazione se è stato modificato il mapping dell'account. Eliminare un SPN esistente, è possibile utilizzare lo strumento di SetSPN.exe con l'opzione -D .

Come assicurarsi che si sta utilizzando l'autenticazione Kerberos

Dopo che si è connessi a un'istanza di SQL Server 2005, è possibile eseguire la seguente istruzione Transact-SQL in SQL Server Management Studio:
select auth_scheme from sys.dm_exec_connections where session_id=@@spid
Se SQL Server utilizza l'autenticazione Kerberos, nella colonna auth_scheme nella finestra risultato della stringa di caratteri che è elencata come "KERBEROS".

Riferimenti

Per ulteriori informazioni, vedere gli argomenti seguenti in Microsoft SQL Server 2005 Books Online:
  • Registrazione del nome principale servizio
  • Come abilitare l'autenticazione Kerberos tra i server virtuali SQL Server nei cluster di server
Proprietà

ID articolo: 909801 - Ultima revisione: 30 gen 2017 - Revisione: 1

Feedback