共用方式為


Microsoft Fabric 中 Cosmos DB 中的授權

Microsoft Fabric 中的 Cosmos DB 主要依賴Microsoft Entra ID 驗證和內建數據平面角色來管理驗證和授權。 在本指南中,您會為 Fabric 資料庫中的 Cosmos DB 設定內建的數據平面角色。 您可以在 Microsoft Fabric 存取控制中使用工作區角色來設定 Cosmos DB 的存取權。

兩個不同層級的訪問控制會一起運作。 例如,若要 連線 到資料庫,用戶必須至少有 Fabric 資料庫專案的 讀取 許可權。

存取控制

在 Fabric 中,您可以使用 Fabric 工作區角色來控制存取權。 Microsoft Fabric 工作區角色管理使用者在工作區中可以執行哪些操作。

首先,Fabric 中的 Cosmos DB 具有項目層級許可權,並擁有三個明確定義的角色:

能力
讀取 連接到資料庫、讀取項目、查詢項目、讀取變更摘要、列出容器、讀取輸送量和讀取元數據
ReadAll Read 相同的功能,並另外直接從 OneLake 檔案讀取鏡像數據
寫入 ReadAll 相同的功能,並另外建立容器、刪除容器、建立專案、刪除專案、修改專案

Fabric 中的工作區角色會轉譯為 Fabric 中 Cosmos DB 內專案的下列專案層級許可權:

管理員 會員 撰稿人 觀看者
讀取 ✅ 是 ✅ 是 ✅ 是 ✅ 是
ReadAll ✅ 是 ✅ 是 ✅ 是 ✅ 是
寫入 ✅ 是 ✅ 是 ✅ 是 ✖️ 不

另一個觀點是,此數據表會擷取使用者可能需要的 Cosmos DB 資料庫通用功能,並將其對應至正確的工作區角色:

管理員 會員 撰稿人 觀看者
完整系統管理存取和完整數據存取 ✅ 是 ✅ 是 ✅ 是 ✖️ 不
讀取數據和元數據 ✅ 是 ✅ 是 ✅ 是 ✅ 是
連線至資料庫 ✅ 是 ✅ 是 ✅ 是 ✅ 是

小提示

如需角色在工作區內運作方式的詳細資訊,請參閱 工作區中的角色。 如需指派工作區角色的詳細資訊,請參閱 授與使用者工作區的存取權

映射到 Azure

如果您熟悉適用於 NoSQL 的 Azure Cosmos DB,您可以將 Fabric 項目許可權中的 Cosmos DB 對應至該服務的內建資料平面角色:

Cosmos DB 資料庫專案許可權相當於下列 Azure Cosmos DB 資料庫範圍數據平面角色指派。

適用於 NoSQL 的 Azure Cosmos DB 角色 Scope
讀取 Cosmos DB Built-in Data Reader 資料庫
ReadAll Cosmos DB Built-in Data Reader 資料庫
寫入 Cosmos DB Built-in Data Contributor 資料庫

或者,如果您想要的話,您可以對應至 Azure 角色型訪問控制許可權:

適用於 NoSQL 的 Azure Cosmos DB 角色 Scope
讀取 [ "Microsoft.DocumentDB/databaseAccounts/readMetadata", "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read", "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery", "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed" ] 資料庫
ReadAll [ "Microsoft.DocumentDB/databaseAccounts/readMetadata", "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read", "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery", "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed" ] 資料庫
寫入 [ "Microsoft.DocumentDB/databaseAccounts/readMetadata", "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*", "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*" ] 資料庫