Share via


角色型存取控制 (RBAC)

OneLake RBAC 會使用角色指派將許可權套用至其成員。 您可以將角色指派給個人或安全組、Microsoft 365 群組和通訊組清單。 使用者群組中的每個成員都會取得指派的角色。

如果某人位於兩個或多個安全組或 Microsoft 365 群組中,他們就會取得角色所提供的最高層級許可權。 如果您巢狀使用者群組並將角色指派給群組,則所有包含的使用者都有許可權。

OneLake RBAC 可讓使用者只定義 Lakehouse Items 的數據存取角色

OneLake RBAC 會限制具有工作區 查看器 或 Lakehouse 讀取許可權的用戶資料存取。 它不適用於工作區 管理員、成員或參與者。 因此,OneLake RBAC 僅支援讀取許可權層級。

如何建立 RBAC 角色

您可以透過 Lakehouse 資料存取設定來定義及管理 OneLake RBAC 角色。

若要深入瞭解,請參閱 開始使用數據存取角色

Lakehouse 中的預設 RBAC 角色

當使用者建立新的 Lakehouse 時,OneLake 會產生名為 Default Readers的預設 RBAC 角色。 角色可讓具有 ReadAll 許可權的所有使用者讀取 Item 中的所有資料夾。

以下是預設角色定義:

網狀架構專案 角色名稱 權限 包含的資料夾 指派的成員
Lakehouse DefaultReader ReadAll 和下 Tables/ 的所有資料夾 Files/ 具有 ReadAll 許可權的所有使用者

注意

若要限制特定使用者或特定資料夾的存取權,您必須修改預設角色,或將其移除並建立新的自定義角色。

OneLake RBAC 中的繼承

對於任何指定的資料夾,OneLake RBAC 許可權一律會繼承至資料夾檔案和子資料夾的整個階層。

例如,假設 OneLake 中湖屋的下列階層。

Tables/
──── (empty folder)
Files/
────folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
│   
└───folder2
    │   file21.txt

針對指定的階層,OneLake RBAC 許可權會 Role1 以下列方式繼承和 Role2 繼承:

作用 許可 許可權中定義的資料夾 繼承許可權的資料夾和檔案
Role1 folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Role2 folder2
    │   file21.txt

OneLake RBAC 中的周遊和清單

OneLake RBAC 提供父項目的自動周遊,以確保數據易於探索。 授與使用者 Read to subfolder11 授與使用者列出及周遊父目錄資料夾1 的能力。 這項功能類似於 Windows 資料夾許可權,其中授與子資料夾的存取權可提供父目錄的探索和周遊。 授與父代的清單和周遊不會延伸到直接父系以外的其他專案,以確保其他資料夾保持安全。

例如,假設 OneLake 中湖屋的下列階層。

Tables/
──── (empty folder)
Files/
────folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
│   
└───folder2
    │   file21.txt

針對指定的階層,『Role1』 的 OneLake RBAC 許可權會提供下列存取權。 請注意,無法看見file11.txt的存取權,因為它不是子資料夾11 的父系。 同樣地,Role2 也看不到file111.txt。

作用 許可 許可權中定義的資料夾 繼承許可權的資料夾和檔案
Role1 subfolder11
Files/
────folder1
│   │
│   └───subfolder11
│       │   file111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Role2 subfolder111
Files/
────folder1
│   │
│   └───subfolder11
|       │
│       └───subfolder111
|            │   file1111.txt

對於快捷方式,清單行為稍有不同。 外部數據源的快捷方式的行為與資料夾相同,但其他 OneLake 位置的快捷方式具有特殊行為。 OneLake 快捷方式的存取權取決於快捷方式的目標許可權。 列出快捷方式時,不會呼叫 來檢查目標存取權。 因此,當列出目錄時,無論使用者存取目標為何,都會傳回所有內部快捷方式。 當使用者嘗試開啟快捷方式時,存取檢查將會評估,而且使用者只會看到他們具有所需許可權的數據。 如需快捷方式的詳細資訊,請參閱 快捷方式安全性一節。

下列範例使用下列資料夾階層。

Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
作用 許可 許可權中定義的資料夾 列出檔案的結果
Role1 folder1
Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
Role2 N/A N/A
Files/
│   
└───shortcut2
|
└───shortcut3

如何使用網狀架構許可權評估 OneLake RBAC 許可權

工作區和項目許可權可讓您為指定的專案授與 OneLake 中數據的「粗略」存取權。 OneLake RBAC 許可權可讓您將 OneLake 中的數據存取限制為特定資料夾。

