Partilhar via


在启用了 HTTPS 的站点利用 PerformancePoint

原文发布于 2012 年 6 月 20 日(星期三)

本文拖了很久,都是一些长时间以来支持人员从客户那里得到的一些反馈。如果您尝试过配置 PerformancePoint Services 在启用了 HTTPS 的站点中运行,那么您可能会在尝试创建与 SharePoint 列表Excel Services 数据源的数据源连接时遇到一些错误消息。

以下是您可能会看到的部分错误消息。一条特定于 PerformancePoint,而另一条则与 SharePoint Foundation 有关。

PerformancePoint 仪表板错误消息:
“PerformancePoint Services 无法连接到指定的数据源。请根据安全配置验证当前用户或无人参与服务帐户是否具有对数据源的读取权限,并验证全部所需连接信息是否均已提供并且正确无误。”

ULS 错误消息:

“SharePoint Foundation | 拓扑 | 8311 | 严重 | 由于下面的证书出现验证错误,操作失败:<<证书路径 & 证书指纹>>\n\n错误:\n\n 证书链的根不是受信任的根证书颁发机构..”

“PerformancePoint Service | PerformancePoint Services | ef8z | 严重 | PerformancePoint Services 无法连接到指定的数据源。请根据您的安全配置确认当前用户或无人参与服务帐户拥有此数据源的读取权限。还要确认提供了所有需要的连接信息并且这些信息正确。System.Net.WebException: 基础连接已关闭: 无法为 SSL/TLS 安全…建立信任关系”

大多数叙述性消息为 SharePoint Foundation 错误消息,因为它指示实际问题为与证书相关的问题。PerformancePoint 消息可能会存在一点误导性质,因为它可能会引导您走上身份验证/身份验证相关的故障诊断道路。当其核心的确是该问题时,您只有这么多方法可以检查以确保无提示服务帐户或服务帐户本身具有所有适当的权限。就是说,如果是证书问题,请务必查看 SharePoint Foundation 严重 ULS 消息,因为该消息会详细地阐述 PerformancePoint 证书问题。如果您看到这些消息,请尝试以下操作。许多客户都通过下面的解决方案获得成功。

解决方案
假定条件:其假定已获得证书并为使用的 SharePoint 站点在 IIS 中配置了绑定。如果该配置成功,您将能够浏览 https 站点,且不会收到任何证书错误。(下面的博客文章提供了该过程的详细介绍以及指向相关文档的权威链接。)

