Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows教程綜合 >> 系統常見問題解答 >> Windows身份驗證模式和混合模式的區別

Windows身份驗證模式和混合模式的區別

日期:2017/1/20 17:47:12      編輯:系統常見問題解答

某日,A君問起Windows身份驗證模式和混合模式驗證的區別與優缺時,根據安全性的考慮,按照到了此文作為參考,學習下~

  在安裝過程中,必須為數據庫引擎選擇身份驗證模式。 可供選擇的模式有兩種:Windows 身份驗證模式和混合模式。 Windows 身份驗證模式會啟用 Windows 身份驗證並禁用 SQL Server 身份驗證。 混合模式會同時啟用 Windows 身份驗證和 SQL Server 身份驗證。 Windows 身份驗證始終可用,並且無法禁用。

  配置身份驗證模式

  如果在安裝過程中選擇混合模式身份驗證,則必須為名為 sa 的內置 SQL Server 系統管理員帳戶提供一個強密碼並確認該密碼。 sa 帳戶通過使用 SQL Server 身份驗證進行連接。

  如果在安裝過程中選擇 Windows 身份驗證,則安裝程序會為 SQL Server 身份驗證創建 sa 帳戶,但會禁用該帳戶。 如果稍後更改為混合模式身份驗證並要使用 sa 帳戶,則必須啟用該帳戶。 您可以將任何 Windows 或 SQL Server 帳戶配置為系統管理員。 由於 sa 帳戶廣為人知且經常成為惡意用戶的攻擊目標,因此除非應用程序需要使用 sa 帳戶,否則請勿啟用該帳戶。 切勿為 sa 帳戶設置空密碼或弱密碼。若要從 Windows 身份驗證模式更改為混合模式身份驗證並使用 SQL Server 身份驗證,請參閱更改服務器身份驗證模式。

  通過 Windows 身份驗證進行連接

  當用戶通過 Windows 用戶帳戶連接時,SQL Server 使用操作系統中的 Windows 主體標記驗證帳戶名和密碼。 也就是說,用戶身份由 Windows 進行確認。 SQL Server 不要求提供密碼,也不執行身份驗證。 Windows 身份驗證是默認身份驗證模式,並且比 SQL Server 身份驗證更為安全。 Windows 身份驗證使用 Kerberos 安全協議,提供有關強密碼復雜性驗證的密碼策略強制,還提供帳戶鎖定支持,並且支持密碼過期。 通過 Windows 身份驗證完成的連接有時也稱為可信連接,這是因為 SQL Server 信任由 Windows 提供的憑據。

  安全說明

  請盡可能使用 Windows 身份驗證。

  通過 SQL Server 身份驗證進行連接

  當使用 SQL Server 身份驗證時,在 SQL Server 中創建的登錄名並不基於 Windows 用戶帳戶。 用戶名和密碼均通過使用 SQL Server 創建並存儲在 SQL Server 中。 通過 SQL Server 身份驗證進行連接的用戶每次連接時必須提供其憑據(登錄名和密碼)。 當使用 SQL Server 身份驗證時,必須為所有 SQL Server 帳戶設置強密碼。

  可供 SQL Server 登錄名選擇使用的密碼策略有三種。

  用戶在下次登錄時必須更改密碼

  要求用戶在下次連接時更改密碼。 更改密碼的功能由 SQL Server Management Studio 提供。 如果使用該選項,則第三方軟件開發人員應提供此功能。

  強制密碼過期

  對 SQL Server 登錄名強制實施計算機的密碼最長使用期限策略。

  強制實施密碼策略

  對 SQL Server 登錄名強制實施計算機的 Windows 密碼策略。 這包括密碼長度和密碼復雜性。 此功能需要通過 NetValidatePasswordPolicy API 實現,該 API 只在 Windows Server 2003 和更高版本中提供。

  確定本地計算機的密碼策略

  在"開始"菜單上,單擊"運行".

  在"運行"對話框中,鍵入 secpol.msc,然後單擊"確定".

  在"本地安全設置"應用程序中,依次展開"安全設置"、"帳戶策略",然後單擊"密碼策略".

  密碼策略將如結果窗格中所示。

  SQL Server 身份驗證的缺點

  如果用戶是具有 Windows 登錄名和密碼的 Windows 域用戶,則還必須提供另一個用於連接的 (SQL Server) 登錄名和密碼。 記住多個登錄名和密碼對於許多用戶而言都較為困難。 每次連接到數據庫時都必須提供 SQL Server 憑據也十分煩人。

  SQL Server 身份驗證無法使用 Kerberos 安全協議。

  SQL Server 登錄名不能使用 Windows 提供的其他密碼策略。

  SQL Server 身份驗證的優點

  允許 SQL Server 支持那些需要進行 SQL Server 身份驗證的舊版應用程序和由第三方提供的應用程序。

  允許 SQL Server 支持具有混合操作系統的環境,在這種環境中並不是所有用戶均由 Windows 域進行驗證。

  允許用戶從未知的或不可信的域進行連接。 例如,既定客戶使用指定的 SQL Server 登錄名進行連接以接收其訂單狀態的應用程序。

  允許 SQL Server 支持基於 Web 的應用程序,在這些應用程序中用戶可創建自己的標識。

  允許軟件開發人員通過使用基於已知的預設 SQL Server 登錄名的復雜權限層次結構來分發應用程序。

  注意

  使用 SQL Server 身份驗證不會限制安裝 SQL Server 的計算機上的本地管理員權限。

Copyright © Windows教程網 All Rights Reserved