Power BI 报表服务器中的行级别安全性 (RLS)
在 Power BI Desktop 中定義角色和規(guī)則
你可以在 Power BI Desktop 中定義角色和規(guī)則。發(fā)布到 Power BI 時,它還會發(fā)布角色定義。
若要定義安全角色,請執(zhí)行以下步驟。
將數(shù)據(jù)導(dǎo)入 Power BI Desktop 報表,或配置 DirectQuery 連接。
備注
不能在 Power BI Desktop 中為 Analysis Services 實時連接定義角色。需要在 Analysis Services 模型中執(zhí)行此操作。
選擇“建模” 選項卡。
選擇“管理角色” 。
選擇“創(chuàng)建” 。
為角色提供名稱。
選擇你想要應(yīng)用 DAX 規(guī)則的表。
輸入 DAX 表達式。此表達式應(yīng)返回 true 或 false。例如:[實體 ID] =“值”。
備注
可以在此表達式內(nèi)使用username()。請注意,username() 在 Power BI Desktop 中采用“域用戶名”格式 。在 Power BI 服務(wù)和 Power BI 報表服務(wù)器中,采用用戶的用戶主體名稱 (UPN) 格式。或者,可以使用 userprincipalname(),它始終返回采用其用戶主體名稱格式 username@contoso.com 的用戶 。
創(chuàng)建 DAX 表達式后,你可以選擇表達式框上方的“檢查”以驗證該表達式。
備注
在此表達式框中,即使使用的區(qū)域設(shè)置通常使用分號分隔符(例如,法語或德語),也要使用逗號分隔 DAX 函數(shù)參數(shù)。
選擇保存。
無法在 Power BI Desktop 中將用戶分配到角色。在 Power BI 服務(wù)中分配用戶。通過使用 username() 或 userprincipalname() DAX 函數(shù)并配置好正確的關(guān)系,則可以啟用 Power BI Desktop 中的動態(tài)安全。
雙向交叉篩選
默認情況下,行級別安全性篩選采用單向篩選器,無需考慮關(guān)系是設(shè)置為單向還是雙向。可以手動啟用具有行級別安全性的雙向交叉篩選器。
選擇關(guān)系并選中“雙向應(yīng)用安全性篩選器”復(fù)選框 。
基于用戶名或登錄 ID 實現(xiàn)動態(tài)行級別安全性時,請選中此框。
若要了解更多信息,請參閱在 Power BI Desktop 中使用 DirectQuery 的雙向交叉篩選和保護表格 BI 語義模型技術(shù)白皮書。
在 Power BI Desktop 中驗證角色
創(chuàng)建角色后,請在 Power BI Desktop 中測試角色結(jié)果。
選擇“以角色身份查看” 。
在“以角色身份查看”中,可以看到創(chuàng)建的角色 。
選擇創(chuàng)建的角色 >“確定”,應(yīng)用該角色 。報表呈現(xiàn)與該角色相關(guān)的數(shù)據(jù)。
你還可以選擇其他用戶,并提供給定用戶 。最好提供用戶主體名稱 (UPN),因為 Power BI 服務(wù)和 Power BI 報表服務(wù)器使用該名稱。
選擇“確定”,報表將基于該用戶所見呈現(xiàn)內(nèi)容 。
在 Power BI Desktop 中,如果使用的是基于 DAX 表達式的動態(tài)安全,“其他用戶”僅顯示不同的結(jié)果 。
向角色添加成員
在 Power BI 報表服務(wù)器中保存報表后,便可在服務(wù)器上管理安全性并添加或刪除成員。只有具有報表的發(fā)布者或內(nèi)容管理器權(quán)限的用戶才能使用行級別安全性選項,并且該選項不會呈灰色。
如果報表沒有所需角色,則需要在 Power BI Desktop 中打開報表,添加或修改角色,然后將其保存回 Power BI 報表服務(wù)器。
在 Power BI Desktop 中,將報表保存到 Power BI 報表服務(wù)器。需要使用更適合 Power BI 報表服務(wù)器的 Power BI Desktop 版本。
在 Power BI 報表服務(wù)中,請選擇報表旁邊的省略號(…)? 。
選擇“管理” > “行級別安全性” 。
在“行級別安全性”頁上,將成員添加到在 Power BI Desktop 中創(chuàng)建的角色 。
若要添加成員,請選擇“添加成員” 。
在文本框中以用戶名格式(域用戶)輸入用戶或組,并選擇要為其分配的角色。成員需在你的組織內(nèi)。
根據(jù)配置 Active Directory 的方式,在此處輸入“用戶主體名稱”同樣有效。在此情況下,報表服務(wù)器會在列表中顯示相應(yīng)用戶名。
單擊“確定”進行應(yīng)用 。
若要刪除成員,請選擇成員名稱旁邊的框并選擇“刪除” 。一次可以刪除多個成員。
username() 和 userprincipalname()
可在數(shù)據(jù)集內(nèi)利用 DAX 函數(shù) username() 或 userprincipalname()。可在 Power BI Desktop 中的表達式內(nèi)使用它們。發(fā)布模型時,Power BI 報表服務(wù)器將使用它們。
在 Power BI Desktop 中,username() 返回采用域用戶格式的用戶,userprincipalname() 返回采用 user@contoso.com 格式的用戶。
在 Power BI Desktop 中,username() 和 userprincipalname() 均返回用戶的“用戶主體名稱 (UPN)”,類似于電子郵件地址。
如果在 Power BI 報表服務(wù)器中使用自定義身份驗證,則會返回為用戶設(shè)置的用戶名格式。
限制
以下是 Power BI 模型上有關(guān)行級別安全性的當前限制。
使用 username() DAX 函數(shù)生成報表的用戶現(xiàn)在將注意到新的行為,該行為會返回用戶主體名稱 (UPN),但配合使用 DirectQuery 和集成安全性時除外。由于該場景中不考慮 RLS,因此該場景中的行為保持不變。
只能在使用 Power BI Desktop 創(chuàng)建的數(shù)據(jù)集上定義 RLS。若要為使用 Excel 創(chuàng)建的數(shù)據(jù)集啟用 RLS,首先必須將你的文件轉(zhuǎn)換為 Power BI Desktop (PBIX) 文件。了解關(guān)于Excel 文件的詳細信息。
只支持使用已存儲憑據(jù)的提取、轉(zhuǎn)換、加載 (ETL) 和 DirectQuery 連接。連接到分析服務(wù)的實時連接和使用集成身份驗證的 DirectQuery 連接均在底層數(shù)據(jù)源中進行處理。
如果配合使用集成安全性和 DirectQuery,用戶可能會注意到:
已禁用 RLS,且已返回所有數(shù)據(jù)。
用戶不能更新其角色分配,并且在“RLS 管理”頁上收到錯誤。
對于 DAX 用戶名函數(shù),仍繼續(xù)按“域用戶”接收用戶名。
在 Power BI 報表服務(wù)器中,報表作者無權(quán)查看報表數(shù)據(jù),除非他們在上傳報表后為自己分配了相應(yīng)角色。
總結(jié)
以上是生活随笔為你收集整理的Power BI 报表服务器中的行级别安全性 (RLS)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV学习——轮廓检测
- 下一篇: Latex 箭头、下标、符号上下写文字、