Tableau 中的列層級安全性選項概觀
有時您想根據請求資料的使用者篩選資料。例如:
- 希望區域銷售人員僅能查看其所在區域的銷售資料。
- 希望銷售經理只看到向他們報告的銷售人員的統計資料。
- 希望學生看到僅基於他們自己的考試成績的視覺化。
以這種方式篩選資料的方法稱為列層級安全性 (RLS)。有多種方法可以在 Tableau 內部和外部實現列層級安全性,每種方法都有自己的優點和缺點。
建立使用者篩選器並將使用者手動對應到值
在 Tableau 中實現列層級安全的最簡單方法是使用使用者篩選器,可以在其中手動將使用者對應到值。例如,可以手動將名為「Alice」的使用者對應到值「East」,這樣她就只能看到資料來源中「Region」欄為「East」的資料列。
這種方法較為方便,但維護費用高並且須關注安全性。必須按工作簿完成此方法,並且您必須更新篩選器並在使用者群發生變化時重新發佈資料來源。使用這種類型的使用者篩選器發佈資產時,需要設定權限,讓使用者無法儲存或下載它並移除篩選器,從而獲得對所有資料的存取權。
詳細資訊,請參見 Tableau Desktop 和 Web 製作說明中的建立使用者篩選器並將使用者手動對應到值(連結在新視窗開啟)。
使用資料中的安全性欄位建立動態篩選器
使用此方法,您可以建立計算欄位,以自動執行將使用者對應到資料值這一過程。此方法要求基礎資料包括要用於篩選的安全資訊。例如,使用計算欄位、USERNAME() 函數和資料來源中的「Manager」欄,可以確定請求檢視的使用者是否是 Manager 並相應地調整檢視中的資料。
由於篩選是在資料層級定義的,並由計算欄位自動進行,因此此方法比將使用者手動對應到資料值較不可能有錯誤。使用這種類型的使用者篩選器發佈資產時,需要設定權限,讓使用者無法儲存或下載它並移除篩選器,從而獲得對所有資料的存取權。
詳細資訊,請參見 Tableau Desktop 和 Web 製作說明中的使用資料中的安全性欄建立動態篩選器(連結在新視窗開啟)。
使用資料原則
從 Tableau 2021.4 開始,在 Tableau Server 或 Tableau Cloud 啟用 資料管理 時,擁有 Creator 授權的使用者可以用虛擬連線上的資料原則實現列層級安全性。由於虛擬連線是集中式且可重複使用的,因此可以在一個地方為使用該連線的所有內容安全可靠地管理每個連線的列層級安全性。
與 Tableau 中的上述列層級安全解決方案不同,如果作者忽略正確保護工作簿或資料來源的權限,此方法不會帶來資訊洩露的相同風險,因為該原則是針對每個查詢在伺服器上強制執行的。
開發以虛擬連線資料原則建立的列層級安全性是為了解決其他列層級安全性解決方案的缺點。我們推薦在大多數情況下使用此解決方案。
有關在虛擬連線上使用資料原則的列層級安全性的更多資訊,請參閱關於虛擬連線和資料原則。
使用資料庫中現有的 RLS
許多資料來源都備有內建的 RLS 機制。如果您的組織已著手在資料來源中建立列層級安全性,則可以利用現有的 RLS。
與使用 Tableau 組建內建 RLS 模型的想法相比,實作一個內建 RLS 模型不一定會更輕鬆或更好;當組織已經對這些技術進行投資並且希望利用這項投資,或者需要將相同的安全性原則套用於除 Tableau 之外的其他資料庫用戶端時,通常會利用這些技術。
使用內建 RLS 的主要優點是管理員可在單一位置(即其資料庫中)實作和控制其資料安全性原則。
傳遞使用者屬性
您可以傳遞包含在 JSON Web 權杖 (JWT) 中的使用者屬性,以自訂和控制對 Tableau Cloud 內嵌工作流程中資料的存取。有關詳情,請參閱內嵌 v3 API(連結在新視窗開啟) 說明。
列層級安全性比較
RLS 選項 | 有用時 | 優點 | 缺點 |
---|---|---|---|
手動使用者篩選器 |
|
|
|
動態使用者篩選器 |
|
|
|
資料原則 |
|
|
|
資料庫中的 RLS |
|
|
|
使用者屬性 |
|
|
|