原始 KB 编号: 2723587
本文介绍如何在 Microsoft SharePoint Server 中为 Kerberos 身份验证配置 SQL Server Reporting Services。
创建Reporting Services服务帐户
作为最佳做法,Reporting Services应在其自己的域标识下运行。 若要配置 Reporting Services 服务应用程序,必须在 SharePoint Server 中创建 Active Directory 帐户并将其注册为托管帐户。 在此示例中,创建并注册了以下帐户。
名称 | 标识 |
---|---|
SharePoint Server 服务 | IIS 应用程序池标识 |
SQL Server Reporting Services | vmlab\svcRS2012 |
注意
可以选择性地为多个服务重复使用单个域帐户。 以下部分未介绍此配置。
为在应用程序服务器上运行 Reporting Service 的服务帐户创建 SPN
Active Directory 用户和计算机 MMC 管理单元通常用于配置 Kerberos 委派。 若要在管理单元中配置委派设置,所配置的 Active Directory 对象必须应用服务主体名称。 否则,对象的“属性”对话框中将不会显示该对象的委派选项卡。 尽管Reporting Services不需要 SPN 才能正常运行,但我们将为此配置一个。 如果服务帐户已应用 SPN (跨服务) 共享帐户,则不需要执行此步骤。
在命令行上运行以下命令:
SETSPN -S SP/PPS vmlab\svcRS2012
注意
SPN 不是有效的 SPN。 它应用于指定的服务帐户,以显示 AD 用户和计算机加载项中的委派选项。 还有其他受支持的方法可以指定委派设置 (特别是 msDS-AllowedToDelegateTo
AD 属性) 但本主题不会在本文档中介绍。
配置从 Reporting Services 服务帐户到 SSAS 服务的 Kerberos 约束委派,并选择性地为SQL Server服务配置 Kerberos 约束委派
若要允许Reporting Services委托客户端的标识,必须配置 Kerberos 约束委派。 还必须使用协议转换配置约束委派,以通过 WIF C2WTS 将声明令牌转换为 Windows 令牌。
必须信任运行Reporting Services的每个服务器,才能将凭据委托给每个后端服务,Reporting Services将进行身份验证。 此外,还必须将 Reporting Services 服务帐户配置为允许委派到同一后端服务。 另请注意,HTTP/Portal 和 HTTP/Portal.vmlab.local 配置为委托,以便将 SharePoint 列表作为Reporting Services报表的可选数据源包括在内。
在我们的示例中,定义了以下委派路径:
主体类型 | 主体名称 |
---|---|
用户 | Vmlab\svcC2WTS |
用户 | vmlab\svcRS2012 |
若要配置约束委派,请执行以下步骤:
在“Active Directory 用户和计算机”中打开 Active Directory 对象的属性。
导航到“委派”选项卡。
选择“仅信任此计算机来委派指定的服务”。
选择“使用任何身份验证协议”。
单击“ 添加 ”按钮以选择服务主体。
选择“用户和计算机”。
选择运行要委托给 (SQL Server、SQL Server Analysis Services或两者) 的服务帐户。
注意
所选的服务帐户必须已应用 SPN。 在我们的示例中,此帐户的 SPN 是在前面的方案中配置的。
单击“确定”。
选择要委派到的 SPN,然后单击“确定”。
现在,应该会在“可以由此帐户提供委派凭据的服务”列表中看到所选的 SPN。
对在本节开头定义的每个委派路径重复这些步骤。
在 Reporting Services 服务器上启动 Reporting Services 服务实例
在创建Reporting Services服务应用程序之前,请在指定的场服务器上启动Reporting Services服务。 若要详细了解Reporting Services配置,请参阅在 SharePoint 模式下安装 Reporting Services 2016。
打开管理中心。
在“服务”下,选择“管理服务器上的服务”。
在右上角的服务器选择框中,选择运行Reporting Services的服务器 () 。
启动SQL Server Reporting Services服务。
创建 Reporting Services 服务应用程序和代理
接下来,配置新的 Reporting Services 服务应用程序和应用程序代理,以允许 Web 应用程序使用Reporting Services:
打开管理中心。
选择“应用程序管理”下的“管理服务应用程序”。
选择“新建”,然后单击“SQL Server Reporting Services服务应用程序”。
配置新服务应用程序。 如果之前未执行此步骤,请确保选择正确的服务帐户或创建新的托管帐户。
在此步骤之前或创建新的Reporting Services服务时,可以为专用于Reporting Services的现有应用程序池创建和注册新的服务帐户。 若要将服务帐户与专用于Reporting Services或验证现有帐户的现有应用程序池相关联,请执行以下操作。
导航到 SharePoint 管理中心。 在“安全”部分查找“配置管理帐户”。
选择下拉框并选择应用程序池。
选择 Active Directory 帐户。
向 Reporting Services 服务帐户授予对 Web 应用程序内容数据库的权限
配置 SharePoint Server 2010 的一个必需步骤是,Office Web 应用程序允许 Web 应用程序的服务帐户访问给定 Web 应用程序的内容数据库。 在此示例中,我们将使用 Windows PowerShell 授予 Reporting Services 帐户对门户 Web 应用程序的内容数据库的访问权限。
从 SharePoint 2010 Management Shell 中运行以下命令:
$w = Get-SPWebApplication -Identity http://portal
$w.GrantAccessToProcessIdentity("vmlab\svcRS2012")