作者丨Lokesh Joshi
译者 | 康少京
审校丨Noe
身份验证是份验任何安全策略的关键。它可以保证特定人的差异身份真实有效 ,并且行为过程也具有一定的份验真实性 。简而言之 ,差异它是份验一种确定某人或某物是否“恰如其名”的行为 。
对于微软SQL Server ,差异有两种不同的份验身份验证模式,即Windows模式和混合模式 。差异这两种模式决定了系统如何验证或识别特定用户 。免费模板份验
如果选择Windows认证方式 ,差异实际上是份验禁用SQL认证方式 ,允许Windows认证方式 。差异另一方面,份验如果你选择混合身份验证模式,差异相当于允许Windows和SQL Server身份验证模式。份验因为无法禁用 Windows 身份验证模式,它始终保持活跃的状态 。
在本篇文章中,我们将讨论Windows身份验证模式和SQL Server身份验证模式之间的区别。首先 ,我们了解这些身份验证模式的确切含义 。源码库
为微软SQL Server选择Windows身份验证模式时,必须提供Windows帐户的登录凭据才能访问数据库服务器 。基本上 ,此模式不会根据特定SQL的登录凭据对用户进行身份验证 。相反 ,它会根据用户的Windows帐户验证用户的身份 。
这种模式背后的主要思想是 ,首先 ,你需要在Active Directory中对自己进行身份验证 。亿华云稍后 ,SQL Server通过操作系统中的Windows主体令牌验证你的身份。
在这种身份验证模式下,SQL Server的用户身份验证依赖于Windows操作系统 。因此,它有时也称为集成安全性。
当你使用Windows身份验证模式连接到SQL Server时,SQL Server不会验证你的身份。相反,Windows会完成这一切 ,因为它是默认的源码下载身份验证模式 。另外,这种模式比SQL Server身份验证模式更安全 。
优点
Windows身份验证模式利用Kerberos身份验证协议。因此 ,它是连接到SQL Server的一种安全方法。它利用令牌和服务主体名称 (SPN) 来验证用户的身份 。
该模式不会通过网络传输你的密码 。因此,它可以保护你的密码不被盗。使用此模式时 ,云计算SQL Server不会保存你的登录凭据。由于此模式利用Kerberos安全协议 ,你可以实施各种密码策略,包括密码过期 、帐户锁定和复杂密码。缺点
当你选择Windows身份验证模式连接到SQL Server时 ,所有用户都必须是Active Directory的一部分。数据库管理员对Active Directory登录没有任何控制权 。在SQL Server身份验证模式下 ,用户名和密码是在SQL Server中创建的 ,模板下载而不是基于Windows帐户 。使用此身份验证模式时,你将创建不同的用户名和密码并将其保存在SQL Server中 。
每当你需要连接到SQL Server时 ,都必须提供存储在SQL Server中的登录凭据 。这与Windows帐户的凭据无关。另外,需要注意的是 ,必须为你的SQL Server帐户设置一个安全性强的用户名和密码。
对于SQL Server登录,可以使用三种可选的密码策略,如下所示 :
用户应在下次连接到SQL Server时更改密码。你还可以强制执行密码过期策略 ,在密码过期后需要更改密码。第三个选项是对SQL Server登录强制执行Windows登录策略 。它需要冗长的密码和复杂性。优点
该模式使SQL Server能够支持需要SQL Server身份验证的旧应用程序和第三方应用程序 。它允许SQL Server支持具有混合操作系统的环境。允许任何用户连接到SQL Server 。SQL Server支持网站并允许用户创建自己的身份 。缺点
每次要连接到SQL Server时,都需要提供登录凭据 。你需要记住用户名和密码 。如果你有多个SQL Server实例 ,那么记住所有这些凭据会变得很困难。黑客有可能会窃取你的凭据 ,因为它们以加密形式存储在主数据库中 。不使用Kerberos安全协议。下表重点介绍了Windows身份验证模式和SQL Server身份验证模式的区别:

我们对Windows和SQL Server身份验证模式之间的差异的就先讨论到这 。在Windows身份验证模式下 ,你可以通过Windows帐户连接到SQL Server。另一方面,SQL Server身份验证模式要求你创建存储在SQL Server中的新用户名和密码。由于Windows身份验证模式支持Kerberos协议,因此比SQL Server身份验证模式更安全 。
原文链接:
https://dzone.com/articles/differences-between-windows-and-sql-server-authentication
康少京,51CTO社区编辑,目前从事通讯类行业 ,底层驱动开发岗位,研究过数据结构,Python,现对操作系统和数据库等相关领域感兴趣 。