SQL Server Reporting Services (SSRS) 提供數個可設定的選項,可針對報表伺服器驗證使用者和用戶端應用程式。 通常,報表伺服器使用 Windows 整合式驗證,並假設客戶端及網路資源處於相同網域或受信任網域時的信任關係。 視您的網路拓撲和組織需求而定,您可以自定義用於 Windows 整合式驗證的驗證通訊協定、使用基本身份驗證,或使用您提供的自定義表單型驗證延伸模組。 每個驗證類型都可以個別開啟或關閉。 如果您想要報表伺服器接受多個類型的要求,您可以啟用多個驗證類型。
備註
在舊版 Reporting Services 中,IIS 會提供所有驗證支援。 從 SQL Server 2008 版本開始,不再使用 IIS。 Reporting Services 會在內部處理所有驗證要求。
要求報表伺服器內容或作業存取權的所有使用者或應用程式都必須經過驗證,才能允許存取。
驗證類型
要求存取報表伺服器內容或作業的所有使用者或應用程式,都必須使用報表伺服器上設定的驗證類型進行驗證,才能允許存取。 下表描述 Reporting Services 支援的驗證類型。
| 驗證類型名稱 | HTTP 驗證層值 | 預設使用 | 說明 |
|---|---|---|---|
| RSWindowsNegotiate | 談判 | 是的 | 嘗試先使用 Kerberos 進行 Windows 整合式驗證,但如果 Active Directory 無法將用戶端要求的票證授與報表伺服器,則會回復為 NTLM。 當票證無法使用時,協商只會回退到 NTLM。 如果第一次嘗試導致錯誤,而不是遺漏票證,報表伺服器就不會進行第二次嘗試。 |
| RSWindowsNTLM | NTLM | 是的 | 使用 NTLM 進行 Windows 整合式驗證。 憑證不會在其他請求中委派或冒充。 後續要求會遵循新的挑戰-回應順序。 視網路安全性設定而定,系統可能會提示使用者輸入認證,或以透明方式處理驗證要求。 |
| RSWindowsKerberos | Kerberos | 否 | 使用 Kerberos 進行 Windows 整合式驗證。 您必須設定 Kerberos,這樣需要擁有網域系統管理員許可權的情況下,為您的服務帳戶設定服務主體名稱(SPN)。 如果您使用 Kerberos 設定身分識別委派,則要求報表的使用者令牌也可以用於與提供報表數據的外部數據來源的其他連線。 在您指定 RSWindowsKerberos 之前,請確定您使用的瀏覽器類型實際上支援它。 如果您使用 Internet Explorer,則只有透過 Negotiate 才支援 Kerberos 驗證。 Internet Explorer 不會制定直接指定 Kerberos 的驗證要求。 |
| RSWindowsBasic | 基本 | 否 | 基本身份驗證是在 HTTP 通訊協定中定義,而且只能用來驗證報表伺服器的 HTTP 要求。 憑證會以 base64 編碼傳入 HTTP 請求。 如果您使用基本身份驗證,請在透過網路傳送使用者帳戶資訊之前,先使用安全套接字層 (SSL) 加密使用者帳戶資訊。 SSL 提供加密通道,可透過 HTTP TCP/IP 連線,將連線要求從客戶端傳送至報表伺服器。 如需詳細資訊,請參閱在 Microsoft TechNet 網站上 使用 SSL 加密機密數據 。 |
| 習慣 | (匿名) | 否 | 匿名驗證會指示報表伺服器忽略 HTTP 要求中的驗證標頭。 報表伺服器會接受所有的請求,但會呼叫您所提供的自訂 ASP.NET 表單驗證來驗證使用者的身分。 只有在您要部署處理報表伺服器上所有驗證要求的自訂驗證模組時,才指定 Custom 。 您無法使用具有預設 Windows 驗證延伸模組的自訂驗證類型。 |
不支援的驗證方法
不支援下列驗證方法和要求。
| 驗證方法 | 說明 |
|---|---|
| 匿名 | 報表伺服器不會接受匿名使用者的未經驗證要求,但包含自定義驗證延伸模組的部署除外。 如果您在針對基本身份驗證設定的報表伺服器上啟用報表產生器存取權,報表產生器將會接受未經驗證的要求。 針對所有其他情況,匿名請求會在到達 ASP.NET 之前即被拒絕,並產生 HTTP 狀態 401 的存取被拒錯誤。 接收 401 拒絕存取的客戶端必須使用有效的驗證類型來重新設定要求。 |
| 單一登入技術 (SSO) | Reporting Services 中沒有原生支援單一登錄技術。 如果您想要使用單一登錄技術,您必須建立自訂驗證延伸模組。 報表伺服器裝載環境不支援 ISAPI 篩選。 如果您使用的 SSO 技術實作為 ISAPI 篩選器,請考慮使用 RSASecueID 或 RADIUS 通訊協定的 ISA Server 內建支援。 否則,您可以建立 ISA Server ISAPI 或適用於 RS 的 HTTPModule,但建議您直接使用 ISA Server。 |
| 護照 | SQL Server 2014 不支援。 |
| 摘要 | SQL Server 2014 不支援。 |
身份驗證設定配置
當報表伺服器 URL 被保留時,會設定驗證設定以確保預設安全性。 如果您修改這些設定不正確,報表伺服器會針對無法驗證的 HTTP 要求傳回 HTTP 401 拒絕存取錯誤。 選擇驗證類型時,您必須已經知道網路支援 Windows 驗證的方式。 至少必須指定一個驗證類型。 您可以為 RSWindows 指定多個驗證類型。 RSWindows 驗證類型(即 、RSWindowsBasicRSWindowsNTLM、RSWindowsKerberos、 和 RSWindowsNegotiate)與 Custom 互斥。
這很重要
Reporting Services 不會驗證您指定的設定,以判斷它們是否適合您的運算環境。 默認安全性可能不適用於您的安裝,或者您將指定對安全性基礎結構無效的組態設定。 基於這個理由,請務必先仔細測試受控制測試環境中的報表伺服器部署,再提供給較大的組織使用。
報表伺服器 Web 服務和報表管理員一律使用相同的驗證類型。 您無法為報表伺服器服務的功能區域設定不同的驗證類型。 如果您有向外延展部署,請務必複製部署中所有節點上的所有變更。 您無法將相同向外延展中的不同節點設定為使用不同的驗證類型。
背景處理不接受終端使用者的要求,但會針對自動執行目的驗證所有要求。 它一律會使用 Windows 驗證,並在設定時使用報表伺服器服務或自動執行帳戶來驗證要求。
本節中
相關工作
| 工作描述 | 連結 |
|---|---|
| 設定 Windows 整合式驗證類型。 | 設定報表伺服器上的 Windows 驗證 |
| 設定基本身份驗證類型。 | 在報表伺服器上設定基本身份驗證 |
| 設定表單驗證或其他自訂驗證類型。 | 設定報表伺服器上的自訂或表單驗證 |
| 讓報表管理員能夠處理自定義驗證案例。 | 設定報表管理員傳遞自定義驗證 Cookie |
另請參閱
賦予原生模式報表伺服器權限
RSReportServer 組態檔
【create-and-manage-role-assignments.md】
指定報表數據源的認證和連接資訊
實作安全性延伸模組
在原生模式報表伺服器上設定 SSL 連線
設定報表產生器存取
安全性延伸模組概觀
Reporting Services 中的驗證
Reporting Services 中的授權