設定 Analysis Services 以進行 Kerberos 限制委派
適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
設定 Analysis Services 進行 Kerberos 驗證時,您最可能想要達成下列其中一個或兩個結果:讓 Analysis Services 在查詢數據時模擬使用者身分識別:或讓 Analysis Services 將使用者身分識別委派給下層服務。 每個案例都會呼叫稍微不同的組態需求。 這兩種案例都需要驗證,以確保設定已正確完成。
提示
Microsoft 適用於 SQL Server 的 Kerberos Configuration Manager 是一種診斷工具,可協助針對 SQL Server 的 Kerberos 相關連線問題進行疑難解答。 如需詳細資訊,請參閱 sql Server
本主題包含下列各節:
注意
如果 Analysis Services 的連線是單一躍點,或您的解決方案使用 SharePoint Secure Store Service 或 Reporting Services 所提供的預存認證,則不需要委派。 如果所有連線都是從 Excel 到 Analysis Services 資料庫的直接連線,或根據預存認證,您可以使用 Kerberos (或 NTLM),而不需要設定限制委派。
如果使用者身分識別必須流過多部計算機連線,則需要 Kerberos 限制委派(稱為「雙躍點」)。 當 Analysis Services 數據存取取決於使用者身分識別,而聯機要求來自委派服務時,請使用下一節中的檢查清單,以確保 Analysis Services 能夠模擬原始呼叫端。 如需 Analysis Services 驗證流程的詳細資訊,請參閱 Microsoft BI 驗證和身分識別委派。
作為安全性最佳做法,Microsoft一律建議限制委派,而不受限制的委派。 不受限制的委派是一個主要的安全性風險,因為它允許服務身分識別模擬其他使用者,任何 下游計算機、服務或應用程式(而不只是透過限制委派明確定義的這些服務)。
允許 Analysis Services 模擬使用者身分識別
若要允許 Reporting Services、IIS 或 SharePoint 等上層服務模擬 Analysis Services 上的使用者身分識別,您必須為這些服務設定 Kerberos 限制委派。 在此案例中,Analysis Services 會使用委派服務所提供的身分識別模擬目前使用者,並根據該使用者身分識別的角色成員資格傳回結果。
任務 | 描述 |
---|---|
步驟 1:確認帳戶適合委派 | 請確定用來執行服務的帳戶在 Active Directory 中具有正確的屬性。 Active Directory 中的服務帳戶不得標示為敏感性帳戶,或特別排除在委派案例之外。 如需詳細資訊,請參閱 瞭解使用者帳戶。 注意:一般而言,所有帳戶和伺服器都必須屬於相同的 Active Directory 網域,或屬於相同樹系中的受信任網域。 不過,因為 Windows Server 2012 支援跨網域界限委派,因此如果網域功能等級為 Windows Server 2012,您可以跨網域界限設定 Kerberos 限制委派。 另一個替代方法是設定 Analysis Services 進行 HTTP 存取,並在用戶端連線上使用 IIS 驗證方法。 如需詳細資訊,請參閱 設定 Internet Information Services 上 Analysis Services 的 HTTP 存取權 (IIS) 8.0。 |
步驟 2:註冊 SPN | 設定限制委派之前,您必須註冊 Analysis Services 實例的服務主體名稱 (SPN)。 設定中介層服務的 Kerberos 限制委派時,您將需要 Analysis Services SPN。 如需指示,請參閱 Analysis Services 實例的 SPN 註冊。 服務主體名稱 (SPN) 會指定為 Kerberos 驗證所設定網域中服務的唯一身分識別。 使用整合式安全性的用戶端連線通常會要求SPN作為SSPI驗證的一部分。 如果用戶端提供的 SPN 在 Active Directory 中具有相符的 SPN 註冊,則要求會轉送至 Active Directory 域控制器 (DC),KDC 會授與票證。 |
步驟 3:設定限制委派 | 驗證您想要針對這些帳戶使用和註冊 SPN 的帳戶之後,下一個步驟是設定上層服務,例如 IIS、Reporting Services 或 SharePoint Web 服務進行限制委派,將 Analysis Services SPN 指定為允許委派的特定服務。 在 SharePoint 中執行的服務,例如 SharePoint 模式中的 Excel Services 或 Reporting Services,通常會裝載使用 Analysis Services 多維度或表格式數據的活頁簿和報表。 設定這些服務的限制委派是常見的設定工作,而且需要支援 Excel Services 的數據重新整理。 下列連結提供 SharePoint 服務的指示,以及其他可能呈現 Analysis Services 數據的下游數據連線要求的服務: Excel Services 的身分識別委派 (SharePoint Server 2010) 或 如何在 SharePoint Server 2010 中設定 Excel Services 以進行 Kerberos 驗證 PerformancePoint Services 的身分識別委派 (SharePoint Server 2010) SQL Server Reporting Services 的身分識別委派 (SharePoint Server 2010) 如需 IIS 7.0,請參閱 設定 Windows 驗證 (IIS 7.0) 或 如何設定 SQL Server 2008 Analysis Services 和 SQL Server 2005 Analysis Services 以使用 Kerberos 驗證。 |
步驟 4:測試連線 | 測試時,請從遠端計算機、不同身分識別下連線,並使用與商務使用者相同的應用程式查詢 Analysis Services。 您可以使用 SQL Server Profiler 來監視連線。 您應該會在要求中看到使用者身分識別。 如需詳細資訊,請參閱本節中的 測試模擬或委派身分識別。 |
設定 Analysis Services 以進行信任委派
設定 Analysis Services for Kerberos 限制委派可讓服務在下層服務上模擬用戶端身分識別,例如關係資料庫引擎,以便查詢數據,就像直接連接用戶端一樣。
Analysis Services 的委派案例僅限於針對 DirectQuery 模式設定的表格式模型。 這是 Analysis Services 將委派認證傳遞至另一個服務的唯一案例。 在所有其他案例中,例如上一節所述的 SharePoint 案例,Analysis Services 位於委派鏈結的接收端。 如需 DirectQuery 的詳細資訊,請參閱 DirectQuery 模式。
注意
常見的誤解是,ROLAP 記憶體、處理作業或對遠端分割區的存取,以某種方式導入限制委派的需求。 情況並非如此。 所有這些作業都是由服務帳戶直接執行(也稱為處理帳戶),代表其自行執行。 在 Analysis Services 中,這些作業不需要委派,因為這類作業的許可權會直接授與服務帳戶(例如,授與關係資料庫的db_datareader許可權,以便服務可以處理數據)。 如需伺服器作業和權限的詳細資訊,請參閱 設定服務帳戶 (Analysis Services)。
本節說明如何設定 Analysis Services 以進行信任委派。 完成這項工作之後,Analysis Services 將能夠將委派的認證傳遞至 SQL Server,以支援表格式解決方案中使用的 DirectQuery 模式。
開始之前:
確認 Analysis Services 已啟動。
確認為 Analysis Services 註冊的 SPN 是否有效。 如需指示,請參閱 Analysis Services 實例的 SPN 註冊
滿足這兩個必要條件時,請繼續進行下列步驟。 請注意,您必須是網域系統管理員,才能設定限制委派。
在 [Active Directory 使用者和計算機] 中,尋找 Analysis Services 執行所在的服務帳戶。 以滑鼠右鍵按下服務帳戶,然後選擇 [屬性]
。 為了說明目的,下列螢幕快照會分別使用 OlapSvc 和 SQLSvc 來代表 Analysis Services 和 SQL Server。
OlapSvc 是將設定為限制委派 SQLSvc 的帳戶。 當您完成這項工作時,OlapSvc 將服務票證上的委派認證傳遞給 SQLSvc,並在要求數據時模擬原始呼叫端。
在 [委派] 索引標籤上,選取 [信任此使用者僅委派至指定的服務,後面接著 只使用 Kerberos。 單擊 [[新增],以指定允許哪些服務 Analysis Services 委派認證。
只有在將用戶帳戶 (OlapSvc) 指派給服務時,才會顯示 [委派] 索引標籤,且服務已為其註冊 SPN。 SPN 註冊需要服務正在執行。
在 [新增服務] 頁面上,按兩下 [[使用者或計算機]。
在 [選取使用者或計算機] 頁面上,輸入用來執行 SQL Server 實例的帳戶,將數據提供給 Analysis Services 表格式模型資料庫。 按兩下 [確定] 接受服務帳戶。
如果您無法選取您想要的帳戶,請確認 SQL Server 正在執行,且已針對該帳戶註冊 SPN。 如需資料庫引擎 SPN 的詳細資訊,請參閱 註冊 Kerberos 連線的服務主體名稱。
SQL Server 實例現在應該會出現在 [新增服務] 中。 也使用該帳戶的任何服務也會出現在清單中。 選擇您想要使用的 SQL Server 實例。 按兩下 [確定] 接受 實例。
Analysis Services 服務帳戶的屬性頁面現在看起來應該類似下列螢幕快照。 按兩下 [確定] [確定] 以儲存您的變更。
從遠端用戶端計算機、不同身分識別下連線並查詢表格式模型,以測試成功委派。 您應該會在 SQL Server Profiler 的要求上看到使用者身分識別。
測試模擬或委派的身分識別
使用 SQL Server Profiler 來監視正在查詢數據的使用者身分識別。
在 Analysis Services 實例上啟動 SQL Server Profiler,然後啟動新的追蹤。
在 [事件選取] 中,確認 [安全性稽核] 區段中已核取 [稽核登入] 和 [稽核註銷]。
透過遠端用戶端電腦的應用程式服務(例如 SharePoint 或 Reporting Services)連線到 Analysis Services。 Audit Login 事件會顯示連線到 Analysis Services 的使用者身分識別。
徹底測試需要使用網路監視工具來擷取網路上的 Kerberos 要求和回應。 針對 Kerberos 篩選的網路監視器公用程式 (netmon.exe),可用於這項工作。 如需使用 Netmon 3.4 和其他工具來測試 Kerberos 驗證的詳細資訊,請參閱 設定 Kerberos 驗證:核心組態 (SharePoint Server 2010)。
另請參閱
Microsoft BI 驗證和身分識別委派
使用 Kerberos
Analysis Services 實例的 SPN 註冊
連接字串屬性 (Analysis Services)