適用於 NoSQL 的 Azure Cosmos DB 會在其原生角色型存取控制實作中公開一組唯一的數據動作和角色。 本文包含這些動作和角色的清單,其中包含每個資源授與哪些許可權的描述。
警告
適用於 NoSQL 的 Azure Cosmos DB 原生角色型存取控制不支援 notDataActions 屬性。 未指定為允許 dataAction 的任何動作都會自動排除。
內建動作
以下是可在角色定義中個別設定的數據動作清單。
| 說明 | |
|---|---|
Microsoft.DocumentDB/databaseAccounts/readMetadata |
從帳戶讀取數據平面作業所需的元數據 |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create |
建立新專案 |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read |
使用分割區索引鍵和唯一標識符執行點讀取來讀取特定專案 |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace |
取代現有的專案 |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/upsert |
如果新專案不存在或取代現有的專案,請建立新專案 |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/delete |
刪除專案 |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery |
執行 NoSQL 查詢 |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed |
從容器的變更摘要讀取 |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeStoredProcedure |
執行預存程式 |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/manageConflicts |
使用衝突摘要管理帳戶的衝突 |
備註
若要使用軟體開發工具組執行 NoSQL 查詢,您必須同時擁有 Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery 和 Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed 許可權。
數據動作通配符
容器和專案層級都支援通配符。
| 說明 | |
|---|---|
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/* |
執行所有容器特定的作業,例如執行查詢、讀取變更摘要、管理衝突,以及執行預存程式 |
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/* |
執行所有專案特定的作業,例如建立、讀取、更新、取代和刪除專案 |
內建角色
適用於 NoSQL 的 Azure Cosmos DB 會定義數據平面特定的角色定義。 這些角色與 Azure 角色型訪問控制角色定義不同。
Cosmos DB 內建資料讀者
識別碼: 00000000-0000-0000-0000-000000000001
-
包含的動作
Microsoft.DocumentDB/databaseAccounts/readMetadataMicrosoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/readMicrosoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQueryMicrosoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed
Cosmos DB 內建資料參與者
識別碼: 00000000-0000-0000-0000-000000000002
-
包含的動作
Microsoft.DocumentDB/databaseAccounts/readMetadataMicrosoft.DocumentDB/databaseAccounts/sqlDatabases/containers/*Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/*
必要的元數據
Azure Cosmos DB 軟體開發工具套件 (SDK) 會在初始化期間發出唯讀元數據要求,並提供特定資料要求。 這些要求會擷取各種設定詳細資料,例如:
- 帳戶的全域設定,其中包含帳戶可用的 Azure 區域
- 容器的數據分割索引鍵或其索引編製原則
- 建立容器及其地址的實體分割區清單
- 它們不會擷取儲存在您的帳戶中的任何數據
為了確保許可權模型的最佳透明度,數據動作會明確涵蓋 Microsoft.DocumentDB/databaseAccounts/readMetadata 這些元數據要求。 在透過其中一個 Azure Cosmos DB SDK 存取 Azure Cosmos DB 帳戶的每個情況下,都必須允許此動作。
動作可以在 Azure Cosmos DB 帳戶階層中的任何層級指派,包括帳戶、資料庫或容器。 允許的實際元數據要求取決於範圍:
-
帳戶
- 列出帳戶底下的資料庫
- 針對帳戶下的每個資料庫,資料庫範圍中允許的動作
-
資料庫
- 讀取資料庫元數據
- 列出資料庫底下的容器
- 針對資料庫下的每個容器,容器範圍中允許的動作
-
容器
- 讀取容器元數據
- 列出容器底下的實體分割區
- 解析每個實體分割區的位址
這很重要
您無法使用 Microsoft.DocumentDB/databaseAccounts/readMetadata 資料動作來管理輸送量。