共用方式為


角色型存取控制 (RBAC)

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

若某人屬於兩個或多個安全性群組或 Microsoft 365 群組,其會獲得角色提供的最高層級權限。 如果巢狀使用者群組並將角色指派給群組,則所有包含的使用者都會取得該角色的權限。

OneLake RBAC 允許使用者僅為 Lakehouse 項目定義資料存取角色。

對於具工作區檢視人員或讀取存取權的使用者,OneLake RBAC 會限制其對 lakehouse 資料的存取權。 不適用於工作區管理員、成員或參與者。 因此,OneLake RBAC 僅支援讀取層級權限。

如何建立 RBAC 角色

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

如欲深入了解,請參閱開始使用資料存取角色

Lakehouse 預設 RBAC 角色

當使用者建立新 lakehouse 時,OneLake 會產生名為 Default Readers 的預設 RBAC 角色。 此角色允許具 ReadAll 權限的所有使用者讀取項目的所有資料夾。

以下是預設角色定義:

Fabric 項目 角色名稱 權限 包含資料夾 已指派成員
Lakehouse DefaultReader ReadAll Tables/Files/ 的所有資料夾 具 ReadAll 權限的所有使用者

注意

為限制特定使用者或特定資料夾的存取權,您必須修改預設角色,或加以移除並建立新自訂角色。

OneLake RBAC 的繼承

對於任何指定資料夾,OneLake RBAC 權限一律繼承到該資料夾的所有檔案與子資料夾的整個階層。

例如,假設 OneLake 的 lakehouse 具下列階層。

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

對於指定階層,Role1Role2 的 OneLake RBAC 權限繼承方式如下:

角色 權限 權限定義的資料夾 繼承權限的資料夾與檔案
Role1 讀取 folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
Role2 讀取 folder2
    │   file21.txt

OneLake RBAC 的周遊及列舉

OneLake RBAC 提供上層項目的自動周遊,以確保易於搜尋資料。 授與使用者讀取 subfolder11 權限,可讓使用者列舉並周遊上層目錄 folder1。 此功能類似 Windows 資料夾權限,其中授予子資料夾存取權即可搜尋及周遊上層目錄。 授與上層目錄周遊及列舉功能不會擴展至直接上層目錄以外的其他項目,確保其他資料夾保持安全。

例如,假設 OneLake 的 lakehouse 具下列階層。

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

對於指定階層,「Role1」的 OneLake RBAC 權限提供以下存取權。 請注意,對 file11.txt 的存取不可見,因其並非 subfolder11 的上層目錄。 同理,對於 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

如何使用 Fabric 權限評估 OneLake RBAC 權限

工作區與項目權限可讓您針對指定項目授與 OneLake 「粗粒度」資料存取權。 OneLake RBAC 權限可讓您限制 OneLake 資料存取權為僅限特定資料夾。

圖表顯示使用工作區、項目與 RBAC 的權限評估順序。

OneLake RBAC 與工作區權限

工作區權限是 OneLake 內資料的第一個安全性邊界。 每個工作區代表單一網域或專案區域,團隊可在其中進行資料協作。 您可透過 Fabric 工作區角色管理工作區安全性。 深入了解 Fabric 角色型存取控制 (RBAC):工作區角色

Fabric 工作區角色會在 OneLake 授與下列權限。

權限 系統管理員 成員 參與者 檢視人員
在 OneLake 檢視檔案 一律*包含 一律*包含 一律*包含 否,依照預設。 使用 OneLake RBAC 授與存取權。
在 OneLake 寫入檔案 一律*包含 一律*包含 一律*包含 No

注意

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

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

OneLake RBAC 與 Lakehouse 權限

在工作區內,Fabric 項目權限可與工作區角色分開設定。 您可透過共用項目或管理項目權限來設定權限。 下列權限決定使用者對 OneLake 資料執行動作的能力。

Lakehouse 權限

Lakehouse 權限 可否在 OneLake 檢視檔案? 可否在 OneLake 寫入檔案? 可否透過 SQL 分析端點讀取資料?
參閱 否,依照預設,請使用 OneLake RBAC 授與存取權。 No No
ReadAll 是,依照預設。 使用 OneLake RBAC 限制存取權。 No No
寫入 Yes .是 Yes
執行、重新共用、ViewOutput、ViewLogs 不適用 - 不能單獨授與 不適用 - 不能單獨授與 不適用 - 不能單獨授與

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 不適用 - 不能單獨授與 不適用 - 不能單獨授與 不適用 - 不能單獨授與 不適用 - 不能單獨授與

Lakehouse 共用與 OneLake RBAC 權限

當使用者共用 lakehouse時,其會向其他使用者或一組使用者授與 lakehouse 存取權,而不會授與工作區與其他項目的存取權。 您可透過「資料中樞」或 Microsoft Fabrics「與我共用」區段找到共用 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 捷徑指向位於 datawarehouse 的資料表 不支援。 OneLake 不支援在 datawarehouse 定義 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 連線是否會向委派 user1 授予存取權? OneLake RBAC 是否會向提出要求的 user2 授予存取權? 結果: user2 可否在 S3 捷徑存取資料?
Yes .是
.是
.是 No

必須針對捷徑的整個範圍 (整個目標資料夾) 定義 RBAC 權限,但該權限會以遞回方式繼承到所有子資料夾與檔案。

深入了解 OneLake 捷徑的 S3、ADLS 與 Dataverse 捷徑。

OneLake RBAC 限制

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

案例 限制
每個 Fabric 項目的 OneLake RBAC 角色數量上限 每個 lakehouse 項目最多 250 個角色。
每個 OneLake RBAC 角色的成員數量上限 每個角色最多 500 名使用者與使用者群組。
每個 OneLake RBAC 角色的權限數量上限 每個角色最多 500 個權限

OneLake RBAC 延遲

  • 若您變更 OneLake RBAC 角色定義,OneLake 約需要 5 分鐘才能套用更新定義。
  • 若您變更 OneLake RBAC 角色的使用者群組,OneLake 約需一小時才能將角色權限套用至更新使用者群組。