为 Microsoft SQL 服务器报告服务启用 Kerberos

Enabling Kerberos for Microsoft SQL Server Reporting Services

我正在尝试为 MS SQL 服务器报告服务启用 Kerberos。我相当熟悉 Windows 安全性及其工作原理。但是,我不熟悉 Windows 服务器的横向扩展部署和集群。我知道我需要添加指向 SSRS Web 服务(使用域帐户)和数据库引擎的 SPN。我对 SPN 的确切结构有些困惑。我查看了 Stack Overflow 和其他资源,大多数参考了没有 scale-out/clustering 的标准部署。

我的问题是:

以下是我认为需要补充的:

setspn -s http/DEV-CLUSTER.clearcaptions.com ssrsuser
setspn -s MSSQLSvc/DEV-CLUSTER1.clearwd.com DEV-CLUSTER1$
setspn -s MSSQLSvc/DEV-CLUSTER1 DEV-CLUSTER1$
setspn -s MSSQLSvc/DEV-CLUSTER1.clearwd.com:1433 DEV-CLUSTER1$
setspn -s MSSQLSvc/DEV-CLUSTER1:1433 DEV-CLUSTER1$

以下是我的设置的详细信息:

域: clearwd(不是我的实际域)

服务器 OS: Windows 服务器 2016

集群:开发集群

节点 1: DEV-SQL1

节点 2: DEV-SQL2

角色: DEV-CLUSTER1(SQL服务器/MSSQL服务器)

SQL 服务器版本: 2016 Enterprise

SQL 服务器名称: DEV-CLUSTER1

SQL 服务器端口: 1433

SSRS 服务帐户: ssrsuser.clearwd.com 或 clearwd\ssrsuser

SSRS 模式: 原生

SSRS 报表服务器 Web 服务 URL: http://DEV-SQL01:80/ReportServer

SSRS 门户网站 URL: http://DEV-SQL01:80/Reports

如果需要任何其他信息,请告诉我。

参考文献:

https://www.itprotoday.com/sql-server/implement-kerberos-delegation-ssrs-0

https://docs.microsoft.com/en-us/sql/reporting-services/report-server/register-a-service-principal-name-spn-for-a-report-server?view=sql-server-2017

https://docs.microsoft.com/en-us/sql/reporting-services/install-windows/configure-report-server-urls-ssrs-configuration-manager?view=sql-server-2017

"Microsoft Kerberos Configuration Manager for SQL Server" 可以在每个涉及的服务器上使用,以获得配置和所需 SPN 的概览。目前我记得,它还支持集群安装:

The Kerberos Configuration Manager for SQL Server is a diagnostic tool that helps troubleshoot Kerberos related connectivity issues with SQL Server, SQL Server Reporting Services, and SQL Server Analysis Services. It can perform the following functions:

  • Gather information on OS, Microsoft SQL Server instances and Always On Availability Group Listeners installed on a server.
  • Report on all SPN and delegation configurations on the server.
  • Identify potential problems in SPNs and delegations. Fix potential SPN problems.

p.s。我认为这类问题在以下问题上会有更好的参与度:dba.stackexchange.com