SharePoint 整合模式的 Reporting Services 安全性概觀

當您將報表伺服器設定為以 SharePoint 整合模式執行時,報表伺服器會使用 SharePoint Web 應用程式中所定義的驗證提供者和權限來控制對報表伺服器項目和作業的存取。

用於存取項目和作業的權限是透過 SharePoint 安全性政策所授與,這些政策會將使用者或群組帳戶對應至權限等級 (相對於項目)。就概念上而言,這與在原生模式的報表伺服器部署中使用角色指派的方法一樣,在這種模式下指派角色時,會將使用者或群組帳戶對應至一組允許的工作 (相對於項目)。就如同在大多數以角色為基礎的授權模型中常見的情況,SharePoint 安全性會提供權限繼承功能,以降低在維護大量政策時的複雜性和負擔。

如果要將報表伺服器內容類型部署到 SharePoint 網站,您必須知道下列資訊:

在設定權限之前,必須先將每個伺服器設定為啟用整合功能。如需詳細資訊,請參閱<針對 SharePoint 2010 整合設定 Reporting Services>。

SharePoint 技術版中的驗證提供者

SharePoint Web 應用程式可以使用 Windows 驗證或表單驗證。報表伺服器可以處理這兩種形式的要求。您可以透過下列組合來設定驗證:

  • 使用 Kerberos 的 Windows 驗證

  • 使用 NT LAN Manager (NTLM) 的 Windows 驗證

  • 表單驗證

[!附註]

Reporting Services 和 SharePoint 產品及技術都支援表單驗證。實作方式則依每個產品群組而異,且彼此不相容。以 SharePoint 整合模式所執行的報表伺服器並不支援 Reporting Services 自訂驗證延伸模組。

下表摘要出每個驗證提供者的優點和缺點:

優點

缺點

使用 Kerberos 的 Windows 驗證

適用於單一伺服器和多伺服器部署狀況。

支援使用外部資料來源的 Windows 整合式認證。

無法在多伺服器部署中使用 NTLM 驗證。

需要進行複雜的網域和組態伺服器設定。

使用 NTLM 的 Windows 驗證或表單驗證

適用於 Kerberos 和所有非 Kerberos 驗證狀況。

不支援外部資料來源的 Windows 整合式認證。

SharePoint 通告驗證

SharePoint 2010 產品支援通告為主的驗證。SharePoint 整合模式中的 SQL Server 2008 R2 Reporting Services 將會透過信任帳戶驗證與 SharePoint 使用者 Token 來使用啟用 SharePoint 通告的 Web 應用程式。如需有關 Reporting Services 如何支援宣告驗證的詳細資訊,請參閱<宣告驗證與 Reporting Services>。如需有關宣告式驗證的詳細資訊,請參閱宣告式識別概觀

傳送要求至報表伺服器

報表伺服器項目或作業的所有要求都必須是經過驗證的有效要求。您所使用的驗證提供者會決定該要求的處理方式。

使用 Kerberos 的 Windows 整合式安全性

如果 SharePoint Web 應用程式已設定為使用 Kerberos 的 Windows 驗證,則從 SharePoint Web 應用程式到報表伺服器的連接就可以使用目前 Windows 使用者的模擬或委派認證進行。透過使用 Windows 整合式安全性搭配 Kerberos 和識別委派,就可以排除一般 Windows 認證會在單一連接之後逾期的「雙躍點」問題。這麼做也會擴充在設定報表和模型之資料來源連接時可用的選項集合。下列圖表所顯示的連接是在報表伺服器設定為使用 SharePoint 整合,而且 SharePoint Web 應用程式使用 Windows 驗證搭配 Kerberos 和識別委派時。

使用 SharePoint 整合模式的連接

  • 連接 1
    使用者使用在使用者登入至網路時所建立的使用者 Token 來存取 SharePoint 網站,該 Token 包含使用者識別和群組成員資格。SharePoint Web 應用程式會驗證使用者,使用者則會要求報表伺服器項目或作業。

  • 連接 2
    SharePoint Web 應用程式會將 Token 和要求傳送至報表伺服器。連接要求是以使用者的委派 Windows 識別傳送。報表伺服器會驗證使用者,以便查看是否允許使用者存取報表伺服器。

  • 連接 3
    如果驗證成功,報表伺服器就會使用 Reporting Services 執行個體的使用者帳戶來建立 SharePoint 內容資料庫的連接,以便確認使用者是否經授權可存取項目或作業。如果授權成功,報表伺服器就會服務要求。

  • 連接 4
    如果使用者正在檢視報表,報表伺服器就可以在報表處理期間委派該使用者的 Windows 識別,以便從外部資料來源擷取資料。這表示,當您設定報表上的資料來源屬性時,可以針對資料來源連接選取 [Windows 整合式安全性] 選項。如需詳細資訊,請參閱《SQL Server 線上叢書》中的<指定報表資料來源的認證和連接資訊>和<如何:建立和管理共用資料來源 (SharePoint 整合模式的 Reporting Services)>。

