你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Cosmos DB for NoSQL 数据平面操作参考
适用范围: NoSQL
部署指南序列图,包括以下位置,顺序为:概述、概念、准备、基于角色的访问控制、网络和参考。 “参考”位置当前已突出显示。
Azure Cosmos DB for NoSQL 会在其本机基于角色的访问控制实现中公开一组唯一的数据操作。 本文包含这些操作的列表,以及针对每个操作授予哪些权限的说明。
警告
Azure Cosmos DB for NoSQL 的本机基于角色的访问控制不支持 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 |
使用冲突源管理帐户的冲突 |
注意
若要使用软件开发工具包 (SDK) 执行 NoSQL 查询,必须同时具有 Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery
和 Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed
权限。
数据操作通配符
容器和项级别均支持通配符。
说明 | |
---|---|
Microsoft.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 帐户层次结构的任何级别(包括帐户、数据库或容器)都可以分配该操作。 允许的实际元数据请求取决于范围:
- 客户
- 列出帐户下的数据库
- 对于帐户下的每个数据库,数据库作用域允许的操作
- Database
- 读取数据库元数据
- 列出数据库下的容器
- 对于数据库下的每个容器,容器作用域允许的操作
- 容器
- 读取容器元数据
- 列出容器下的物理分区
- 解析每个物理分区的地址
重要
无法使用 Microsoft.DocumentDB/databaseAccounts/readMetadata
数据操作管理吞吐量。