PowerBI實現行級別安全性 RLS

2021-10-21 16:38:43 字數 3251 閱讀 7948

microsoft power bi 允許將報表和工作區共享到 active directory 使用者和組,從而幫助保護報表和工作區。 你還可以共享單個報表,但根據使用者的工作角色使使用者看到不同的資料。

假設企業有銷售情況/員工資訊/產品列表等3個表。

你想要建立乙個報表,其中特定部門的員工只能看到該部門的銷售情況。 例如,maria cameron 在遊戲部門工作,應該只能看到遊戲部門的銷售情況,看不到運動、服裝或汽車部門的銷售情況。

此資料以星型架構進行組織。 銷售表包含事實資料表的所有屬性,而員工和產品表則是維度表。 資料模型如以下螢幕截圖所示。

在 power bi 中實現行級別安全性的兩種方法是:靜態方法和動態方法。

行級別安全性 (rls) 使用 dax 篩選器作為核心邏輯機制。 本模組將演示如何使用 dax 在 power bi 中實現行級別安全性,以確保只有相應人員才能看到相應記錄。

行級別安全性 (rls) 中的靜態方法使用 dax 篩選器中的固定值,而動態方法則使用 dax 函式。

rls 包含多個配置步驟,應按以下順序完成這些步驟:

在 microsoft power bi desktop 中建立報表。

匯入資料。

確認兩個表之間的資料模型。

建立報表視覺物件。

使用 dax 在 power bi desktop 中建立 rls 角色。

在 power bi desktop 中測試角色。

將報表部署到 microsoft power bi 服務。

將成員新增到 power bi 服務中的角色。

測試 power bi 服務中的角色。

若要在 power bi desktop 中建立 rls 角色,請選擇「建模」選項卡,然後選擇「管理角色」。

在「管理角色」頁上,選擇「建立」。

power bi 行級別安全性 (rls) 使用 dax 來控制哪些使用者可以檢視哪些資料。 可以將此過程視為始終向相應使用者新增額外篩選器,無論這些使用者在 power bi 報表上選擇哪些篩選器、切片器或互動。

在「管理角色」頁上,為每個部門建立乙個角色,然後向該角色新增乙個 dax 表示式。 例如,可以建立乙個名為「遊戲」的角色,然後新增 dax 表示式 [department] = "遊戲"。 每當該角色的成員與報表進行互動時,power bi 都會將該篩選器新增到他們的互動中,從而限制他們所看到的內容。

篩選器等號右側使用的是固定值(在本例中,此值為「遊戲」)。 這樣做的目的是,如果需要新增類別,則需要在 dax 表示式中建立乙個具有新值的新角色。

請注意對維度表應用 dax 篩選器的方式。 以星型架構組織資料時,行級別安全性表現會更好。 將 dax 篩選器應用於維度表,操作方式與產品表相同。

dax 篩選器應用於使用者使用的每個互動、切片器和篩選器。 如果 dax 篩選器效能不佳,則會對使用者體驗產生負面影響。 因此,請使 dax 篩選器盡可能簡單。

可以通過選擇「建模」選項卡,然後選擇「以角色身份檢視」來驗證篩選器是否正常工作。

在「以角色身份檢視」視窗中,選擇「遊戲」角色。 現在,報表將你當做擁有該角色來呈現內容,而你只會看到遊戲部門中包含的記錄。//可以使用 power bi desktop 和 power bi 服務測試 rls

通過再次選擇「以角色身份檢視」,然後選擇「無」可以撤消此篩選器。

若要將成員新增到 power bi 服務中的角色,請轉到 power bi 服務中的工作區。 查詢以與報表相同的名稱建立的資料集。 選擇省略號(「...」)按鈕,然後選擇「安全性」。

在「行級別安全性」螢幕中,可以將 microsoft azure active directory (azure ad) 使用者和安全組新增到安全角色。 將成員新增到此角色後,系統將向這些成員應用你之前定義的 dax 篩選器。 如果成員未新增到該角色中,但他們有權訪問該報表,則 rls 將不會向他們應用篩選器。 可以將遊戲部門中的三名人員新增到「遊戲」角色。 現在,在這些成員登入後,他們看到的報表將僅包含適用於他們的資料。

通過在「行級別安全性」螢幕上選擇「遊戲」角色旁邊的省略號(「...」),然後選擇「以角色身份測試」,可以測試 power bi 服務中的角色。

選擇此選項後,系統會將你當做是 power bi 服務中的角色成員來顯示報表。

可以只設定一次行級別安全性,而無需繼續動態維護它。

作為 tailwind traders 的管理員,你需要 power bi 行級別安全性僅向達成銷售的人員的顯示相關銷售資訊。 在本示例中,russel king 達成了四筆銷售。 當 russel 訪問報表時,應該只能看到他負責的銷售,而不會看到其他銷售資訊。 僅需進行一次更改即可完全按照之前的配置方式配置行級別安全性。 只需要建立乙個角色,而不是建立四個角色。 該角色的 dax 篩選器如下圖所示。

請注意使用行級別安全篩選器中的 dax 函式,而不是使用固定字串(如「遊戲」或「服裝」)。 函式userprincipalname()會將員工表中的電子郵件位址與使用者在登入 power bi 服務時輸入的電子郵件位址進行比較。 如果 russel king 使用電子郵件位址[email protected]登入到 power bi 服務,系統會將該值與員工表中的電子郵件位址進行比較。 假設在員工與銷售之間建立了關係,則 russel 只能看到他的四筆銷售。

參照:

醫療器械軟體安全性級別判定

根據 醫療器械軟體註冊技術審查指導原則 的要求,對於含軟體的醫療器械,均應在註冊時提交 軟體描述文件 而軟體描述文件的詳略程度,直接由軟體的安全性級別和複雜程度來決定。因此,確定在編制乙個醫療器械軟體的描述文件時,首先要確定的就是該軟體的安全性級別。根據yy t 0664 醫療器械軟體軟體生存週期過...

FTP伺服器如何實現安全性

原文 ftp伺服器如何實現安全性 作為internet 上的ftp 伺服器,系統的安全性是非常重要的,這是建立 ftp伺服器者所考慮的第乙個問題。其安全性主要包括以下幾個方面 一 未經授權的使用者禁止在伺服器上進行ftp操作。二 ftp使用者不能讀取未經系統所有者允許的檔案或目錄。三 未經允許,ft...

FTP伺服器如何實現安全性

作為internet上的ftp伺服器,系統的安全性是非常重要的,這是建立ftp伺服器者所考慮的第乙個問題。其安全性主要包括以下幾個方面 一 未經授權的使用者禁止在伺服器上進行ftp操作。二 ftp使用者不能讀取未經系統所有者允許的檔案或目錄。三 未經允許,ftp使用者不能在伺服器上建立檔案或目錄。四...