Authentication
如何讓 Kerberos 針對 Power BI 報表伺服器中的命名 SQL Server 實例工作?
我有一個 Power BI 報表伺服器,它可以完美地連接到僅使用預設實例的 SQL Server 電腦。我還可以
SSAS
使用正確的 SPN 並允許Kerberos constrained delegation
從 Power BI 服務帳戶連接到命名實例MSOLAPSVC.3 service
(SQL Server Browser)。我相信我已經正確設置了所有正確的 SPN,因為我可以執行連結伺服器並從任何東西中查詢任何東西。Kerberos 配置管理器為所有內容顯示綠色複選標記。我唯一的問題是連接到 SQL Server 引擎(不是 SSAS)的命名實例。我收到以下錯誤,如果 SPN 未正確註冊,您通常會收到該錯誤。
描述:使用者“NT AUTHORITY\ANONYMOUS LOGON”登錄失敗。原因:找不到與提供的名稱匹配的登錄名。
$$ CLIENT: x.x.x.x $$
命名實例必須如何從 Power BI 連接(可能還有 SSRS)有區別嗎?我正在嘗試對我環境中的 .pbix 文件中的遠端 SQL Server 命名實例執行 DirectQuery。
經過數小時的故障排除後,我已經完成了這項工作。我必須允許 PBI 服務帳戶在 EXPLICIT 埠上將憑據傳遞給目標 SQL Server,即使連接到 1433 上的預設實例也是如此。如果有人有任何意見,請隨時發表評論,但這是有用的我:
- 打開 Active Directory 使用者和電腦
- 右鍵點擊執行 Power BI 報表服務的服務帳戶,然後點擊“屬性”
- 點擊“委派”選項卡,然後點擊“添加”,然後點擊“使用者或電腦”
- 輸入 DESTINATION SQL Server 實例的服務帳號,點擊“確定”
- 點擊顯示埠的 MSSQLSVC 服務,無論它是預設的 1433 還是其他埠。如果您有多個命名實例,請為每個埠號添加條目。
- 點擊確定,然後再次點擊確定。
- 重新啟動 Power BI 報表伺服器 MACHINE,而不僅僅是服務。
- 打開對不同 SQL Server 實例使用 DirectQuery 的 Power BI (.pbix) 文件。
- 憑據現在應該從您(客戶端)傳遞到 Power BI 報表伺服器,然後再傳遞到任何目標伺服器。