端点身份验证类型

后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

端点身份验证过程涉及授权允许用户连接到在服务器上创建的端点,并涉及指定身份验证的执行方式。

身份验证的执行方式通过使用 CREATE ENDPOINT 语句或 ALTER ENDPOINT 语句的 AUTHENTICATION 子句来指定。AUTHENTICATION 子句提供了以下选项用于指定身份验证类型:

  • BASIC

  • DIGEST

  • NTLM

  • KERBEROS

  • INTEGRATED

注意注意

不支持在端点上进行匿名身份验证。要访问端点,用户必须是经过有效身份验证的 Windows 用户,要么是可信的 Windows 用户,要么是本地计算机成员帐户。

基本身份验证

基本身份验证是 HTTP 1.1 规范中两种必需的身份验证机制之一。基本身份验证由包含经过 base64 编码的用户名和密码(二者用冒号分开)的身份验证标头组成。有关详细信息,请访问 http://www.ietf.org/rfc/rfc2617.txt

当您指定 BASIC 类型时,请注意以下事项:

  • PORTS 值不能设置为 CLEAR。

  • 作为基本 HTTP 身份验证发送的凭据必须映射到有效的 Windows 登录名。

基本身份验证应只作为在不得已的情况下采用的一种手段。因为它使用的是容易被解码的 base64 编码方式。如果指定了基本身份验证,则 SQL Server 实例需要将安全套接字层 (SSL) 端口用于 HTTP 连接。如果被授权访问端点的用户是服务器计算机上的本地用户,就可以使用基本身份验证。

摘要式身份验证

摘要式是 HTTP 1.1 必需的第二种身份验证机制。这种身份验证由用户名和密码组成。随后将用 MD5(一种单向哈希算法)对摘要式身份验证进行哈希运算,并将其发送到服务器。服务器有权访问原始密码或在设置密码时创建的已存储的 MD5 哈希表。然后,服务器可以将存储的计算值与客户端提供的值进行比较。这样,客户端就可以在不实际将密码发送给服务器的情况下证明它知道密码。有关详细信息,请访问 http://www.ietf.org/rfc/rfc2617.txt

作为摘要式身份验证的一部分通过 HTTP 发送的凭据必须映射到有效的 Windows 域帐户。不支持对本地用户帐户进行基于 Windows 的摘要式身份验证。

注意注意

出于安全考虑,基于 Windows 的摘要式身份验证只支持通过在 Windows Server 2003 下运行的域控制器进行的 MD5-sess 加密。

NTLM 身份验证

NTLM 是 Windows 95、Windows 98 和 Windows NT 4.0(客户端和服务器)支持的身份验证机制。这种身份验证机制是一种质询响应协议,它可以提供比基本和摘要式更严格的身份验证。NTLM 在 Windows 2000 和更高版本中通过安全性支持提供程序接口 (SSPI) 来实现。有关详细信息,请参阅 Microsoft NTLM

Kerberos 身份验证

Kerberos 身份验证是一种标准的 Internet 身份验证机制。支持在 Windows 2000 和更高版本中通过 SSPI 来进行 Kerberos 身份验证。

如果使用了 Kerberos 身份验证,SQL Server 实例必须将一个服务主体名称 (SPN) 与将运行该实例的帐户相关联。有关详细信息,请参阅使用 Http.sys 注册 Kerberos 服务主体名称

有关 Kerberos 身份验证的详细信息,请参阅 Microsoft Kerberos

集成身份验证

为支持集成身份验证而配置的端点可以将以下身份验证类型之一作为身份验证质询的一部分进行响应:Kerberos 或 NTLM。

在此配置下,服务器将尝试用客户端在请求身份验证时使用的类型对客户端进行身份验证。

注意注意

如果根据集成身份验证,验证过程失败,服务器将终止该客户端的连接。服务器不会再尝试其他身份验证类型。