作者丨Lokesh Joshi
譯者 | 康少京
審校丨Noe
身份驗證是任何安全策略的關(guān)鍵。它可以保證特定人的身份真實有效,并且行為過程也具有一定的真實性。簡而言之,它是一種確定某人或某物是否“恰如其名”的行為。
對于微軟SQL Server,有兩種不同的身份驗證模式,即Windows模式和混合模式。這兩種模式?jīng)Q定了系統(tǒng)如何驗證或識別特定用戶。
如果選擇Windows認(rèn)證方式,實際上是禁用SQL認(rèn)證方式,允許Windows認(rèn)證方式。另一方面,如果你選擇混合身份驗證模式,相當(dāng)于允許Windows和SQL Server身份驗證模式。因為無法禁用 Windows 身份驗證模式,它始終保持活躍的狀態(tài)。
在本篇文章中,我們將討論Windows身份驗證模式和SQL Server身份驗證模式之間的區(qū)別。首先,我們了解這些身份驗證模式的確切含義。
什么是 Windows身份驗證模式?
為微軟SQL Server選擇Windows身份驗證模式時,必須提供Windows帳戶的登錄憑據(jù)才能訪問數(shù)據(jù)庫服務(wù)器?;旧希四J讲粫鶕?jù)特定SQL的登錄憑據(jù)對用戶進(jìn)行身份驗證。相反,它會根據(jù)用戶的Windows帳戶驗證用戶的身份。
這種模式背后的主要思想是,首先,你需要在Active Directory中對自己進(jìn)行身份驗證。稍后,SQL Server通過操作系統(tǒng)中的Windows主體令牌驗證你的身份。
在這種身份驗證模式下,SQL Server的用戶身份驗證依賴于Windows操作系統(tǒng)。因此,它有時也稱為集成安全性。
當(dāng)你使用Windows身份驗證模式連接到SQL Server時,SQL Server不會驗證你的身份。相反,Windows會完成這一切,因為它是默認(rèn)的身份驗證模式。另外,這種模式比SQL Server身份驗證模式更安全。
優(yōu)點
- Windows身份驗證模式利用Kerberos身份驗證協(xié)議。因此,它是連接到SQL Server的一種安全方法。它利用令牌和服務(wù)主體名稱 (SPN) 來驗證用戶的身份。
- 該模式不會通過網(wǎng)絡(luò)傳輸你的密碼。因此,它可以保護(hù)你的密碼不被盜。
- 使用此模式時,SQL Server不會保存你的登錄憑據(jù)。
- 由于此模式利用Kerberos安全協(xié)議,你可以實施各種密碼策略,包括密碼過期、帳戶鎖定和復(fù)雜密碼。
缺點
- 當(dāng)你選擇Windows身份驗證模式連接到SQL Server時,所有用戶都必須是Active Directory的一部分。
- 數(shù)據(jù)庫管理員對Active Directory登錄沒有任何控制權(quán)。
什么是SQL Server身份驗證模式?
在SQL Server身份驗證模式下,用戶名和密碼是在SQL Server中創(chuàng)建的,而不是基于Windows帳戶。使用此身份驗證模式時,你將創(chuàng)建不同的用戶名和密碼并將其保存在SQL Server中。
每當(dāng)你需要連接到SQL Server時,都必須提供存儲在SQL Server中的登錄憑據(jù)。這與Windows帳戶的憑據(jù)無關(guān)。另外,需要注意的是,必須為你的SQL Server帳戶設(shè)置一個安全性強(qiáng)的用戶名和密碼。
對于SQL Server登錄,可以使用三種可選的密碼策略,如下所示:
- 用戶應(yīng)在下次連接到SQL Server時更改密碼。
- 你還可以強(qiáng)制執(zhí)行密碼過期策略,在密碼過期后需要更改密碼。
- 第三個選項是對SQL Server登錄強(qiáng)制執(zhí)行Windows登錄策略。它需要冗長的密碼和復(fù)雜性。
優(yōu)點
- 該模式使SQL Server能夠支持需要SQL Server身份驗證的舊應(yīng)用程序和第三方應(yīng)用程序。
- 它允許SQL Server支持具有混合操作系統(tǒng)的環(huán)境。
- 允許任何用戶連接到SQL Server。
- SQL Server支持網(wǎng)站并允許用戶創(chuàng)建自己的身份。
缺點
- 每次要連接到SQL Server時,都需要提供登錄憑據(jù)。
- 你需要記住用戶名和密碼。如果你有多個SQL Server實例,那么記住所有這些憑據(jù)會變得很困難。
- 黑客有可能會竊取你的憑據(jù),因為它們以加密形式存儲在主數(shù)據(jù)庫中。
- 不使用Kerberos安全協(xié)議。
Windows身份驗證模式與SQL Server身份驗證模式
下表重點介紹了Windows身份驗證模式和SQL Server身份驗證模式的區(qū)別:

結(jié)論
我們對Windows和SQL Server身份驗證模式之間的差異的就先討論到這。在Windows身份驗證模式下,你可以通過Windows帳戶連接到SQL Server。另一方面,SQL Server身份驗證模式要求你創(chuàng)建存儲在SQL Server中的新用戶名和密碼。由于Windows身份驗證模式支持Kerberos協(xié)議,因此比SQL Server身份驗證模式更安全。
原文鏈接:
https://dzone.com/articles/differences-between-windows-and-sql-server-authentication
譯者介紹
康少京,51CTO社區(qū)編輯,目前從事通訊類行業(yè),底層驅(qū)動開發(fā)崗位,研究過數(shù)據(jù)結(jié)構(gòu),Python,現(xiàn)對操作系統(tǒng)和數(shù)據(jù)庫等相關(guān)領(lǐng)域感興趣。




