顯示許可權評估順序與工作區、專案和 RBAC 的圖表。

OneLake RBAC 和工作區許可權

工作區許可權是 OneLake 內數據的第一個安全性界限。 每個工作區都代表單一網域或專案區域,小組可以在數據上共同作業。 您可以透過 Fabric 工作區角色管理工作區中的安全性。 深入瞭解網狀架構角色型訪問控制 (RBAC): 工作區角色

Fabric 中的工作區角色會在 OneLake 中授與下列許可權。

權限 系統管理員 成員 參與者 檢視人員
在 OneLake 中檢視檔案 永遠* 是 永遠* 是 永遠* 是 默認為否。 使用 OneLake RBAC 來授與存取權。
在 OneLake 中寫入檔案 永遠* 是 永遠* 是 永遠* 是 No

注意

*由於工作區 管理員,成員和參與者角色會自動將寫入許可權授與 OneLake,因此它會覆寫任何 OneLake RBAC 讀取許可權。

工作區角色 OneLake 是否套用 RBAC 讀取許可權?
管理員、參與者、成員 否,OneLake 安全性會忽略任何 OneLake RBC 讀取許可權
檢視者 是,如果已定義,將會套用 OneLake RBAC 讀取許可權

OneLake RBAC 和 Lakehouse 許可權

在工作區中,網狀架構專案可以分別設定與工作區角色的許可權。 您可以透過共享專案或管理專案的許可權來設定許可權。 下列許可權可決定使用者對 OneLake 中的數據執行動作的能力。

Lakehouse 許可權

Lakehouse 許可權 可以在 OneLake 中檢視檔案嗎? 可以在 OneLake 中寫入檔案嗎? 可以透過 SQL 分析端點讀取資料嗎?
參閱 預設不會,使用 OneLake RBAC 來授與存取權。 No No
ReadAll 默認為 [是]。 使用 OneLake RBAC 來限制存取。 No No
寫入 Yes .是 Yes
Reshare、ViewOutput、ViewLogs N/A - 無法自行授與 N/A - 無法自行授與 N/A - 無法自行授與

OneLake RBAC 和 Lakehouse SQL 分析端點許可權

SQL 分析端點是從 Microsoft Fabric 中的 Lakehouse 自動產生的倉儲。 客戶可以從 Lakehouse 的 “Lake” 檢視(支持數據工程和 Apache Spark)轉換為相同 Lakehouse 的 “SQL” 檢視。 在數據倉儲檔中深入瞭解 SQL 分析端點 :SQL 分析端點

SQL 分析端點許可權 用戶可以透過 OneLake 端點檢視檔案? 用戶可以透過 OneLake 端點寫入檔案? 用戶可以透過 SQL 分析端點讀取資料?
參閱 預設不會,使用 OneLake RBAC 來授與存取權。 No 預設不會,但可以使用 SQL 細微許可權進行設定
ReadData 默認為否。 使用 OneLake RBAC 來授與存取權。 No Yes
寫入 Yes .是 Yes

OneLake RBAC 和預設 Lakehouse 語意模型許可權

在 Microsoft Fabric 中,當使用者建立 Lakehouse 時,系統也會佈建相關聯的預設語意模型。 默認語意模型在 Lakehouse 數據之上具有計量。 語意模型可讓Power BI載入報表的數據。

默認語意模型許可權 可以在 OneLake 中檢視檔案嗎? 可以在 OneLake 中寫入檔案嗎? 可以在語意模型中查看架構嗎? 可以在語意模型中讀取數據嗎?
參閱 預設不會,使用 OneLake RBAC 來授與存取權。 No No 默認為 [是]。 可以使用Power BI物件層級安全性和Power BI資料列層級安全性來限制
建立 默認為 [是]。 使用 OneLake RBAC 來限制存取。 Yes .是 Yes
寫入 Yes .是 .是 Yes
Reshare N/A - 無法自行授與 N/A - 無法自行授與 N/A - 無法自行授與 N/A - 無法自行授與

Lakehouse 共用和 OneLake RBAC 許可權

當用戶共用 Lakehouse 時,他們會將其他使用者或一組使用者存取權授與 Lakehouse,而不授與工作區及其其餘專案的存取權。 您可以在 Microsoft Fabric 中透過數據中樞或 [與我共用] 區段找到共用 Lakehouse。

當有人共用 Lakehouse 時,他們也可以授與 SQL 端點的存取權和相關聯的預設語意模型。

Lakehouse 授與人員存取畫面的螢幕快照。

