使用靜態方法設定資料列層級安全性

已完成

數據 列層級安全性中的靜態方法 (RLS) 會使用 DAX 篩選中的固定值,而動態方法則使用 DAX 函式。

RLS 涉及數個設定步驟,且這些步驟應依照下列順序完成:

  1. 在 Microsoft Power BI Desktop 中建立報表。

    1. 匯入資料。

    2. 確認這兩個數據表之間的語意模型。

    3. 建立報表視覺效果。

  2. 使用 DAX 在 Power BI Desktop 中建立 RLS 角色。

  3. 在 Power BI Desktop 中測試角色。

  4. 將報表部署至 Microsoft Power BI 服務。

  5. 在 Power BI 服務中將成員新增至角色。

  6. 在 Power BI 服務中測試角色。

在 Power BI Desktop 中建立報表

遵循一般步驟以在 Power BI Desktop 中建立報表。 使用 Microsoft Power Query 來擷取及清理資料。 然後,使用 [模型] 索引標籤確認兩個資料表之間存在關聯性;其在 empID 資料行上應為一對多關聯性。

下一個步驟是建立 Power BI 報表。

我們要在 RLS 中使用的 Power BI 報表螢幕擷取畫面。

請注意資料表包括所有部門的所有銷售資料列。 您將會限制可見度,讓特定部門員工只能看見其部門的銷售。

在 Power BI Desktop 中建立 RLS 角色

若要在 Power BI Desktop 中建立 RLS 角色,請選取 [模型] 索引標籤,然後選取 [管理角色]。

Power BI Desktop [模型] 索引標籤中 [管理角色] 的螢幕擷取畫面。

在 [管理角色] 頁面上,選取 [建立]。

[管理角色] 中 [建立] 按鈕的螢幕擷取畫面。

Power BI 資料列層級安全性 (RLS) 使用 DAX 來控制哪些人可查看的資料為何。 您可將其視為是無論使用者在 Power BI 報表上選擇的篩選、交叉分析篩選器或互動為何,皆一律將另一個篩選新增至適當的使用者。

在 [管理角色] 頁面上,為每個部門建立角色,然後將 DAX 運算式新增至其中。 例如,您可建立名為 Game 的角色,然後新增 DAX 運算式 [department] = "Game"。 接著,每次該角色的成員與報表互動時,Power BI 就會將該篩選新增至其互動,進而限制其看到的內容。

在篩選中會在等號的右側使用固定值 (在此案例中為 "Game")。 這表示如果需要新增類別,即必須在 DAX 運算式中使用新值來建立新的角色。

[管理角色] 對話方塊的螢幕擷取畫面,其中顯示 [角色]、[資料表] 和 [資料表篩選 DAX 運算式]。

請注意在維度資料表中套用 DAX 篩選的方式。 以星型結構描述組織資料時,資料列層級安全性的執行效果比較好。 將 DAX 篩選套用到維度資料表,如同對 Products 資料表執行的操作。

DAX 篩選會套用到使用者套用的每個互動、交叉分析篩選器和篩選。 若具有執行不佳的 DAX 篩選,使用者體驗即會受到負面影響。 因此,請盡可能讓 DAX 篩選保持簡單。

在 Power BI Desktop 中測試角色

您可透過選取 [建立模型] 索引標籤,然後選取 [以角色檢視] 來驗證該篩選。

[模型] 索引標籤上 [以角色身分檢視] 按鈕的螢幕擷取畫面。

在 [以角色身分檢視] 視窗中,選取 Game 角色。 報表現在會根據該角色進行轉譯,彷彿您正在該角色中,且您只會看見包含在 Game 部門中的記錄。

在 Power BI Desktop 中運作的資料列層級安全性螢幕擷取畫面。

您可透過再次選取 [以角色身分檢視],然後選取 [無] 來還原此篩選。

將報表部署至 Power BI 服務

您可透過選取 [首頁] 索引標籤上的 [發佈] 按鈕,然後選取工作區,以將報表部署至 Power BI 服務。

在 Power BI 服務中將成員新增至角色

若要在 Power BI 服務中將成員新增至角色,請在 Power BI 服務中前往工作區。 尋找您使用與報表同名建立的語意模型。 選取省略符號 () 按鈕,然後選取 [安全性]。

語意模型上安全性按鈕的螢幕快照。

在 [數據列層級安全性] 畫面中,您可以將 Microsoft Entra ID 使用者和安全組新增至安全性角色。 將成員新增至此角色時,先前所定義的 DAX 篩選即會套用到這些角色。 如果成員未新增至角色卻可存取報表,則 RLS 就不會套用到這些成員。 您可將三個 Game 部門中的人員新增至 Game 角色。 現在當這些成員登入時,就只會看到包含其所適用資料的報表。

[資料列層級安全性] 畫面的螢幕擷取畫面。

在 Power BI 服務中測試角色

您可透過選取 [資料列層級安全性] 畫面上位於 Game 角色旁邊的省略符號 (),然後選取 [以角色測試] 來測試角色。

省略符號按鈕和 [以角色測試] 選項的螢幕擷取畫面。

這項選取會在 Power BI 服務中,根據角色成員身分來顯示報表。

就是這麼簡單! 我們已在 Power BI 中成功實作資料列層級安全性。