報表伺服器中的驗證
Microsoft SQL Server Reporting Services (SSRS) 會提供多種可設定選項,便於針對報表伺服器進行使用者及用戶端應用程式的驗證。 根據預設,報表伺服器會使用 Windows 整合式驗證,以及假設用戶端及網路資源全都位於相同網域或信任網域的信任關係。 視網路拓撲及組織需求而定,您可以自訂用於 Windows 整合式驗證的驗證通訊協定。 否則,您可以使用基本驗證或您提供的自訂表單型驗證延伸項目。 每一個驗證類型都可以個別開啟或關閉。 如果您希望報表伺服器接受多種類型的要求,可以啟用一種以上的驗證。
驗證類型
所有要求存取至報表伺服器內容或作業的使用者或應用程式都會在獲得存取權前,使用報表伺服器上設定的驗證類型驗證完畢。 下表描述 Reporting Services 支援的驗證類型。
驗證類型名稱 | HTTP 驗證層的值 | 預設使用 | 描述 |
---|---|---|---|
RSWindowsNegotiate | 交涉 | Yes | 此類型先嘗試使用 Windows 整合式驗證的 Kerberos 驗證,但是如果 Active Directory 無法將用戶端要求的票證授與報表伺服器,就會回到 NTLM (NT LAN Manager)。 只有當票證無法使用時,Negotiate 才會回到 NTLM。 如果第一次嘗試所產生的錯誤並不是遺失票證,報表伺服器不會進行第二次的嘗試。 |
EnableAuthPersistance | NTLM | Yes | 此類型使用 Windows 整合式驗證的 NTLM。 系統不會在其他要求上委派或模擬認證。 後續的要求將遵循新的挑戰-回應序列。 根據您的網路安全性設定,系統可能會提示使用者輸入認證,否則將會以透明的方式處理驗證要求。 |
RSWindowsKerberos | Kerberos | No | 此類型使用 Windows 整合式驗證的 Kerberos。 使用服務帳戶的安裝程式服務主體名稱 (SPN) 設定 Kerberos。 安裝程式需要網域系統管理員權限。 您可以使用 Kerberos 設定身分識別委派。 當您這麼做的時候,要求報表之使用者的 Token 也可以用於其他連線。 此連線可以是提供資料給報表的外部資料來源。 在您指定 RSWindowsKerberos 之前,請確定您所使用的瀏覽器類型實際上可支援它。 如果您使用 Microsoft Edge 或 Internet Explorer,則只能透過 Negotiate 支援 Kerberos 驗證。 Microsoft Edge 或 Internet Explorer 不會構成一個直接指定 Kerberos 的驗證要求。 |
RSWindowsBasic | 基本 | 否 | 基本驗證定義在 HTTP 通訊協定中,而且只能用於驗證報表伺服器的 HTTP 要求。 認證會以 base64 編碼的形式傳入 HTTP 要求中。 如果您使用基本驗證,請利用傳輸層安全性 (TLS) (先前稱為安全通訊端層 (SSL)) 來加密使用者帳戶資訊,然後再透過網路傳送該資訊。 SSL 提供了透過 HTTP TCP/IP 連接將連接要求從用戶端傳送到報表伺服器的加密通道。 如需詳細資訊,請參閱使用 SSL 加密機密資料。 |
Custom | (Anonymous) | 否 | 匿名驗證會指引報表伺服器忽略 HTTP 要求中的驗證標頭。 報表伺服器會接受所有要求,但是會在您提供的自訂 ASP.NET 表單驗證上呼叫來驗證使用者。 只有當您部署自訂驗證模組來處理報表伺服器上的所有驗證要求時,才能指定 Custom。 您不能搭配預設 Windows 驗證延伸項目來使用 Custom 驗證類型。 |
支援的驗證方法
下列的驗證方法和要求不受到支援:
驗證方法 | 說明 |
---|---|
匿名 | 報表伺服器將不會接受來自匿名使用者的未驗證要求,但是包含自訂驗證延伸模組的部署除外。 如果您在有設定基本驗證的報表伺服器上啟用 Report Builder 的存取,Report Builder 將會接受未經過驗證的要求。 在其他所有的情況下,當要求到達 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 Reporting Services 中不支援。 |
Digest | SQL Server Reporting Services 中不支援。 |
設定驗證設定
當保留報表伺服器 URL 時,會將驗證設定設定為使用預設安全性。 如果您錯誤地修改這些設定,報表伺服器將會針對無法驗證的 HTTP 要求傳回「HTTP 401 拒絕存取」錯誤。 選擇驗證類型時,您必須已經知道您的網路支援 Windows 驗證的方式。 至少必須指定一個驗證類型。 可以針對 RSWindows 指定多個驗證類型。 RSWindows 驗證類型 (RSWindowsBasic、RSWindowsNTLM、RSWindowsKerberos 和 RSWindowsNegotiate) 與 Custom 互斥。
重要
Reporting Services 不會驗證您所指定的設定來判斷它們對於您的運算環境是否正確。 預設安全性無法在您的安裝中運作,或是您指定的組態設定對於安全性基礎結構無效,都是有可能發生的事情。 您一定要先在受到控制的測試環境中仔細測試您的報表伺服器部署,然後才可以將它提供給較大的組織使用。
報表伺服器 Web 服務和入口網站一定會使用相同的驗證類型。 您無法針對報表伺服器服務的功能區來設定不同的驗證類型。 如果您具有向外延展部署,請務必複製部署中所有節點的所有變更。 在相同的向外延展部署中,您不能設定不同的節點使用不同的驗證類型。
幕後處理不接受來自終端使用者的要求,但是它會驗證自動執行目的的所有要求。 它一律會使用 Windows 驗證且會使用報表伺服器服務或自動執行帳戶 (若設定了驗證) 來驗證要求。