共用選項 可以在 OneLake 中檢視檔案嗎? 可以在 OneLake 中寫入檔案嗎? 可以透過 SQL 分析端點讀取資料嗎? 可以檢視及建置語意模型嗎?
未選取其他許可權 預設不會,使用 OneLake RBAC 來授與存取權。 No No
讀取所有 Apache Spark 默認為 [是]。 使用 OneLake RBAC 來限制存取。 No No
讀取所有 SQL 端點數據 預設不會,使用 OneLake RBAC 來授與存取權。 No .是 No
在預設數據集上建置報表 默認為 [是]。 使用 OneLake RBAC 來限制存取。 No Yes

深入了解資料共享許可權模型:

捷徑

內部快捷方式中的 OneLake RBAC

對於 Lakehouse 中的任何資料夾,RBAC 許可權一律會繼承至此資料夾定義為目標的所有 內部快捷方式

當使用者透過另一個 OneLake 位置的快捷方式存取數據時,呼叫使用者的身分識別會用來授權存取快捷方式目標路徑中的數據*。 因此,此使用者必須在目標位置擁有 OneLake RBAC 許可權,才能讀取數據。

重要

透過 Power BI語意模型T-SQL存取快捷方式時,呼叫使用者的身分識別不會傳遞至快捷方式目標。 呼叫項目擁有者的身分識別會改為傳遞,並委派對呼叫使用者的存取權。

不允許定義內部快捷方式的 RBAC 許可權,而且必須在目標專案的目標資料夾上定義。 由於定義 RBAC 許可權僅限於 Lakehouse 專案,因此 OneLake 只會針對以 Lakehouse 專案中的資料夾為目標的快捷方式啟用 RBAC 許可權。

下表指定是否支持對應的快捷方式案例來定義 OneLake RBAC 許可權。

內部快捷方式案例 支援的 OneLake RBAC 許可權? 註解
Lakehouse1 中的快捷方式,指向位於相同 lakehouse 中的 folder2。 支援。 若要限制存取快捷方式中的數據,請定義 folder2 的 OneLake RBAC。
Lakehouse1 中的快捷方式,指向位於另一個 lakehouse2 的 folder2 支援。 若要限制快捷方式中數據的存取,請在 lakehouse2 中定義 folder2 的 OneLake RBAC。
Lakehouse 中的快捷方式,指向位於數據倉儲中的 數據表 不支援。 OneLake 不支援在數據倉儲中定義 RBAC 許可權。 存取權會改為根據 ReadAll 許可權來決定。
Lakehouse 中的快捷方式,指向位於 KQL 資料庫中的 數據表 不支援。 OneLake 不支援在 KQL 資料庫中定義 RBAC 許可權。 存取權會改為根據 ReadAll 許可權來決定。

外部快捷方式中的 OneLake RBAC(ADLS、S3、Dataverse)

OneLake 支援為 ADLS、S3 和 Dataverse 快捷方式快捷方式定義 RBAC 許可權。 在此情況下,RBAC 模型會套用 到針對此類型快捷方式啟用的委派授權模型之上

假設 user1 會在 Lakehouse 中建立 S3 快捷方式,指向 AWS S3 貯體中的資料夾。 然後 user2 嘗試存取此快捷方式中的數據。

S3 連線 ion 是否授權委派使用者的存取權1? OneLake RBAC 是否授權要求使用者的存取權2? 結果:user2 是否可以存取 S3 快捷方式中的數據?
Yes .是 .是
.是
.是 No

必須針對快捷方式的整個範圍定義 RBAC 許可權(整個目標資料夾),但以遞歸方式繼承至其所有子資料夾和檔案。

深入瞭解 OneLake 快捷方式中的 S3、ADLS 和 Dataverse 快捷方式

OneLake RBAC 的限制

下表提供 OneLake 資料存取角色的限制。

案例 限制
每個網狀架構專案的 OneLake RBAC 角色數目上限 每個 Lakehouse 專案最多 250 個角色。
每個 OneLake RBAC 角色的成員數目上限 每個角色最多500個用戶和使用者群組。
每個 OneLake RBAC 角色的許可權數目上限 每個角色最多500個許可權

OneLake RBAC 中的延遲

  • 如果您變更 OneLake RBAC 角色定義,OneLake 大約需要 5 分鐘才能套用更新的定義。
  • 如果您在 OneLake RBAC 角色中變更使用者群組,OneLake 需要大約一小時的時間,才能將角色的許可權套用至更新的使用者群組。