作者:LokeshJoshi译者|KangShaojingReviewer丨Noe 身份验证是任何安全策略的关键。它可以保证特定人的身份真实有效,行为过程也具有一定的真实性。简而言之,它是确定某人或某物是否“名副其实”的行为。 对于MicrosoftSQLServer,有两种不同的认证模式,WindowsMode和MixedMode。这两种模式决定了系统如何验证或识别特定用户。如果选择了Windows认证方式,实际上SQL认证方式被禁用,Windows认证方式被允许。另一方面,如果选择混合认证方式,则相当于允许Windows和SQLServer两种认证方式。由于无法禁用Windows身份验证模式,因此它始终保持活动状态。 在本文中,我们将讨论Windows身份验证模式和SQLServer身份验证模式之间的区别。首先,我们了解这些身份验证模式的确切含义。什么是Windows身份验证模式?MicrosoftSQLServer选择Windows认证方式时,必须提供Windows账号的登录凭证才能访问数据库服务器。基本上,此模式不会根据特定于SQL的登录凭据对用户进行身份验证。相反,它根据用户的Windows帐户对用户进行身份验证。此模式背后的主要思想是,首先,您需要在ActiveDirectory中对自己进行身份验证。稍后,SQLServer通过操作系统中的Windows主体令牌对您进行身份验证。 在这种认证方式下,SQLServer的用户认证依赖于Windows操作系统。因此,它有时被称为集成安全性。当您使用Windows身份验证模式连接到SQLServer时,SQLServer不会对您进行身份验证。相反,Windows会做这一切,因为它是默认的身份验证模式。此外,这种模式比SQLServer认证模式更安全。 优势Windows身份验证模式利用Kerberos身份验证协议。因此,它是一种连接到SQLServer的安全方法。它利用令牌和服务主体名称(SPN)对用户进行身份验证。此模式不会通过网络传输您的密码。因此,它可以保护您的密码不被盗用。使用此模式时,SQLServer不会保存您的登录凭据。由于此模式使用Kerberos安全协议,您可以实施各种密码策略,包括密码过期、帐户锁定和复杂密码。 缺点当您选择Windows身份验证模式连接到SQLServer时,所有用户都必须是ActiveDirectory的一部分。数据库管理员对ActiveDirectory登录没有任何控制权。什么是SQLServer身份验证模式?在SQLServer身份验证模式下,用户名和密码是在SQLServer中创建的,而不是基于Windows帐户。使用这种身份验证方式时,您将创建不同的用户名和密码,并将它们保存在SQLServer中。每当您需要连接到SQLServer时,您都必须提供存储在SQLServer中的登录凭据。这与Windows帐户的凭据无关。另外,需要注意的是,你必须为你的SQLServer账户设置一个强壮的用户名和密码。 对于SQLServer登录,提供了三种可选的密码策略,如下所示:用户应在下次连接到SQLServer时更改密码。您还可以实施密码过期策略,要求在密码过期后更改密码。第三种选择是对SQLServer登录实施Windows登录策略。它需要冗长的密码和复杂性。 优点此模式使SQLServer能够支持需要SQLServer身份验证的旧应用程序和第三方应用程序。它允许SQLServer支持具有混合操作系统的环境。允许任何用户连接到SQLServer。SQLServer支持网站并允许用户创建自己的身份。 缺点每次要连接到SQLServer时,都需要提供登录凭据。您需要记住您的用户名和密码。如果您有多个SQLServer实例,则可能很难记住所有这些凭据。黑客有可能窃取您的凭据,因为它们以加密形式存储在主数据库中。不使用Kerberos安全协议。Windows身份验证模式与SQLServer身份验证模式 下表突出显示了Windows身份验证模式和SQLServer身份验证模式之间的差异:结论我们首先讨论Windows和SQLServer身份验证模式之间的差异。在Windows身份验证模式下,您可以通过Windows帐户连接到SQLServer。另一方面,SQLServer身份验证模式要求您创建一个新的用户名和密码存储在SQLServer中。由于Windows认证方式支持Kerberos协议,因此比SQLServer认证方式更安全。 原文链接: https://dzone.com/articles/differences-between-windows-and-sql-server-authentication驱动开发岗位,学过数据结构,Python,现在对相关领域感兴趣例如操作系统和数据库。
