目前,SQL Server 2008继续支持两种模式来验证连接和认证访问数据库资源:(Windows认证模式)和(SQL Server和Windows认证模式),也称为“混合模式”。这两种身份验证方法都提供了对SQL Server 2008及其资源的访问。让我们先看看这两种身份验证模式之间的差异。
Windows身份验证模式
Windows身份验证模式是默认的和推荐的身份验证模式。在授予对SQL Server的访问权时,它巧妙地利用了Active Directory用户帐户或组。在这种模式下,数据库管理员有机会授予域或本地服务器用户访问数据库服务器的权限,而无需创建和管理单独的SQL server帐户。另外值得一提的是,在使用Windows身份验证模式时,用户帐户受Active Directory域执行的企业范围策略的影响,例如复杂密码、密码历史、帐户锁定、最小密码长度、最大密码长度和Kerberos协议。这些增强的和定义良好的策略总是有好处的。
SQL Server和Windows身份验证(混合)模式
SQL Server和Windows身份验证模式在验证对SQL Server的访问时使用Active Directory用户帐户或SQL Server帐户。SQL Server 2005引入了在使用SQL Server身份验证时强制SQL Server登录帐户的密码和锁定策略的方法。SQL Server 2008继续这样做。可以强制执行的SQL Server策略包括密码复杂性、密码过期和帐户锁定。该功能在SQL Server 2000中是不可用的,这是大多数组织和数据库管理员主要关注的安全问题。从本质上说,这个安全问题在帮助将Windows身份验证定义为过去管理身份验证的推荐实践中发挥了一定作用。今天,SQL Server和Windows身份验证模式可能能够成功地与Windows身份验证模式竞争。
应该使用哪种模式来加强身份验证?
一旦数据库管理员知道了身份验证方法,下一步就是选择一种来管理SQL Server安全性。虽然SQL Server 2008现在有能力实施策略,Windows认证模式仍然是控制对SQL Server访问的推荐选择,因为这种模式有额外的优点;Active Directory使用Kerberos协议提供了额外级别的保护。因此,身份验证机制更加成熟、健壮,通过利用Active Directory组对SQL Server进行基于角色的访问,可以减少管理。
尽管如此,这种模式并不适用于所有情况。如果需要支持来自windows以外平台的遗留应用程序或客户端,并且需要职责分离,则仍然需要混合身份验证。总而言之,在一些组织中,SQL Server和Windows团队通常互不信任。因此,需要明确的职责分离,因为SQL Server帐户不是通过Active Directory管理的。
使用Windows身份验证是更安全的选择,但是,如果需要混合模式身份验证,那么请确保利用复杂的密码和SQL Server 2008密码和锁定策略来进一步增强安全性。