在啟用 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 的憑證
憑證路徑 (根、中繼和分葉) 中的每份憑證都必須安裝到本機電腦的「信任的根憑證授權」。要達成這項目的,必須從「憑證包」中擷取憑證路徑中的每一份憑證。
- 瀏覽至 Web 前端或應用程式伺服器。
- 打開 Internet Explorer,然後瀏覽至你要使用的網站 (https://site)。
- 查看 URL 安全報告,以檢視網站相關的憑證。
- 選取 [憑證路徑] (Certificate Path) 索引標籤。
- 選取憑證路徑中的根節點,然後選 [檢視憑證] (View Certificate)。
- 在開啟的 [憑證] (Certificate) 視窗裡,選取 [詳細資料] (Details) 索引標籤
- 選取 [複製到檔案…] (Copy to File…) 按鈕
- [憑證匯出精靈] (Certificate Export Wizard) 會隨即開啟。
- 選擇預設的憑證格式 [DER encoded binary X.509 (.CER)],然後按 [下一步] (Next)。
- 指定檔案儲存的位置,並將檔案命名為 "RootCertificate",然後按 [下一步] (Next)。
- 按一下 [瀏覽] (Browse) 按鈕指定一個位置。
- 選擇桌面 (Desktop)。
- 指定一個名稱 (如 "Root")。
- 按 [完成]。
- 重複步驟 4 – 10,匯出憑證路徑中的每一份憑證。
步驟 2:將各憑證新增到本機電腦的「信任的根憑證授權」
匯出的每個憑證都必須匯入伺服器陣列中每台伺服器上之本機電腦的「信任的根憑證授權」中。
- 在伺服器陣列的每台伺服器上,確定憑證已加入本機電腦的「信任的根憑證授權」(最簡單的方法是在匯出第一台伺服器憑證後,直接將憑證複製到陣列的每台伺服器上)。
- 啟動本機憑證管理員。
a. 開始 | 執行 | MMC
b. 選取 [檔案] (File) 功能表 | [新增/移除嵌入式管理單元] (Add/Remove Snap-in)
c. 在 [新增/移除嵌入式管理單元] (Add/Remove Snap-in) 視窗中選取憑證,再按 [新增] (Add)。
d. 在憑證嵌入式管理單元視窗中選取電腦帳戶 | [下一步]。
e. 選擇本機電腦 | [完成]。
f. 返回 [新增/移除嵌入式管理單元] (Add or Remove Snap-ins) 視窗,按 [確定] (OK)。
g. 在 [主控台] (Console) 視窗中展開 [憑證 (本機電腦)] (Certificates (Local Computer)] 節點。
h. 以滑鼠右鍵按一下 [信任的根憑證授權] (Trusted Root Certification Authorities) | [所有工作] (All Tasks) | [匯入] (Import)。
i. 瀏覽至剛剛匯出的根憑證,然後按 [下一步]。
j. 接下來的全都選預設值,然後按 [完成]。你會看到一則匯入成功的訊息。
對憑證路徑中的每一份憑證重複步驟 h – i
步驟 3:每一份憑證都必須加入 SharePoint 的受管理信任
- 將憑證安裝到本機後,必須將憑證加入 SharePoint 的受管理信任。這項工作只需要在其中一台伺服器上執行,整個陣列即會認可該信任。將每份憑證加入 SharePoint 的受管理信任。
a. 打開 SharePoint 管理中心,瀏覽至 [安全性] (Security) | [受管理的信任]。
b. 在 [信任關係] (Trust Relationships) 功能區中選取 [新增]。[建立信任關係] (Establish Trust Relationship) 視窗會隨即開啟。
c. 在 [一般設定] (General settings) 中指定一個名稱 (如 RootCA、IntermediateLevel1、IntermediateLevel2)。
d. 在 [信任關係的根憑證] (Root Certificate for the trust relationship) 中選取 [瀏覽] (Browse),然後選取先前建立的憑證。
e. 按一下 [確定] (OK)。
對憑證路徑中的每個憑證重複步驟 a – e。
- 在你的 SharePoint Web 前端發出 IISReset
- 開始 | 執行 | cmd
- IISReset <enter>
- 建立一個新的 SharePoint 清單資料來源和 Excel Services 資料來源,測試儀表板設計工具是否能正確建立資料來源。
附錄 A:檢查匯入的憑證
有時我們可能必須檢查一下憑證是否正確匯入,或是確認憑證是否已自系統中完整地移除。我們有遇到過一些頑強的憑證,除非將它們從登錄檔的憑證存放區移除,否則都無法自系統完整地移除。
- 開啟登錄編輯器
- [開始] 功能表
- 執行
- Regedit
- 檢查 HKEY_LOCAL_MACHINE 和 HKEY_LOCAL_USER 下的 SOFTWARE\Microsoft\SystemCertificates\My\Certificates
- 比對憑證的指紋值和憑證容器中顯示的節點。
附錄 B:一些實用的 PowerShell 命令
使用 PowerShell 檢查憑證
下列指令碼可將安裝到 SharePoint 受管理信任的憑證匯出成清單,以便於比對加入「本機憑證」的憑證。
檢查加入「本機憑證授權單位」的憑證
大功告成!做法並不特別複雜,但有幾個步驟必須做好,一切才能順利運作。
John Fulton
Microsoft 支援部門升級工程師
SharePoint, Office BI
這是翻譯後的部落格文章。英文原文請參閱 Leveraging PerformancePoint in HTTPS Enabled Sites