Windows 或表單驗證以及信任帳戶

如果 SharePoint Web 應用程式已設定為表單驗證或使用 NTLM 的 Windows 驗證,則報表伺服器的連接就會以預先定義的信任帳戶在網路上傳送 (此帳戶具有模擬報表伺服器上 SharePoint 使用者的權限)。下列圖表顯示在使用信任帳戶和 SharePoint 使用者識別時的連接。

信任連接的連接圖表

  • 連接 1
    使用者登入 SharePoint 網站。SharePoint Web 應用程式會驗證使用者。SharePoint Web 應用程式會將使用者識別轉譯為 SharePoint 使用者識別 (SPUser),並以 SPUser 的內容為該使用者建立新的使用者 Token。該 Token 包含使用者識別和群組成員資格。使用者則會要求報表伺服器項目或作業。

  • 連接 2
    SharePoint Web 應用程式會使用信任的帳戶來連接至報表伺服器,而這個帳戶就是 SharePoint Web 應用程式的處理序識別。然後,SharePoint Web 應用程式會在項目或作業的要求中模擬 SharePoint 使用者識別。

    報表伺服器會驗證連接要求是否來自信任帳戶,方法是將該帳戶與報表伺服器在啟動時從 SharePoint 組態資料庫所擷取的帳戶資訊進行比較。在報表伺服器上,信任帳戶是具有可以模擬 SharePoint Web 應用程式之權限的 Windows 使用者。它也會用來模擬 SPUser,但是無法存取報表伺服器項目和作業。

  • 連接 3
    如果驗證成功,報表伺服器就會使用 Reporting Services 執行個體的使用者帳戶來建立 SharePoint 內容資料庫的連接,以便確認 SPUser 是否經授權可存取項目或作業。如果授權成功,報表伺服器就會服務要求。

  • 連接 4
    如果使用者正在檢視報表,報表伺服器就無法使用 SPUser,從外部資料來源擷取資料,因為「雙躍點」問題。這表示,當您設定報表上的資料來源屬性時,無法針對資料來源連接選取 [Windows 整合式安全性] 選項。不過,您可以將報表設定成使用其他連接選項,例如預存認證或提示認證。如需詳細資訊,請參閱《SQL Server 線上叢書》中的<指定報表資料來源的認證和連接資訊>和<如何:建立和管理共用資料來源 (SharePoint 整合模式的 Reporting Services)>。

帳戶逾期和訂閱處理

當您建立報表的訂閱時,報表伺服器會儲存 SPUser 帳戶資訊,使其能夠確認使用者具有在傳遞時檢視報表的權限。如果 SPUser 已逾期,則訂閱作業會失敗並傳回 rsSharePointError 錯誤。名稱為 TokenTimeout 的伺服陣列屬性會決定 SPUser 可以維持有效狀態時間的長短。

設定管理和服務帳戶來使用獨特的網域使用者帳戶

SharePoint 產品或技術的部署會使用不同的帳戶執行服務及存取前端和後端伺服器。如果您為部署指定網域帳戶,請確認依據最佳作法的建議執行,並指定 SharePoint Web 應用程式專屬的帳戶。請勿將服務帳戶設定在會存取 SharePoint 網站之實際人員的網域使用者帳戶之下執行。如果您使用服務認證來存取 SharePoint 站台,您可能會遇到錯誤。

在向外延展部署中設定驗證提供者的最佳作法

如果您具有 Reporting Services 和 SharePoint 產品的向外延展部署,而且已經針對環境設定不同的驗證提供者,可能會在驗證使用者時遇到問題。例如,如果您的報表環境針對網際網路連接使用表單驗證,並針對內部網路連接使用 Windows 驗證,則要求可能會傳送至具有不符合要求驗證類型之驗證提供者的 Web 前端電腦。這可能會導致 Reporting Services 拒絕要求存取,或要求可能會在應用程式集區識別而非提出要求的使用者底下執行。

最佳作法是使用不同的 URL 來存取網際網路和內部網路的內容。或者,您也可以在 Web 前端電腦上設定主機檔案,將供網際網路存取網站的網際網路通訊協定 (IP) 位址對應至網際網路 URL,藉以覆寫網域名稱系統 (DNS) 查閱,讓網際網路 URL 的要求不會由 DNS 傳送至內部網路 URL。

報表伺服器存取 SharePoint 內容資料庫的方式

SharePoint Web 應用程式和報表伺服器都會與個別的資料庫連接以儲存應用程式狀態和其他資料,但是報表伺服器也必須連接到 SharePoint 資料庫,才能儲存和擷取項目、屬性和組態設定。下列圖表顯示與不同資料庫的伺服器連接。

連接圖表

