宣告驗證與 Reporting Services

SharePoint 2010 產品支援宣告式驗證。SharePoint 整合模式中的 SQL Server 2008 R2 Reporting Services 將會透過信任帳戶驗證與 SharePoint 使用者 Token 來使用啟用 SharePoint 宣告的 Web 應用程式。 如需有關宣告式之驗證的詳細背景資訊,請參閱<宣告式識別概觀>(英文)。如需有關 SharePoint 2010 驗證的詳細資訊,請參閱<規劃驗證方法>(英文)。

報表伺服器如何與宣告驗證進行通訊

以下是報表伺服器和 Reporting Services Proxy 連接至宣告式之 Web 前端 (WFE) 時發生的基本步驟。

  • 宣告式 WFE 會執行適當的宣告驗證,並使用 SharePoint Secure Token Service,讓宣告 Token 與 SharePoint WFE 上的 Reporting Services Proxy 進行通訊。

  • WFE 上的 Reporting Services Proxy 會使用宣告 Token 來產生要轉送至報表伺服器的 SharePoint 使用者 Token。

  • 報表伺服器本身仍然無法感知宣告,而且不會執行任何宣告專屬的驗證或轉換。它會使用 Reporting Services Proxy 所傳送的 SharePoint 使用者 Token。

  • 根據 SharePoint 使用者 Token,報表伺服器會使用本機 SharePoint 物件模型來產生正確的 SharePoint 使用者內容。

  • 報表伺服器會使用適當的 SharePoint 使用者內容,將要求的資訊 (例如轉譯的報表) 傳回 SharePoint。

將 Web 應用程式轉換為宣告式驗證

SharePoint 2010 可讓使用者將現有的 SharePoint 2010 Web 應用程式轉換為宣告式驗證。如果想要使用宣告驗證,將需要轉換使用非 Windows 驗證,而且是從舊版 SharePoint to SharePoint 2010 升級的 Web 應用程式。

如果有關將 Web 應用程式轉換為宣告驗證的詳細資訊,請參閱<針對宣告式 Web 應用程式設定以表單為主的驗證 (SharePoint Server 2010)>(英文)。

設定 Reporting Services 支援宣告式 Web 應用程式

為支援宣告式 Web 應用程式,需要下列 Reporting Services 組態變更。

  • 設定 Reporting Services 服務帳戶存取轉換的 Web 應用程式。使用 [SharePoint 管理中心] 中的 [Reporting Services 整合] 網頁。在向外延展部署中使用 Reporting Services 環境,而且報表伺服器使用不同的服務帳戶時,請針對每個報表伺服器使用 [SharePoint 管理中心] 中的 [將報表伺服器加入至整合] 網頁。

  • 對於現有的 Reporting Services 訂閱,搭配 ChangeSubscriptionOwnerSOAP API 使用 rs.exe 和指令碼將訂閱擁有者變更為宣告驗證支援的適當使用者。

  • 對於現有的模型項目安全性,搭配 SetModelItemPolicies API 使用 [模型項目安全性] 網頁或指令碼,將擁有個別模型項目之讀取權限的使用者清單更新為宣告驗證所支援的使用者。

適用於 SharePoint 2010 產品之 Reporting Services 增益集的驗證後援行為

[SharePoint 管理中心] 中的 [Reporting Services 整合] 頁面可讓使用者設定一個驗證模式:信任帳戶或 Windows 驗證。不過,SharePoint 環境可能包含每個都依賴不同驗證類型的 Web 應用程式。例如,可能會將其中一個 Web 應用程式設定為宣告式驗證,並將另一個 Web 應用程式設定為傳統模式驗證。增益集所安裝的 Reporting Services Proxy 很有彈性,在某些狀況下可以變更驗證方法。

如果將 Reporting Services 整合設定為 Windows 驗證,當 Proxy 偵測到設定為宣告式之驗證的 SharePoint Web 應用程式時,Reporting Services Proxy 就可以後援信任的驗證。

下表根據針對 Reporting Services 整合與 SharePoint Web 應用程式設定的驗證,摘要說明 Reporting Services 行為。

Reporting Services 整合頁面

SharePoint 2010 Web 應用程式組態

支援

Windows 驗證

傳統驗證

信任帳戶

宣告式驗證

信任帳戶

傳統驗證

Windows 驗證

宣告式驗證

是。Reporting Services Proxy 將後援使用信任帳戶驗證。

後援行為的副作用是,在某些情況下,需要使用 Windows 驗證。例如,如果報表要使用設定為 Windows 整合式安全性的資料來源,您會看到類似下方的錯誤訊息,因為 Reporting Services Proxy 偵測到 Web 應用程式正在使用宣告驗證,而 Proxy 使用後援邏輯,且工作階段位於信任帳戶內容中:

報表處理期間發生錯誤。(rsProcessingAborted)

無法模擬資料來源 'MyDataSourceName' 的使用者。(rsErrorImpersonatingUser)

此資料來源設定為使用 Windows 整合式安全性。此報表伺服器可能已停用 Windows 整合式安全性或報表伺服器使用信任帳戶模式。(rsWindowsIntegratedSecurityDisabled)

若要解決這個問題,您需要修改資料來源以使用預存認證。

Reporting Services 用戶端不支援 LiveID 或 SAML 宣告驗證

Reporting Services 用戶端應用程式:報表產生器、Business Intelligence Development Studio 中的報表設計師,以及 Management Studio 不支援使用 LiveID 或 SAML 宣告式之 SharePoint Web 應用程式連接與驗證。這些用戶端可以使用其他形式的宣告驗證,因為它們使用 Reporting Services 驗證端點。此端點可讓用戶端透過 ASP.NET 表單驗證所使用的相同元件,與 SharePoint 進行通訊。SAML 宣告與 LiveID 驗證的運作方式不同,而且 Reporting Services 用戶端不支援。