你当前正在访问 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/executeQueryMicrosoft.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 数据操作管理吞吐量。