PerformancePoint Services 的标识委派 (SharePoint Server 2010)

 

适用于: PerformancePoint Services, SharePoint Server 2010

上一次修改主题: 2016-11-30

在本方案中,您将向 SharePoint Server 环境添加 PerformancePoint Services 服务应用程序,并配置 Kerberos 约束委派以允许服务从外部 Analysis Services 多维数据集提取数据,并可从 SQL Server 提取数据。

方案依赖关系

若要完成本方案,您需要先完成:

配置清单

配置区域 说明

Active Directory 配置

创建 PerformancePoint Services 服务帐户

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

验证 SQL Server Analysis Services 服务帐户 (vmlab\svcSQLAS) 上的 Analysis Services SPN(在方案 3 中执行)

(可选)验证 SQL Server 数据库引擎服务帐户 vmlab\svcSQL(在方案 2 中执行)。

向 Analysis Services 配置“声明为 Windows 令牌服务”服务帐户的 Kerberos 约束委派

为 PerformancePoint 配置 Kerberos 约束委派

Analysis Services 的 Services 服务帐户

SharePoint Server 配置

在 PerformancePoint Services 服务器上启动“声明为 Windows 令牌服务”

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

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

检查 PerformancePoint 应用程序上的标识

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

配置 PerformancePoint Services 受信任文件位置和身份验证设置

验证 PerformancePoint Service 约束委派

创建承载测试仪表板的文档库

创建引用现有 SQL Server Analysis Services 多维数据集的数据源

创建受信任的 PerformancePoint 内容列表

创建测试 PerformancePoint 仪表板

将仪表板发布到 SharePoint Server

方案的环境详细信息

Kerberos 约束委派路径

身份验证流程关系图

在本方案中,我们将向 SQL Server 服务配置 Kerberos 约束委派的 PerformancePoint Services 服务帐户。

备注

在本方案中,我们将配置“声明为 Windows 令牌服务 (C2WTS)”使用专用服务帐户。如果您保留 C2WTS 的配置(使用“本地系统”),则需要对运行 C2WTS 和 Excel Services 的计算机的计算机帐户配置约束委派。

SharePoint Server 逻辑身份验证

身份验证流程关系图

本方案中的身份验证从在 Web 前端上使用 Kerberos 身份验证进行的客户端身份验证开始。SharePoint Server 2010 将使用本地安全令牌服务 (STS) 将 Windows 身份验证令牌转换为声明令牌。PerformancePoint Service 应用程序将接受声明令牌,并使用作为 Windows Identity Framework (WIF) 的一部分的本地“声明为 Windows 令牌服务 (C2WTS)”将其转换为 Windows 令牌 (Kerberos)。然后,PerformancePoint Service 应用程序将使用客户端的 Kerberos 票证来向后端数据源进行身份验证。

分步配置说明

Active Directory 配置

创建 PerformancePoint Services 服务帐户

作为最佳实践,PerformancePoint Services 应在自己的域标识下运行。若要配置 PerformancePoint Service 应用程序,必须创建 Active Directory 帐户,并将其注册为 SharePoint Server 2010 中的管理帐户。有关详细信息,请参阅 SharePoint 2010 中的管理帐户(该链接可能指向英文页面)。在本例中,将创建以下帐户,并在本方案后面进行注册:

SharePoint Server 服务 IIS 应用程序池标识

PerformancePoint Services

vmlab\svcPPS

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

此步骤是必需的,因为运行 SharePoint 应用程序池的服务帐户与 PerformancePoint 帐户不同。

Active Directory 用户和计算机 MMC 管理单元通常用于配置 Kerberos 委派。若要在管理单元内配置委派设置,所配置的 Active Directory 对象必须应用服务主体名称;否则,该对象的属性对话框中将不会出现“委派”选项卡。尽管 Visio Services 不需要 SPN 即可运行,但我们将出于此目的配置一个 SPN。

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

SETSPN -S SP/svcPPS

备注

SPN 不是有效的 SPN。它适用于指定的服务帐户,以显示 AD 用户和计算机管理单元中的委派选项。可通过其他受支持的方法指定委派设置(具体说就是 msDS-AllowedToDelegateTo AD 属性),但本文档不讨论这一主题。

验证 SQL Server Analysis Services 服务帐户 (vmlab\svcSQLAS) 上的 Analysis Services SPN(在方案 3 中执行)和(可选)验证 SQL Server 数据库引擎服务帐户 vmlab\svcSQL(在方案 2 中执行)

