Azure Cosmos DB for Table 在其本机基于角色的访问控制实现中公开一组唯一的数据作和角色。 本文包含这些作和角色的列表,其中介绍了为每个资源授予哪些权限。
警告
Azure Cosmos DB for Table 的本机基于角色的访问控制不支持该 notDataActions 属性。 自动排除未被指定为允许的任何操作。
内置操作
下面是可在角色定义中单独设置的数据作的列表。
| Description | |
|---|---|
| Microsoft.DocumentDB/databaseAccounts/readMetadata | 读取一些帐户元数据 | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/executeQuery | 针对表执行查询 | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/executeStoredProcedure | 执行表事务(过程) | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/create | 创建新实体(项) | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/read | 点使用行键和分区键读取单个实体(项) | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/replace | 完全替换现有实体(项) | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/upsert | 如果实体不存在,则创建实体(项),或者替换实体(如果已存在) | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/delete | 删除实体(项) | 
| Microsoft.DocumentDB/databaseAccounts/throughputSettings/read | 读取当前吞吐量 | 
| Microsoft.DocumentDB/databaseAccounts/throughputSettings/write | 修改当前吞吐量 | 
| Microsoft.DocumentDB/databaseAccounts/tables/write | 创建或更新表 | 
| Microsoft.DocumentDB/databaseAccounts/tables/delete | 删除表 | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/write | 创建或更新容器 | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/delete | 删除容器 | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/readChangeFeed | 从容器的更改源中读取 | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/manageConflicts | 管理多写入区域帐户的冲突(列出和删除冲突源中的项) | 
数据作通配符
作级别*tablescontainers支持通配符 (entities) 运算符。 使用通配符授予对特定资源类型的广泛访问权限。
| Description | |
|---|---|
| Microsoft.DocumentDB/databaseAccounts/tables/* | 对表执行所有作 | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/* | 对容器执行所有作 | 
| Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/* | 对实体执行所有作(项) | 
| Microsoft.DocumentDB/databaseAccounts/throughputSettings/* | 执行与吞吐量相关的所有作 | 
作所需的元数据
Azure Cosmos DB 软件开发工具包(SDK)在初始化期间发出只读元数据请求,并提供特定数据请求。 这些请求提取各种配置详细信息,例如:
- 帐户的多区域配置,其中包括帐户可用的 Azure 区域
- 容器的分区键或其索引策略
- 创建容器及其地址的物理分区列表
- 它们不会提取存储在帐户中的任何数据
为了确保权限模型的最佳透明度,数据作显式涵盖 Microsoft.DocumentDB/databaseAccounts/readMetadata 这些元数据请求。 在每次通过某个 Azure Cosmos DB SDK 访问 Azure Cosmos DB 帐户时,都必须允许此作。
可以在 Azure Cosmos DB 帐户的层次结构(包括帐户、数据库或容器)的任何级别分配该作。 允许的实际元数据请求取决于范围:
- 
              帐户
- 列出帐户下的数据库
- 对于帐户下的每个数据库,数据库范围内的允许作
 
- 
              表
- 读取表元数据
- 列出表下的容器
- 对于表下的每个容器,容器范围内的允许作
 
- 
              容器
- 读取容器元数据
- 列出表下的物理分区
- 解析每个物理分区的地址
 
重要
无法使用数据作管理吞吐量 Microsoft.DocumentDB/databaseAccounts/readMetadata 。
内置角色
用于表的 Azure Cosmos DB 定义特定于数据平面的角色定义。 这些角色不同于 Azure 基于角色的访问控制角色定义。
Cosmos DB 内置数据读取者
              ID: 00000000-0000-0000-0000-000000000001
- 
              包含的操作
- Microsoft.DocumentDB/databaseAccounts/readMetadata
- Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/read
 
Cosmos DB 内置数据参与者
              ID: 00000000-0000-0000-0000-000000000002
- 
              包含的操作
- Microsoft.DocumentDB/databaseAccounts/readMetadata
- Microsoft.DocumentDB/databaseAccounts/tables/*
- Microsoft.DocumentDB/databaseAccounts/tables/containers/entities/*