你当前正在访问 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