權限模型
Microsoft Fabric 具有靈活的權限模型,可讓您控制組織中資料的存取。 本文說明 Fabric 中不同類型的權限,以及它們如何一起運作,以控制組織中資料的存取。
工作區是在 Fabric 中對項目進行分組的邏輯實體。 工作區角色會定義工作區的存取權限。 雖然項目儲存在一個工作區中,但可以跨 Fabric 與其他使用者共用。 當您共用 Fabric 項目時,可以決定向與您共用專案的使用者授與哪些權限。 某些專案,例如 Power BI 報表,可更細微地控制資料。 可以設定報表,以便根據其權限,檢視報表的使用者只會看到他們持有的部分資料。
工作區角色
工作區角色可用來控制工作區及其中內容的存取權。 Fabric 管理員可以將工作區角色指派給個別使用者或群組。 工作區角色受限於特定工作區,且不適用於其他工作區、工作區所處的容量或租用戶。
有四個工作區角色,它們適用於工作區內的所有項目。 沒有任何這些角色的使用者無法存取工作區。 角色如下:
檢視人員 - 可以檢視工作區中的所有內容,但無法加以修改。
參與者 - 可以檢視和修改工作區中的所有內容。
成員 - 可以檢視、修改及共用工作區中的所有內容。
管理員 - 可以檢視、修改、共用和管理工作區中的所有內容,包括管理權限。
下表顯示每個角色擁有的一小組功能。 如需完整且更詳細的清單,請參閱 Microsoft Fabric 工作區角色。
功能 | 管理員 | 成員 | 參與者 | 檢視者 |
---|---|---|---|---|
刪除工作區 | ✅ | ❌ | ❌ | ❌ |
新增管理員 | ✅ | ❌ | ❌ | ❌ |
新增成員 | ✅ | ✅ | ❌ | ❌ |
寫入資料 | ✅ | ✅ | ✅ | ❌ |
建立項目 | ✅ | ✅ | ✅ | ❌ |
讀取資料 | ✅ | ✅ | ✅ | ✅ |
項目權限
項目權限可用來控制工作區內個別 Fabric 項目的存取權。 項目權限僅限於特定項目,且不適用於其他項目。 使用項目權限來控制誰可以在工作區中檢視、修改及管理個別項目。 您可以使用項目權限,在使用者無權存取的工作區中為其授與單一項目的存取權。
當您與使用者或群組共用項目時,可以設定項目權限。 共用項目預設會將該項目的讀取權限授與使用者。 讀取權限可讓使用者查看該項目的中繼資料,並檢視與其相關聯的任何報表。 不過,讀取權限不允許使用者在 SQL 或 OneLake 中存取基礎資料。
不同的 Fabric 項目有不同的權限。 若要深入了解每個項目的權限,請參閱:
計算權限
您也可以在 Fabric 中的特定計算引擎內設定權限,特別是透過 SQL 分析端點或在語意模型中。 計算引擎權限可啟用更細微的資料存取控制,例如資料表和資料列層級安全性。
SQL 分析端點 - SQL 分析端點提供 OneLake 中資料表的直接 SQL 存取,而且可以透過 SQL 命令以原生方式設定安全性。 這些權限僅適用於透過 SQL 進行的查詢。
語意模型 - 語意模型允許使用 DAX 來定義安全性。 使用 DAX 定義的限制適用於透過語意模型或以語意模型為基礎的 Power BI 報表來查詢的使用者。
您可以在下列文章中找到更詳細的資訊:
OneLake 權限 (資料存取角色)
OneLake 有自己的權限,可透過 OneLake 資料存取角色控管 OneLake 中檔案和資料夾的存取權。OneLake 資料存取角色可讓使用者在 Lakehouse 內建立自訂角色,並在存取 OneLake 時,只授與指定資料夾的讀取權限。 針對每個 OneLake 角色,使用者可以指派使用者、安全性群組,或根據工作區角色授與自動指派。
深入了解 OneLake 資料存取控制模型並檢視操作指南。
運算順序
Fabric 有三個不同的安全性層級。 使用者必須具有每個層級的存取權,才能存取資料。 每個層級都會循序進行評估,以判斷使用者是否具有存取權。 安全性規則 (例如 Microsoft 資訊保護原則) 會在指定的層級進行評估,以允許或不允許存取。 評估 Fabric 安全性時的操作順序為:
- Entra 驗證:檢查使用者是否能夠向 Microsoft Entra 租用戶進行驗證。
- Fabric 存取:檢查使用者是否可以存取 Microsoft Fabric。
- 資料安全性:檢查使用者是否可以針對資料表或檔案執行要求的動作。
範例
本節提供如何在 Fabric 中設定權限的兩個範例。
範例 1:設定團隊權限
Wingtip Toys 為整個組織設定了一個租用戶以及三個容量。 每個容量代表不同的區域。 Wingtip Toys 在美國、歐洲和亞洲運營。 每個容量都有組織中每個部門的工作區,包括銷售部門。
銷售部門有經理、銷售團隊負責人和銷售團隊成員。 Wingtip Toys 還為整個組織聘請了一位分析師。
下表顯示銷售部門中每個角色的需求,以及如何設定權限以啟用它們。
角色 | 需求 | 設定 |
---|---|---|
經理 | 檢視和修改整個組織中銷售部門的所有內容 | 組織中所有銷售工作區的成員角色 |
團隊負責人 | 檢視和修改特定區域中銷售部門的所有內容 | 區域中銷售工作區的成員角色 |
銷售團隊成員 | ||
分析人員 | 檢視整個組織中銷售部門的所有內容 | 組織中所有銷售工作區的檢視人員角色 |
Wingtip 也有一份季度報告,其中列出每個銷售成員的銷售收入。 此報表會儲存在財務工作區中。 透過使用資料列層級安全性,會設定報表,以便每個銷售成員只能看到自己的銷售數字。 團隊領導人可以看到其區域中所有銷售成員的銷售數字,而銷售經理可以看到組織中所有銷售成員的銷售數字。
範例 2:工作區和項目權限
當您共用項目或變更其權限時,工作區角色不會變更。 本節中的範例顯示工作區和項目權限的互動方式。
Veronica 和 Marta 合作。 Veronica 是報告的擁有者,她想與 Marta 共用報告。 如果 Veronica 與 Marta 共用報告,則無論 Marta 擁有的工作區角色為何,她都能存取報告。
假設 Marta 在儲存報告的工作區中擁有檢視人員角色。 如果 Veronica 決定從報告中移除 Marta 的項目權限,Marta 仍然可以在工作區中檢視報告。 Marta 也可以從工作區中開啟報告,並檢視其內容。 這是因為 Marta 擁有工作區的檢視權限。
如果 Veronica 不想讓 Marta 檢視報告,則從報告中移除 Marta 的項目權限是不夠的。 Veronica 也需要從工作區中移除 Marta 的檢視人員權限。 若沒有工作區檢視人員權限,Marta 將無法看到報告存在,因為她無法存取工作區。 Marta 也無法使用報告的連結,因為她無法存取報告。
現在 Marta 沒有工作區檢視人員角色,如果 Veronica 決定再次與她共用報告,Marta 將能夠使用 Veronica 與她共用的連結來檢視報告,而不需要存取工作區。
範例 3:Power BI 應用程式權限
共用 Power BI 報告時,您通常會希望收件者只能存取報告,而不能存取工作區中的項目。 為此,您可以使用 Power BI 應用程式,或直接與使用者共用報告。
此外,您可以使用資料列層級安全性 (RLS) 來限制檢視人員存取資料,使用 RLS,您可以建立可存取資料特定部分的角色,並限制只傳回使用者身分可存取之內容的結果。
使用匯入模型時,這會正常運作,因為資料被匯入語意模型中,且收件者可以做為應用程式的一部分來存取它。 透過 DirectLake,報告可直接從 Lakehouse 中讀取資料,而報告收件者必須能夠存取湖中的這些檔案。 您可以透過數種方式來執行此動作:
- 直接在 Lakehouse 中授與
ReadData
權限。 - 將資料來源認證從單一登入 (SSO) 切換為可存取湖中檔案的固定身分。
由於在語意模型中定義了 RLS,因此會先讀取資料,然後篩選資料列。
如果在建置報告的 SQL 分析端點中定義了任何安全性,查詢會自動復原到 DirectQuery 模式。 如果您不需要此預設復原行為,可以使用原始 Lakehouse 中資料表的捷徑來建立新的 Lakehouse,而不是在新 Lakehouse 的 SQL 中定義 RLS 或 OLS。