資料庫中的資料列層級安全性
若您的組織已經努力地在資料庫中構建資料列層級安全性 (RLS),則您可能可以使用以下技術之一來利用現有的 RLS。要利用資料庫的安全模型,需要即時連線。此外,這些技術可能在 Tableau Cloud 中不可用;Tableau Cloud 的 Tableau 使用者名稱是唯一的電子郵件地址,該地址通常不是資料庫端的使用者身分。
與使用 Tableau 組建內建 RLS 模型的想法相比,實作一個內建 RLS 模型不一定會更輕鬆或更好;當組織已經對這些技術進行投資並且想利用這些投資時,通常會利用這些技術。
附註:有關可用於在 Tableau 中實作資料列層級安全性之替代方法的資訊,請參閱 Tableau 中的列層級安全性選項概觀。
模擬 (Microsoft SQL Server)
可以設定 Microsoft SQL Server(和一些相關系統),以便資料庫使用者只能使用安全連接資料表或 DBA 組建的檢視存取具有內建 RLS 篩選條件的檢視。Tableau 可以使用一種稱為「模擬」的概念來利用這一點。
將包含 MS SQL Server 連線的 Tableau 資料來源發佈到 Tableau Server 時,有兩個驗證選項可用於利用模擬。您看到的功能表將取決於您是使用網路驗證還是輸入使用者名/密碼憑證以登入到 SQL Server。
要為可以存取 Tableau Server 中已發佈資料來源的任何使用者啟用 RLS 篩選條件,AD 執行身分帳戶或內嵌 SQL 伺服器認證必須對資料庫中將存取儀表板或資料來源的所有 Tableau 使用者具有 EXECUTE AS 權限。所有 Tableau 使用者都必須以使用者身分存在於資料庫伺服器中,並且具有您嘗試連線到的檢視的 SELECT 權限(並套用 RLS)。有關要求的完整清單,請參閱模擬要求。
Kerberos 和約束委派
Tableau Server 內使用 Kerberos 的約束委派作業與模擬類似,其允許 Tableau Server 使用工作簿檢視或檢視的 Kerberos 認證代表 Viewer 執行查詢,因此若已在資料庫上設定 RLS,工作簿的 Viewer 只會看到他們自己的資料。
要查看支援 Kerberos 委派的資料庫的完整清單,請參閱啟用 Kerberos 委派。需要 Active Directory;安裝有 Tableau Server 的電腦必須加入到 Active Directory 域。發行資料來源時指定的驗證方法(連結在新視窗開啟)必須是檢視器憑證。
請注意,使用 Microsoft Analysis Services 時,可以為 RLS 使用 Kerberos。
OLAP Cube
Tableau 中的 OLAP Cube 連線沒有等效的資料來源篩選條件,這是 Tableau 中基於權利資料表的 RLS 方法或存取 USERNAME() 函式所必需的。出於這些原因,Kerberos 和約束委派是在 OLAP 資料庫中構建 RLS 的建議方法,其允許 Tableau 利用已在 OLAP 伺服器端實作的使用者篩選條件。
如果檢視儀表板的使用者不是域的一部分,則可以使用手動方法來建立使用者篩選條件。但是,由於產生的使用者篩選條件集無法新增為資料來源篩選條件,而是將存在於篩選條件架上,因此請注意,使用此方法的任何已發佈檢視都不允許使用 Web 編輯和下載工作簿功能。
SAML 委託和 SAP HANA
如果將 Tableau Server 設定為使用設定 SAP HANA SSO來提供單一登入體驗,則將使用檢視器憑證作為該使用者執行查詢,該查詢將在使用者層級上套用的任何安全性範圍內操作。 發行資料來源時指定的驗證方法(連結在新視窗開啟)必須是檢視器憑證。
初始 SQL 強制使用者特定的工作階段 (Oracle VPD)
初始 SQL 可讓您指定在連線到資料庫時執行的 SQL 命令,以便設定在工作階段期間使用的臨時資料表或設定自訂資料環境。
對於 Oracle VPD,您可以透過執行特定的存儲程序或函式來設定特定于使用者的工作階段,以設定資料庫連線的內容從而匹配 Tableau 使用者的使用者名:
begin DBMS_SESSION.SET_IDENTIFIER([TableauServerUser]); end;
與模擬一樣,對於 RLS 使用此要求時,高層級要求是相同的;DBA 必須設定 VPD 和所有關聯的使用者才能存在於資料庫中。
在 MS SQL Server 上,您可以強制 EXECUTE 作為命令(但是,這與 Tableau 使用模擬所執行的動作類似):
EXECUTE AS USER = [TableauServerUser] WITH NO REVERT;
附註:如果資料來源已內嵌,並且使用者具有 Web 編輯或下載工作簿的權限,則 RLS 不存在,因為可以輕鬆移除實施它的初始 SQL。資料來源應單獨發佈,而不是內嵌在工作簿中。
資料列層級安全性方法的比較矩陣
方法 | 有用時 | 優點 | 缺點 |
權利資料表(推薦) |
|
|
|
帶擷取的 CONTAINS() |
|
|
|
模擬 |
|
|
|
Kerberos |
|
|
|
初始化 SQL |
|
|
|