Share via


Reporting Services 中的驗證類型

Reporting Services 會透過隨著伺服器一起安裝的 Windows 驗證延伸模組或是您所部署的自訂驗證延伸模組來處理 HTTP 要求的所有驗證功能。Windows 驗證延伸模組可支援多種驗證類型,好讓您可以精確地控制報表伺服器將會接受的 HTTP 要求。驗證類型包括:RSWindowsNegotiate、RSWindowsKerberos、RSWindowsNTLM 和 RSWindowsBasic。每一個驗證類型都可以個別開啟或關閉。如果您希望報表伺服器接受多種類型的要求,可以啟用一種以上的類型。

[!附註]

在舊版的 Reporting Services 中,IIS 支援所有的驗證類型。從 SQL Server 2008 版開始,不再使用 IIS。Reporting Services 會在內部處理所有驗證要求。

驗證類型

下表描述 Reporting Services 支援的驗證類型。

AuthenticationType 名稱

HTTP 驗證層的值

預設使用

描述

RSWindowsNegotiate

Negotiate

RSWindowsNegotiate 會指引報表伺服器處理驗證要求來指定 Negotiate。Negotiate 會先嘗試 Kerberos 驗證,但是如果 Active Directory 無法將用戶端要求的票證授與給報表伺服器,就會回到 NTLM。只有當票證無法使用時,Negotiate 才會回到 NTLM。如果第一次嘗試所產生的錯誤並不是遺失票證,報表伺服器不會進行第二次的嘗試。

RSWindowsNTLM

NTLM

NTLM 會透過描述為挑戰-回應的私密資料交換來驗證使用者。

將不會在其他要求上委派或模擬認證。後續的要求將遵循新的挑戰-回應序列。根據網路安全性設定,系統可能會提示使用者輸入認證,否則將會以透明的方式處理驗證要求。

RSWindowsKerberos

Kerberos

如果是指定 Kerberos 驗證的要求,報表伺服器會讀取發出此要求之使用者的安全性 Token 上的權限。如果網域中已啟用委派,要求報表之使用者的 Token 也可以用於提供資料給報表之外部資料來源的其他連接。

在您指定 RSWindowsKerberos 之前,請確定您所使用的瀏覽器類型實際上可支援它。如果您使用 Internet Explorer,Kerberos 驗證只能透過 Negotiate 來支援。Internet Explorer 將不會構成一個直接指定 Kerberos 的驗證要求。

RSWindowsBasic

Basic

基本驗證定義在 HTTP 通訊協定中,而且只能用於驗證報表伺服器的 HTTP 要求。

認證會以 base64 編碼的形式傳入 HTTP 要求中。如果您使用基本驗證,請利用安全通訊端層 (SSL) 來加密使用者帳戶資訊,然後再透過網路傳送這項資訊。SSL 提供了透過 HTTP TCP/IP 連接將連接要求從用戶端傳送到報表伺服器的加密通道。如需詳細資訊,請參閱 Microsoft TechNet 網站上的<使用 SSL 將機密資料加密>(英文)。

Custom

(Anonymous)

匿名驗證會指引報表伺服器忽略 HTTP 要求中的驗證標頭。報表伺服器會接受所有的要求,但是會在您提供的自訂 ASP.NET 表單驗證上呼叫來驗證使用者。

只有當您部署自訂驗證模組來處理報表伺服器上的所有驗證要求時,才能指定 Custom。您不能搭配預設 Windows 驗證延伸模組來使用 Custom 驗證類型。

支援的驗證方法

下列的驗證方法和要求不受到支援。

驗證方法

說明

匿名

報表伺服器將不會接受來自匿名使用者的未驗證要求,但是包含自訂驗證延伸模組的部署除外。

如果您在有設定基本驗證的報表伺服器上啟用報表產生器的存取,報表產生器將會接受未經過驗證的要求。

在其他所有的情況下,當要求到達 ASP.NET 之前,匿名使用者都會遭到拒絕,並產生「HTTP 狀態 401」拒絕存取的錯誤。收到「401 拒絕存取」錯誤的用戶端必須使用有效的驗證類型來重新構成要求。

單一登入技術 (SSO)

Reporting Services 中的單一登入技術並沒有原生支援。如果您想要使用單一登入技術,您必須建立自訂驗證延伸模組。

主控環境的報表伺服器不支援 ISAPI 篩選。如果您所使用的 SSO 技術實作為 ISAPI 篩選,請考慮針對 RSASecueID 或 RADIUS 通訊協定使用 ISA Server 內建支援。否則,您可以建立 ISA Server ISAPI 或 HTTPModule for RS,但是建議您直接使用 ISA Server。

Passport

SQL Server 2008 不支援這個項目。

摘要

SQL Server 2008 不支援這個項目。

如何設定驗證設定

當保留報表伺服器 URL 時,會將驗證設定設定為使用預設安全性。如果您錯誤地修改這些設定,報表伺服器將會針對無法驗證的 HTTP 要求傳回「HTTP 401 拒絕存取」錯誤。選擇驗證類型時,您必須已經知道您的網路支援 Windows 驗證的方式。至少必須指定一個驗證類型。可以針對 RSWindows 指定多個驗證類型。RSWindows 驗證類型 (也就是 RSWindowsBasic、RSWindowsNTLM、RSWindowsKerberos 和 RSWindowsNegotiate) 與 Custom 互斥。

重要事項重要事項

Reporting Services 不會驗證您所指定的設定來判斷它們對於您的運算環境是否正確。預設安全性無法在您的安裝中運作,或是您指定的組態設定對於安全性基礎結構無效,都是有可能發生的事情。因此,您一定要先在受到控制的測試環境中仔細測試您的報表伺服器部署,然後才可以將它提供給較大的組織使用。

報表伺服器 Web 服務和報表管理員一定會使用相同的驗證類型。您無法針對報表伺服器服務的功能區來設定不同的驗證類型。如果您具有向外延展部署,請務必複製部署中所有節點的所有變更。在相同的向外延展部署中,您不能設定不同的節點使用不同的驗證類型。

背景處理不接受來自使用者的要求,但是它會驗證自動執行目的的所有要求。它一定會使用 Windows 驗證,然後使用報表伺服器服務或自動執行帳戶 (如果有設定的話) 來驗證要求。

如需有關在 Reporting Services 中設定驗證的詳細資訊,請參閱以下主題:

如何:在 Reporting Services 中設定 Windows 驗證

如何:在 Reporting Services 中設定基本驗證

如何:在 Reporting Services 中設定自訂或表單驗證