我正在尝试运行 SQL Server Reporting Services,其中报表数据位于不同服务器上的 SQL Server 数据库上。报表服务器和报表的集成身份验证均已打开。我通过使用 Internet Explorer 从网络内部运行报告来确认 Kerberos 委派工作正常。
但是,当我通过防火墙打开报表服务器时,我无法运行报表。我收到以下错误:报告处理期间发生错误。无法创建与数据源“frattoxppro2”的连接。用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。
Kerberos 身份验证在防火墙之外无法工作吗?
最佳答案
Kerberos 需要端口 88 连接到 KDC,在本例中,很可能是您的 DC。
您可能想要查看的是 HTTPS + 基本身份验证 + 协议(protocol)转换,以获取基本身份验证并将其转换为基于 DC 的 Kerberos 票证以进行委派和后端身份验证。
Protocol Transition with Constrained Delegation Technical Supplement
How To: Use Protocol Transition and Constrained Delegation in ASP.NET
设置起来并不是最简单的,但是当它工作时,它的效果却出奇的好。
关于sql-server - 防火墙之外的客户端的 Kerberos 委派,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/88646/