使用以下 SetSPN 命令,验证 SQL Server 服务帐户 (vmlab\svcSQLAS) 的 SPN 是否存在:

SetSPN -L vmlab\svcSQLAS

应看到以下内容:

MSOLAPSvc.3/MySqlCluster

使用以下 SetSPN 命令,验证 Analysis Services 服务帐户 (vmlab\svcSQL) 的 SPN 是否存在:

SetSPN -L vmlab\svcSQL

应看到以下内容:

MSSQLSVC/MySqlCluster

从 PerformancePoint Services 服务帐户和为 SQL Server 服务(可选)向 SSAS 服务配置 Kerberos 约束委派

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

运行 PerformancePoint Services 的每台服务器必须受信任才能向 PerformancePoint 将通过其进行验证的每个后端服务委派凭据。此外,还必须配置 PerformancePoint Services 服务帐户才能允许委派到相同的后端服务。另请注意,可配置 HTTP/Portal 和 HTTP/Portal.vmlab.local 进行委派,以便将 SharePoint 列表包括为 PerformancePoint 仪表板的可选数据源。

在本例中,定义了以下委派路径:

主体类型 主体名称

用户

Vmlab\svcC2WTS

用户

Vmlab\svcPPS

配置约束委派

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

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

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

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

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

  6. 选择“用户和计算机”。

  7. 选择运行您希望委派给的服务的服务帐户。

    备注

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

  8. 单击“确定”。

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

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

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

SharePoint Server 配置

在 PerformancePoint Services 服务器上配置和启动“声明为 Windows 令牌服务”

“声明为 Windows 令牌服务 (C2WTS)”是 Windows Identity Foundation (WIF) 的一个组件,负责将用户声明令牌转换为 Windows 令牌。当服务需要将凭据委派到使用 Windows 身份验证的后端系统时,Performance Point Services 使用 C2WTS 将用户的声明令牌转换为 Windows 令牌。WIF 通过 SharePoint Server 2010 进行部署,而 C2WTS 可从管理中心启动。

每台 PerformancePoint Services 应用程序服务器必须以本地方式运行 C2WTS。C2WTS 不打开任何端口,无法由远程调用方访问。另外,C2WTS 服务配置文件必须配置为专门信任本地调用客户端标识。

作为最佳实践,您应使用专用服务帐户而不是作为本地系统(默认配置)来运行 C2WTS。C2WTS 服务帐户需要在运行该服务的每台服务器上拥有特殊的本地权限,因此每次在服务器上启动该服务时,请务必配置这些权限。最好是在启动 C2WTS 之前在本地服务器上配置服务帐户的权限,不过如果是在启动服务之后配置的,则可以从 Windows 服务管理管制台 (services.msc) 重新启动 C2WTS。

启动 C2WTS

  1. 在 Active Directory 中创建用于运行该服务的服务帐户。在本例中,我们创建了 vmlab\svcC2WTS。

  2. 将任意服务主体名称 (SPN) 添加到服务帐户中,以便在“Active Directory 用户和计算机”中显示此帐户的委派选项。SPN 可以采用任何格式,因为我们不使用 Kerberos 身份验证向 C2WTS 进行身份验证。建议不要使用 HTTP SPN 以避免可能会在您的环境中创建重复的 SPN。在本例中,我们使用以下命令将 SP/C2WTS 注册到 vmlab\svcC2WTS:

    SetSPN -S SP/C2WTS vmlab\svcC2WTS
    
  3. 对 C2WTS 服务帐户配置 Kerberos 约束委派。在本方案中,我们将凭据委派给使用 MSOLAPsvc.3/MySqlCluster.vmlab.local 服务主体名称运行的 SQL Server 服务。

  4. 接下来,配置 C2WTS 所需的必需本地服务器权限。必须对在其中运行 C2WTS 的每台服务器配置这些权限。在本例中,为 VMSP10APP01。登录该服务器,并向 C2WTS 授予以下权限:

    1. 将服务帐户添加到本地 Administrators 组中。

    2. 在本地安全策略 (secpol.msc) 的“用户权限分配”下,为服务帐户授予以下权限:

      1. 以操作系统方式执行

      2. 身份验证后模拟客户端

      3. 作为服务登录

  5. 打开管理中心。

  6. 在“安全”部分的“配置托管服务帐户”下,将 C2WTS 服务帐户注册为管理帐户。

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

  8. 在右上角的服务器选择框中,选择运行 PerformancePoint Services 的服务器。在此示例中为 VMSP10APP01。

  9. 找到“声明为 Windows 令牌服务”并启动它。

  10. 转到“安全”部分的“管理服务帐户”。将 C2WTS 的标识更改为新的管理帐户。

    备注

    如果在配置专用服务帐户之前 C2WTS 已经在运行,或者您需要在 C2WTS 运行之后更改服务帐户的权限,则必须从服务控制台重新启动 C2WTS。

    此外,如果在重新启动服务后 C2WTS 遇到问题,可能还需要重置与 C2WTS 通信的 IIS 应用程序池。

