身份验证是任何安全策略的关键方面。它是证明特定人的身份真实、有效或真实的过程或行为。简而言之,它是一种确定某人或某物是否是其实际声称的行为的行为。
对于 Microsoft SQL Server,有两种不同的身份验证模式,即 Windows 模式和混合模式。这两种模式决定了系统如何验证或识别特定用户。
如果选择Windows认证方式,实际上是禁用SQL认证方式,允许Windows认证方式。另一方面,如果您选择混合身份验证模式,则它允许 Windows 和 SQL Server 身份验证模式。这是因为无法禁用 Windows 身份验证模式。它始终保持活动状态。
在这篇博文中,我们将讨论 Windows 身份验证模式和 SQL Server 身份验证模式之间的区别。但首先,让我们了解这些身份验证模式的确切含义。
那么,让我们开始我们的讨论吧!
什么是 Windows 身份验证模式?
当您为 MS 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 帐户的登录凭据连接到 SQL Server。 | 此模式允许您通过特定于 SQL Server 的凭据连接到 SQL Server。 |
| 它比 SQL Server 身份验证模式更安全。 | 它不如 SQL Server 身份验证模式安全。 |
| 此模式使用 Kerberos 安全协议。 | 此模式不使用 Kerberos 安全协议。 |
| Windows 提供更高级的密码策略。 | 高级密码策略不适用于 SQL Server 身份验证模式。 |
| 在这种模式下,SQL Server 不负责存储您的凭据。 | SQL Server 帐户的登录凭据存储在 SQL Server 中。 |
结论
这使我们对 Windows 和 SQL Server 身份验证模式之间的差异的讨论结束。 在 Windows 身份验证模式下,您可以通过 Windows 帐户连接到 SQL Server。 另一方面,SQL Server 身份验证模式要求您创建存储在 SQL Server 中的新用户名和密码。 由于 Windows 身份验证模式支持 Kerberos 协议,因此比 SQL Server 身份验证模式更安全。
原文标题:Differences Between Windows and SQL Server Authentication
原文作者:Lokesh Joshi
原文地址:https://dzone.com/articles/differences-between-windows-and-sql-server-authentication




