【问题标题】:IIS to SQL Server kerberos auth issuesIIS 到 SQL Server kerberos 身份验证问题
【发布时间】:2011-01-06 18:49:10
【问题描述】:

我们有一个第 3 方产品,它允许我们的一些用户通过单独服务器 (SvrWeb) 上的网站来操作数据库中的数据(在我们将称为 SvrSQL 的东西上)。

在 SvrWeb 上,我们为此应用程序有一个特定的、非默认的网站设置,因此我们使用 http://application.company.com 解析为 SvrWeb 并且主机标头解析为正确的网站,而不是转到 http://SvrWeb.company.com 来访问该网站.

还为此站点设置了一个特定的应用程序池,它使用我们称为“company\SrvWeb_iis”的 Active Directory 帐户身份。我们设置为允许对该帐户进行委派,并允许它模拟我们希望它执行的另一个登录。 (我们希望此帐户将登录网站的人的 AD 凭据传递给 SQL Server,而不是服务帐户。

我们还通过以下命令为 SrvWeb_iis 帐户设置了 SPN: setspn -A HTTP/SrvWeb.company.com SrvWeb_iis

网站拉起,但调用数据库的网站部分返回消息: 无法执行数据库查询。 用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。

我以为我们正确设置了 SPN 信息,但是当我检查 SrvWeb 上的安全事件日志时,我看到了我的登录条目,但它似乎使用的是 NTLM 而不是 kerberos:

Logon Type: 3
Logon Process:  NtLmSsp 
Authentication Package: NTLM

非常感谢任何详细介绍此设置的想法或文章!

如果有帮助,我们使用的是 SQL Server 2005,并且 Web 和 SQL 服务器都是 Windows 2003。

【问题讨论】:

  • 您是否为 Web 应用程序设置了集成 Windows 身份验证?
  • 是的,先生,它只使用集成身份验证。让我澄清一下,它正在为网站使用集成身份验证,我认为应用程序池不会为您提供更改此选项的选项吗?
  • 我希望我能更多地了解我们的设置。
  • 是的,这是一个挑战。我已经设置了在 SQL 安装之后需要设置 SPN 的链接服务器,但 IIS 路径对我来说是另一只野兽。从好的方面来说,我们可能已经发现了问题,如果/一旦我们确认,我会发布修复。
  • 您是否在 SQL Server 上正确设置了 SPN?

标签: sql-server iis kerberos


【解决方案1】:

kerberos 失败有多种可能的原因,包括缺少 SPN 和重复的 SPN。

如果 SQL 在自定义帐户下运行,您还需要为 SQL 添加 SPN。
另请记住,您应该为 FQDN 添加 SPN,它是 DNS 中的主机 (A) 条目,而不是 CNAME。

检查 NTAuthenticationProviders 的值
http://support.microsoft.com/kb/215383

试试 DelegConfig,如果它的 SPN 或其他东西,它会显示缺少的内容。
http://www.iis.net/community/default.aspx?tabid=34&g=6&i=1887

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 2011-04-16
    • 2010-11-17
    • 1970-01-01
    相关资源
    最近更新 更多