向 WIF C2WTS 服务添加启动依赖关系

C2WTS 存在一个已知问题,即,它无法在系统重新启动时自动成功启动。此问题的变通解决方法是在“加密服务”服务上配置一个服务依赖关系:

  1. 打开命令提示符窗口。

  2. 键入:sc config c2wts depend= CryptSvc

  3. 在服务控制台中找到“声明为 Windows 令牌服务”。

  4. 打开服务的属性。

  5. 检查“相关性”选项卡。确保列出了“加密服务”:

  6. 单击“确定”。

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

在创建 PerformancePoint Services 服务应用程序之前,在指定服务器场服务器上启动 PerformancePoint Services 服务器服务。若要了解有关 PerformancePoint Services 配置的更多信息,请参阅 PerformancePoint Services 管理

  1. 打开管理中心。

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

  3. 在右上角的服务器选择框中,选择运行 PerformancePoint Services 的服务器。在此示例中为 VMSP10APP01。

  4. 启动“PerformancePoint Service”服务。

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

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

  1. 打开管理中心。

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

  3. 单击“新建”,然后单击“PerformancePoint Services 应用程序”。

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

备注

在本方案中,配置无人参与服务帐户是可选的,仅当您还希望测试 NTLM 身份验证时才使用。

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

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

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

  3. 选择 Active Directory 帐户。

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

配置 SharePoint Server 2010 Office Web Applications 时的一个必需步骤是允许 Web 应用程序的服务帐户访问给定 Web 应用程序的内容数据库。在本例中,我们通过 Windows PowerShell 将 PerformancePoint Services 帐户访问权限授予“门户”Web 应用程序的内容数据库。

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

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

$w.GrantAccessToProcessIdentity("vmlab\svcPPS")

配置 PerformancePoint Services 受信任文件位置和身份验证设置

创建 PerformancePoint Services 应用程序后,必须对新服务应用程序配置属性以指定受信任的主机位置和身份验证设置。

  1. 打开管理中心。

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

  3. 单击新服务应用程序 PerformancePoint Services 的链接,然后单击功能区中的“管理”按钮。

  4. 在 PerformancePoint Services 管理屏幕中,单击“可信数据源位置”。

  5. 选择“仅限特定位置”选项,然后单击“添加可信数据源位置”。

  6. 键入该位置的 URL,选择“网站集(和子树)”选项,然后单击“确定”。

  7. 选择“仅限特定位置”选项,然后单击“添加可信数据源位置”。

  8. 键入该位置的 URL,选择“网站(和子树)”选项,然后单击“确定”。

验证 PerformancePoint Service 约束委派

使用 SQL Server AS 数据连接创建测试 PerformancePoint 仪表板

接下来,打开 PerformancePoint 仪表板设计器,并创建 Analysis Services 数据连接。

  1. 打开 PerformancePoint 仪表板设计器,右键单击数据源以创建连接。

  2. 选择“Analysis Services”。

  3. 指定服务器、数据库和多维数据集,并选择“每用户标识”。

  4. 单击“测试数据源”测试连接。

  5. 创建报告和仪表板。

  6. 通过将度量值和维度从详细信息窗格拖动到报告设计器来确保具有数据连接。

  7. 您的报告可包含在仪表板中。

    选择“报告”,然后将“我的报告”拖动到“仪表板内容”页上。

  8.  

将仪表板发布到 SharePoint Server

验证 PerformancePoint Services 应用程序的最后一步是发布仪表板和测试刷新并查看 Analysis Services 数据。为此,请执行以下操作:

  1. 选择明亮的文件按钮图标。

  2. 在文件选择中单击“部署”。

  3. 选择要发布到的母版页。

  4. 单击浏览器中的刷新按钮。

    如果数据连接刷新,则表示已成功为 PerformancePoint Services 配置了 Kerberos 委派。