Windows和SQL Server身份验证之间的差异

译文 精选
安全
本文主要讨论Windows和SQL Server身份验证之间的区别,Windows身份验证模式和SQL Server身份验证模式不同。


作者丨Lokesh Joshi

译者 | 康少京

审校丨Noe

  身份验证是任何安全策略的关键。它可以保证特定人的身份真实有效,并且行为过程也具有一定的真实性。简而言之,它是一种确定某人或某物是否“恰如其名”的行为。

  对于微软SQL Server,有两种不同的身份验证模式,即Windows模式和混合模式。这两种模式决定了系统如何验证或识别特定用户。

      如果选择Windows认证方式,实际上是禁用SQL认证方式,允许Windows认证方式。另一方面,如果你选择混合身份验证模式,相当于允许Windows和SQL Server身份验证模式。因为无法禁用 Windows 身份验证模式,它始终保持活跃的状态。

  在本篇文章中,我们将讨论Windows身份验证模式和SQL Server身份验证模式之间的区别。首先,我们了解这些身份验证模式的确切含义。

什么是 Windows身份验证模式?

       为微软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身份验证模式下,用户名和密码是在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和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,现对操作系统和数据库等相关领域感兴趣。

责任编辑:张洁 来源: 51CTO技术栈
相关推荐

2010-10-22 14:59:22

2010-06-17 16:59:51

SQL Server身

2011-06-20 14:37:23

2010-06-28 11:28:26

2021-07-19 10:10:15

身份验证漏洞Windows Hel

2010-07-09 15:24:29

2009-11-13 10:20:44

2010-09-06 11:24:47

CHAP验证PPP身份验证

2010-07-17 00:57:52

Telnet身份验证

2011-02-21 10:54:45

2013-07-21 18:32:13

iOS开发ASIHTTPRequ

2012-04-10 09:36:58

2017-09-01 12:38:20

windows服务器windows 200

2012-10-23 16:12:35

2022-10-31 10:00:00

2009-04-09 23:44:08

软件身份验证用户

2010-07-19 17:30:47

2020-12-17 08:10:19

身份验证授权微服务

2010-11-03 16:07:38

DB2身份验证

2010-11-30 15:31:38

SharePoint Kerberos
点赞
收藏

51CTO技术栈公众号