步骤 1:将证书提取到 SharePoint Server
证书路径(根、中间和枝叶)中的每个证书都需要安装到本地计算机受信任的根证书颁发机构。为了完成此过程,您将需要从“捆绑”的证书提取证书路径中的每个证书。

  1. 导航到 Web 前端或应用程序服务器。
  2. 打开 Internet Explorer 并导航到您要使用的站点 (https://site)。
  3. 通过查看 URL 安全报告查看与站点关联的证书。
    1. 选择 URL 右侧的挂锁图标
    2. 选择“查看证书”。
  4. 选择“证书路径”(Certificate Path) 选项卡。

  1. 选择证书路径中的根节点,然后选择“查看证书”(View Certificate)。

  1. 在打开的“证书”(Certificate) 窗口中,选择“详细信息”(Details) 选项卡
  2. 选择“复制到文件…”(Copy to File…) 按钮
  3. 随即打开“证书导出向导”(Certificate Export Wizard)。
  4. 选择默认的证书格式“DER 编码二进制 X.509 (.CER)”(DER encoded binary X.509 (.CER)),然后选择“下一步”(Next)。

  1. 指定保存文件的位置,然后指定文件名称“RootCertificate”(选择“下一步”(Next))。
    1. 首先通过单击“浏览”(Browse) 按钮指定位置。
    2. 选择“桌面”。
    3. 指定名称(例如“Root”)。

  1. 选择“完成”。
  2. 为您证书路径中的每个证书重复步骤 4 – 10。

步骤 2:将每个证书添加到本地计算机受信任的根证书颁发机构
导出的每个证书都需要导入到场中每台服务器上的本地计算机受信任的根证书颁发机构。

  1. 在您场中的每台服务器上,确保导出的证书都已添加到本地计算机受信任的根证书颁发机构(最简单的方法是在第一台服务器上导出证书后,只需将证书复制到场中的每台计算机即可)。
  2. 启动本地证书管理器。

a.“开始”|“运行”|“MMC”

b. 选择“文件”(File) 菜单 |“添加/删除管理单元”(Add/Remove Snap-in)

c. 在“添加或删除管理单元”(Add/Remove Snap-in) 窗口中,选择“证书”(Certificates) 并单击“添加”(Add) 按钮。

d. 在“证书”管理单元窗口中,选择“计算机帐户”|“下一步”。

e. 选择“本地计算机”|“完成”。

f. 返回“添加或删除管理单元”(Add or Remove Snap-ins) 窗口,选择“确定”(OK)。展开“控制台”(Console) 窗口中的“证书(本地计算机)”(Certificates (Local Computer)) 节点。

g. 展开“控制台”(Console) 窗口中的“证书(本地计算机)”(Certificates (Local Computer)) 节点。

 
右键单击“受信任的根证书颁发机构”(Trusted Root Certification Authorities)|“所有任务”(All Tasks)|“导入”(Import)。

i. 导航到之前导出的根证书,并选择“下一步”。
对于剩下的后续步骤都选择默认值,然后选择“完成”。您应该收到一条指示导入已成功的消息。

为“证书”路径中的每个证书重复步骤 h – i

步骤 3:每个证书都需要添加为 SharePoint 托管信任

  1. 本地安装证书之后,需要将证书添加到 SharePoint 托管信任。只需要从您的其中一台服务器执行此操作即可,因为信任在场范围内都能识别。将每个证书添加到 SharePoint 托管信任。

a. 打开 SharePoint 管理中心并导航到“安全”(Security) |“托管信任”。
 

b. 从“信任关系”功能区,选择“新建”,随即打开“建立信任关系”(Establish Trust Relationship) 窗口。
对于“常规设置”(General settings),指定名称(例如 RootCA、IntermediateLevel1、IntermediateLevel2)。
对于“信任关系的根证书”(Root Certificate for the trust relationship),选择“浏览”(Browse),然后选择之前创建的证书。

e. 单击“确定”(OK)。

为证书路径中的每个证书重复步骤 a – e。 

  1. 在您的 SharePoint Web 前端上,发出 IISReset
    1. “开始”|“运行”|“cmd”
    2. IISReset <enter>
  2. 通过创建新的 SharePoint 列表数据源以及 Excel Services 数据源来测试仪表板设计器数据源创建。

附录 A:检查导入的证书

有时,可能需要检查证书是否已正确导入,以及相反地验证证书是否已完全从系统中删除。有时,我们可能具有一些顽固的证书,除非从注册表中这些证书的存储中删除才能完全从系统中删除。

  1. 启动 Regedit
    1. “开始”菜单
    2. 运行
    3. Regedit
  2. 检查 HKEY_LOCAL_MACHINE 和 HKEY_LOCAL_USER,然后检查 SOFTWARE\Microsoft\SystemCertificates\My\Certificates
  3. 将证书的指纹值与显示证书容器的节点进行比较。
     

附录 B 可能有用的 PowerShell 命令

使用 PowerShell 检查证书

以下脚本将导出安装到 SharePoint 托管信任的证书列表,然后您可以通过该托管信任与添加到本地证书的证书进行比较。

检查添加到本地证书颁发机构的证书

就这么多了。这不是特别复杂,但是必须先完成某些步骤才能使一切运行顺利。

John Fulton
Microsoft 支持呈报工程师
SharePoint,Office BI

这是一篇本地化的博客文章。请访问 Leveraging PerformancePoint in HTTPS Enabled Sites 以查看原文