在 SQL Server Reporting Services Server SharePoint配置 Kerberos 身份验证

原始 KB 编号:   2723587

本文介绍如何在 Kerberos SQL Server Reporting Services Microsoft SharePoint Server配置客户端。

创建 Reporting Services 服务帐户

作为最佳实践,Reporting Services 应在其自己的域标识下运行。 若要配置 Reporting Services 服务应用程序,必须在 SharePoint Server 中创建 Active Directory 帐户并注册为SharePoint帐户。 本示例将创建并注册以下帐户。

名称 标识
SharePoint Server 服务 IIS 应用程序池标识
SQL Server Reporting Services vmlab\svcRS2012

备注

您可以选择为多个服务重用单个域帐户。 以下各节未涵盖此配置。

为应用程序服务器上运行 Reporting Service 的服务帐户创建 SPN

Active Directory 用户和计算机 MMC 管理单元通常用于配置 Kerberos 委派。 若要在管理单元中配置委派设置,所配置的 Active Directory 对象必须应用服务主体名称。 否则,该对象的委派选项卡在对象的属性对话框中不可见。 尽管 Reporting Services 不需要 SPN 来运行,但我们将为此配置一个 SPN。 如果服务帐户已应用 SPN (跨服务共享帐户) ,则不需要执行此步骤。

在命令行上运行以下命令:

SETSPN -S SP/PPS vmlab\svcRS2012

备注

SPN 不是有效的 SPN。 它适用于指定的服务帐户,以显示 AD 用户和计算机外接程序中的委派选项。 还有其他受支持的方法可用于指定委派设置 (特别是 AD 属性) 但本文档不介绍 msDS-AllowedToDelegateTo 本主题。

配置从 Reporting Services 服务帐户到 SSAS 服务的 Kerberos 约束委派(可选)SQL Server服务

若要允许 Reporting Services 委派客户端的标识,必须配置 Kerberos 约束委派。 还必须使用协议转换配置约束委派,以通过 WIF C2WTS 将声明令牌转换为 Windows 令牌。

运行 Reporting Services 的每台服务器都必须受信任,以将凭据委派给 Reporting Services 将进行身份验证的每个后端服务。 此外,还必须将 Reporting Services 服务帐户配置为允许委派到相同的后端服务。 另请注意,HTTP/Portal 和 HTTP/Portal.vmlab.local 配置为委派,以便包含 SharePoint 列表作为 Reporting Services 报告的可选数据源。

在我们的示例中,定义了以下委派路径:

主体类型 主体名称
User Vmlab\svcC2WTS
User vmlab\svcRS2012

若要配置约束委派,请按照以下步骤操作:

  1. 在“Active Directory 用户和计算机”中打开 Active Directory 对象的属性。

  2. 导航到“委派”选项卡。

    "委派"选项卡的屏幕截图

  3. 选择“仅信任此计算机来委派指定的服务”。

  4. 选择“使用任何身份验证协议”。

  5. 单击" 添加 "按钮以选择服务主体。

  6. 选择"用户和计算机"。

    "选择用户和计算机"页的屏幕截图

  7. 选择运行要委派给服务的服务帐户 (SQL Server、SQL Server Analysis Services或两) 。

    备注

    所选的服务帐户必须已应用 SPN。 在我们的示例中,此帐户的 SPN 是在之前的方案中配置的。

  8. 单击“确定”。

  9. 选择要委派到的 SPN,然后单击“确定”。

    选择 SNS 的屏幕截图

  10. 现在,应该会在“可以由此帐户提供委派凭据的服务”列表中看到所选的 SPN。

    服务中所选 SNS 的屏幕截图

  11. 对在本节开头定义的每个委派路径重复这些步骤。

在 Reporting Services 服务器上启动 Reporting Services 服务实例

在创建 Reporting Services 服务应用程序之前,在指定服务器场服务器上启动 Reporting Services 服务。 若要了解有关 Reporting Services 配置的信息,请参阅在报告模式下安装Reporting Services 2016 SharePoint安装

  1. 打开管理中心。

  2. 在“服务”下,选择“管理服务器上的服务”。

    选择"管理服务器上服务"的屏幕截图。

  3. 在右上角的服务器选择框中,选择运行 Reporting Services () 服务器。

  4. 启动 SQL Server Reporting Services 服务。

创建 Reporting Services 服务应用程序和代理

接下来,配置新的 Reporting Services 服务应用程序和应用程序代理,以允许 Web 应用程序使用 Reporting Services:

  1. 打开管理中心。

  2. 选择“应用程序管理”下的“管理服务应用程序”。

    选择"管理服务应用程序"的屏幕截图。

  3. 选择 "新建",然后单击 "SQL Server Reporting Services服务应用程序"。

    选择服务应用程序的SQL Server Reporting Services屏幕截图

  4. 配置新服务应用程序。 如果之前未执行此步骤,请确保选择正确的服务帐户或创建新的管理帐户。

    配置新服务应用程序的屏幕截图。

您可以在此步骤之前或创建新的 Reporting Services 服务之前,为专用于 Reporting Services 的现有 应用程序池创建和注册一个新的服务帐户。 若要将服务帐户与专用于 Reporting Services 应用程序池的现有帐户关联,或验证现有帐户,请执行下列操作。

  1. 导航到 SharePoint 管理中心。 在“安全”部分查找“配置管理帐户”。

  2. 选择下拉框并选择应用程序池。

  3. 选择 Active Directory 帐户。

    选择 Active Directory 帐户的屏幕截图。

向 Reporting Services 服务帐户授予对 Web 应用程序内容数据库的权限

在配置 SharePoint Server 2010 时,Office Web 应用程序的一个必需步骤是允许 Web 应用程序的服务帐户访问给定 Web 应用程序的内容数据库。 此示例中,我们将使用 Windows PowerShell 向 Reporting Services 帐户授予对门户 Web 应用程序的内容数据库Windows PowerShell。

从 SharePoint 2010 Management Shell 中运行以下命令:

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcRS2012")