SQL Server 2008的選擇身份驗證模式

iSQlServer發表於2008-11-25

在安裝過程中,必須為資料庫引擎選擇身份驗證模式。可供選擇的模式有兩種: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 的計算機上的本地管理員許可權。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-503161/,如需轉載,請註明出處,否則將追究法律責任。

相關文章