Power BI 報表伺服器:嘗試查看報表時,使用者“NT AUTHORITYANONYMOUS LOGON”登錄失敗
我們在同一台主機上安裝了 SQL Server 2019 和 Power BI 報表伺服器。我們正在為 Power BI 報表伺服器使用虛擬服務帳戶。我們在嘗試查看報告時收到以下錯誤:
報告處理過程中發生錯誤。(rsProcessingAborted) 無法創建到數據源“DataSource1”的連接。(rsErrorOpeningConnection) 使用者“NT AUTHORITY\ANONYMOUS LOGON”登錄失敗。
我們正在嘗試從 SQL Server 2014 和 Windows 2012 上的 SSRS 遷移和升級到 Windows Server 2019 上的 SQL Server 2019 和 Power BI 報表伺服器。SQL Server 2019 已在新主機上設置,數據庫架構已遷移,Power BI 報表伺服器已安裝(與新 SQL Server 相同的主機)。我們可以毫無問題地使用 SSMS 訪問數據庫。我們能夠登錄到報告 URL (https://hostname/reports) 並且可以看到已經創建了一些報告。當我們嘗試查看報告時,我們會收到我上面提到的錯誤。
我們正在為 Power BI 報表伺服器使用虛擬服務帳戶。如前所述,Power BI 報表伺服器和 SQL Server 位於同一主機上。
對於
Data source properties > Credentials > Log into the data source
如果我們將其設置為“作為查看報告的使用者”並點擊“測試連接”按鈕,它會顯示“連接成功”
還嘗試將其設置為“通過提示使用者查看報告以獲取憑據”和“憑據類型” " 設置為 “Windows 使用者名和密碼”,但在嘗試查看報告時不會提示輸入憑據。
在這兩種情況下,我們都會收到“使用者 ‘NT AUTHORITY\ANONYMOUS LOGON’ 登錄失敗”錯誤。
web.config 有
<authentication mode="Windows" /> <identity impersonate="true" />
rsreportserver.config 有
<AuthenticationTypes> <RSWindowsNTLM/> </AuthenticationTypes>
我們也嘗試過
RSWindowsBasic
andRSWindowsNegotiate
,但沒有奏效。我們還有 2 台其他伺服器,其中安裝了 SQL Server 和 SSRS(不是 Power BI 報表伺服器)並且可以正常工作。web.config 和 rsreportserver.config 具有與上述相同的值。我在配置中找不到任何區別。
一些文章和文件提到設置 SPN,但據我了解,僅當您使用域帳戶作為服務帳戶時才需要 SPN,如果您使用虛擬服務帳戶則不需要。也許我誤解了?另請閱讀有關它可能是雙跳問題的文章,但解決方案似乎是設置 SPN,但我不確定如何為虛擬服務帳戶執行此操作。
我提到的兩個文件:
不熟悉虛擬服務帳戶,但這通常與 Kerberos 身份驗證有關。
嘗試使用Microsoft® Kerberos Configuration Manager for SQL Server®來查看它是否可以為您生成 SPN。
這是 Microsoft 提供的一個相當易於使用的工具,它將檢測您的 SPN 設置,並創建您可以執行的腳本來解決您的問題。
謝謝您的答复。我嘗試了 Kerberos 配置管理器。它檢測到 SQL 伺服器和 SSAS,但未檢測到 Power BI 報表伺服器。我最終通過在報告中重新選擇共享數據源解決了這個問題。所以我不確定它之前嘗試使用什麼數據源,因為報告已經配置為使用名為 Datsource1 的共享數據源(共享數據源的名稱)。不確定這是否與從 SSRS 到 PBIRS 的轉變有關。在報表中重新選擇共享數據源後,如果我選擇“作為查看報表的使用者”,我可以查看報表。如果我選擇“通過提示使用者查看報告以獲取憑據”,則會提示我輸入憑據,並且能夠在提供憑據後查看報告。所以它正在正常工作。然而,