如何確保在建立到 SQL Server 2005 執行個體的遠端連線時使用 Kerberos 身分識別驗證
Source: http://support.microsoft.com/kb/909801
本文介紹了如何確保在建立到 Microsoft SQL Server 2005 執行個體的遠端連線時,使用 Kerberos 身分識別驗證作為 Microsoft Windows 驗證方法。
如果您使用的是 Windows 整合身分識別驗證而非 SQL 身分識別驗證,SQL Server 2005 會通過 Windows 安全性支援提供者介面 (SSPI) 間接支援 Kerberos 身分識別驗證。但是,當 SQL Server 可以使用 SSPI 來協商要使用的身分識別驗證協議時,在特定情況下 SQL Server 將只使用 Kerberos 身分識別驗證。如果 SQL Server 無法使用 Kerberos 身分識別驗證,Windows 將會使用 NTLM 身分識別驗證。出於安全考慮,我們建議您使用 Kerberos 身分識別驗證,而不要使用 NTLM 身分識別驗證。管理員和使用者應當知道如何確保他們是使用 Kerberos 身分識別驗證進行遠端連線。
要使用 Kerberos 身分識別驗證,必須確保滿足下列所有條件:
- 伺服器和用戶端電腦都必須是同一 Windows 域的成員或可信任域的成員。
- 伺服器的服務主體名稱 (SPN) 必須在 Active Directory 目錄服務中進行註冊。
- SQL Server 2005 執行個體必須啟用 TCP/IP 協議。
- 用戶端必須使用 TCP/IP 協議串連到 SQL Server 2005 執行個體。例如,您可以將 TCP/IP 協議放在用戶端協議順序的最前面。或者,您可以在連接字串中添加首碼“tcp:”,以指定串連將使用 TCP/IP 協議。
如何在域中註冊 SPN
串連到一個 SQL Server 2005 執行個體後,在 SQL Server Management Studio 中運行以下 Transact-SQL 陳述式:
select auth_scheme from sys.dm_exec_connections where session_id=@@spid
如果 SQL Server 使用的是 Kerberos 身分識別驗證,則結果視窗的 auth_scheme 列中會出現“KERBEROS”的字串。
有關更多資訊,請參見 Microsoft SQL Server 2005 聯機叢書中的以下主題:
- 服務主體名稱註冊
- 如何在伺服器叢集上啟用包括 SQL Server 虛擬伺服器的 Kerberos 身分識別驗證
這篇文章中的資訊適用於:
- Microsoft SQL Server 2005 Standard Edition
- Microsoft SQL Server 2005 Developer Edition
- Microsoft SQL 2005 Server Enterprise
- Microsoft SQL 2005 Server Workgroup
- Microsoft SQL Server 2005 Express Edition
關鍵字: |
kbinfo kbsql2005connect KB909801 |
Microsoft和/或其各供應商對於為任何目的而在本伺服器上發布的檔案及有關圖形所含資訊的適用性,不作任何聲明。 所有該等檔案及有關圖形均"依樣"提供,而不帶任何性質的保證。Microsoft和/或其各供應商特此聲明,對所有與該等資訊有關的保證和條件不負任何責任,該等保證和條件包括關於適銷性、符合特定用途、所有權和非侵權的所有默示保證和條件。在任何情況下,在由於使用或運行本伺服器上的資訊所引起的或與該等使用或運行有關的訴訟中,Microsoft和/或其各供應商就因喪失使用、資料或利潤所導致的任何特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤不負任何責任。