SharePoint Web 應用程式可以使用本機或遠端的資料庫做為內部儲存體。如果 SharePoint 資料庫位於遠端電腦上,則必須使用網域帳戶進行連接。

報表伺服器可以使用本機或遠端的資料庫做為內部儲存體。不論是何種類型,都可以藉由使用下列方式進行資料庫連接:使用網域帳戶、SQL Server 登入或內建帳戶,例如 Network Service 或 Local System。

報表伺服器與 SharePoint 資料庫的連接

在 Reporting Services 中,Web 服務和 Windows 服務都需要存取 SharePoint 資料庫。上述兩種服務的服務帳戶都會以信任使用者的形式在 SharePoint Web 應用程式中執行,而且都會自動被授與存取 SharePoint 資料庫的權限。

連接的管理會從內部進行;當您使用 SharePoint 管理中心將 SharePoint Web 應用程式指向報表伺服器並設定信任帳戶時,就會設定該連接。相對於報表伺服器與其本身資料庫的連接 (此連接可以使用 Reporting Services 組態工具加以設定或修改),您無法明確地設定或管理報表伺服器對 SharePoint 資料庫的連接。

以 SharePoint 整合模式執行報表伺服器,對於在 Reporting Services 中設定服務帳戶的方式會造成條件約束。請在設定服務帳戶時使用下列方針:

  • 如果報表伺服器服務帳戶必須連接到遠端電腦上的 SharePoint 資料庫,請選擇具有網路登入權限的帳戶。

  • 如果報表伺服器和 SharePoint 資料庫位於一部電腦,而 SharePoint Web 應用程式位於遠端電腦上,請勿使用內建的帳戶 (例如 [本機系統][網路服務])。在遠端電腦上執行 SharePoint 資料庫時,SharePoint Web 應用程式會明確拒絕對定義於該遠端電腦上內建帳戶的資料庫存取。這表示,如果報表伺服器正在內建帳戶底下執行,它就無法連接至 SharePoint 資料庫,因為它與 SharePoint 資料庫在同一部電腦上執行。

  • 對於將伺服器和資料庫放置於同一電腦或不同電腦上的所有其他拓撲而言,都可以將 Reporting Services 服務帳戶設定為網域帳戶或內建帳戶。

連接至 SharePoint 資料庫時發生錯誤

如果報表伺服器無法存取 SharePoint 資料庫而且有組態錯誤 (例如,如果服務帳戶或密碼無效,或者如果尚未安裝 Windows SharePoint 物件模型的本機執行個體),則會發生 rsServerConfigurationError 錯誤。對於所有其他的連接錯誤,則會傳回 rsSharePointError 錯誤,以及本機 SharePoint 執行個體的其他錯誤資訊。

SharePoint 和 SSRS 驗證拓撲

下表列出支援的 SharePoint 和 SSRS 驗證方法與使用方式組合。

SharePoint 和 SSRS 位於同一部電腦上

SharePoint 驗證

SSRS 整合模式

SSRS 驗證

存取 SSRS 的帳戶

資料來源認證

Kerberos

整合式

交涉

使用者,可委派使用者的安全性內容

整合式、預存、提示

Kerberos

整合式

NTLM

不支援

Kerberos

信任

交涉或 NTLM

網站服務帳戶

預存、提示、整合式 (+)

NTLM

整合式

交涉

不支援

NTLM

整合式

NTLM

使用者,無法委派使用者的安全性內容

預存、提示、整合式、本機

NTLM

信任

交涉或 NTLM

網站服務帳戶

預存、提示、整合式 (+)

表單

整合式

IUSR

不支援

表單

信任

交涉或 NTLM

網站服務帳戶

預存、提示、整合式 (+)

Kerberos

整合式

交涉

使用者可委派

整合式、預存、提示

Kerberos

整合式

NTLM

不支援

Kerberos

信任 (*)

交涉

網站服務帳戶

預存、提示、整合式 (+)

Kerberos

信任 (*)

交涉

網站服務帳戶

預存、提示、整合式 (僅限 SSRS 本機)

NTLM

整合式

匿名

不支援

NTLM

信任 (*)

交涉

網站服務帳戶

預存、提示、整合式 (+)

NTLM

信任 (*)

NTLM

網站服務帳戶

預存、提示、整合式 (僅限本機)

表單

整合式

匿名

不支援

表單

信任 (*)

交涉

網站服務帳戶

預存、提示、整合式 (+)

表單

信任

NTLM

網站服務帳戶

預存、提示、整合式 (僅限本機)

(+) 如果 SharePoint 網站服務帳戶是本機帳戶,則資料來源就必須位於報表伺服器電腦的本機。如果網站服務帳戶是網域帳戶,則資料來源可以位於其他電腦上。

(*) SharePoint 網站服務帳戶必須是網域帳戶。

變更記錄

更新的內容

加入了驗證拓撲資料表。