使用 Power BI Desktop 的資料列層級安全性 (RLS) 可用來限制指定的使用者的資料存取。 篩選會限制資料列層級的資料。 您可以在角色中定義篩選。

注意:

RLS 屬於 Pro 功能。 您可以深入了解什麼是 Pro 內容

您現在可以使用 Power BI Desktop 為匯入 Power BI 的資料模型設定 RLS。 您也可以針對使用 DirectQuery (如 SQL Server) 的資料集設定 RLS。 先前,您只能夠在 Power BI 外部的內部部署 Analysis Services 模型實作 RLS。 您可以在內部部署模型上,為 Analysis Services 即時連線設定資料列層級安全性。 即時連線資料集不會顯示安全性選項。

重要事項:

如果您在 Power BI 服務中定義角色/規則,就必須在 Power BI Desktop 中重新建立這些角色,並將報表發佈至服務。

深入了解 Power BI 服務內的 RLS 的選項。

在 Power BI Desktop 中定義角色和規則

您可以在 Power BI Desktop 中定義角色和規則。 當發行至 Power BI 時,也會發行角色定義。

如果想要利用動態安全性,您必須啟用預覽切換 [啟用 DirectQuery 的雙向交叉篩選功能]。 這會啟用交叉篩選的功能,並在兩個方向都套用安全性篩選。

若要定義安全性角色,您可以執行下列作業。

  1. 將資料匯入 Power BI Desktop 報表,或設定 DirectQuery 連線。

    注意:

    您不能在 Power BI Desktop 中定義 Analysis Services 即時連線的角色。 您必須在 Analysis Services 模型中執行此作業。

  2. 選取 [模型] 索引標籤。

  3. 選取 [管理角色]。

  4. 選取 [建立]。

  5. 提供角色名稱。

  6. 選取要套用 DAX 規則的資料表。

  7. 輸入 DAX 運算式。 此運算式應該傳回 true 或 false。 例如:[Entity ID] = “Value”。

    注意:

    這個運算式中可以使用 username()*。 請注意,*username() 在 Power BI Desktop 中的格式為「網域\使用者名稱」。 在 Power BI 服務中的格式則是使用者的 UPN。

  8. 建立 DAX 運算式之後,您可以選取運算式上方的核取方塊,以驗證運算式。

  9. 選取 [儲存]。

您無法將使用者指派給 Power BI Desktop 內的角色。 Power BI 服務會在內部完成此作業。 您可以使用 username() DAX 函數以及設定合適的關聯性,藉此在 Power BI Desktop 中啟用動態安全性。

在 Power BI Desktop 中驗證角色

建立角色之後,您就可以在 Power BI Desktop 中測試角色的結果。 若要這樣做,請選取 [以角色身分檢視]。

[以角色身分檢視] 對話方塊可讓您變更正在查看的特定使用者或角色的檢視。 您會看到您所建立的角色。

選取已建立的角色,然後選取 [確定] 將該角色套用到您正在檢視的內容。 報表只會呈現與該角色相關的資料。

您也可以選取 [其他使用者] 並提供指定的使用者。 最好提供使用者主體名稱 (UPN),因為這正是 Power BI 服務會使用的。 選取 [確定],報表就會顯示該使用者可以看到的內容。

注意:

如果您使用的是以 DAX 運算式為基礎的動態安全性,在 Power BI Desktop 中,這只會顯示不同的結果。

限制

以下是雲端模型的資料列層級安全性目前限制清單。

  • 如果先前已在 Power BI 服務中定義了角色/規則,就必須在 Power BI Desktop 中重新加以建立。
  • 您只能在使用 Power BI Desktop 用戶端建立的資料集上定義 RLS。 如果您想要針對使用 Excel 建立的資料集啟用 RLS,則必須先將檔案轉換成 PBIX 檔案。 深入了解
  • 只支援 ETL 和 DirectQuery 連線。 Analysis Services 即時連接是在內部部署模型中處理。
  • RLS 目前不支援問與答及 Cortana。 如果所有模型都已設定 RLS,您將不會看到儀表板的 [問與答] 輸入方塊。 這已在規劃中,但未建立時間軸。
  • 使用 RLS 的資料集目前不支援外部共用。

已知問題

已知問題:如果嘗試從 Power BI Desktop 發行已發行過的內容,會收到錯誤訊息。 案例如下。

  1. Anna 有個發佈到 Power BI 服務的資料集,並已設定 RLS。

  2. Anna 更新了 Power BI Desktop 中的報表,然後重新發行。

  3. Anna 會收到錯誤。

因應措施︰從 Power BI 服務重新發行 Power BI Desktop 檔案,直到此問題解決為止。 您可以選取 [Get Data](取得資料) > [檔案] 以執行此動作。

常見問題集

問題︰如果先前曾在 Power BI 服務中建立了資料集的角色/規則會如何? 如果什麼都不做,它們還可以運作嗎? 答: 否。 視覺效果不會正確呈現。 您必須在 Power BI Desktop 內重新建立角色/規則,然後將其發行至 Power BI 服務。

問題︰我可以為 Analysis Services 資料來源建立這些角色嗎? 回答︰如果已將資料匯入 Power BI Desktop 就可以。 如果您使用的是即時連線,就無法在 Power BI 服務中設定 RLS。 這定義在內部部署 Analysis Services 模型中。

另請參閱

使用 Power BI 服務的資料列層級安全性 (RLS)
有其他問題嗎? 試試 Power BI 社群